Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „<? ... ?> in <?php ... ?> ?“

Daniel_Knecht

PSD-Mitglied

Hallo,
ich habe hier einen Script der zwar super funktioniert aber nicht angezeigt wird. Es handelt sich hierbei um einen auslese befehl für einen Counter.

Ich habe alle Download etc. in einem php &var befehl stehen und möchte jetzt aber noch zu dem Downloads die Anzahl der Downloads einer Datei angezeigt haben.

Mein Script sieh so aus:

PHP:
<?php 
$var_2 = '
<table width="100%" border="0">
                  <tr>
                    <td width="100" height="100" align="center"><img src="../../../images/database/spore/gebaude/Haus.gif" width="100" height="100"></td>
                    <td align="left" valign="top"><p><u>Beschreibung:</u><br>
                      <font size="-1"><strong>Normales Haus</strong> der Spezies &quot;Menschen&quot;</font><br>
                        </p>
                      </td>
                    <td width="50" align="center" valign="bottom"><a href="/dlcounter/count.php?id=4"><img src="../../../images/database/spore/download.gif" width="50" height="40" border="0"></a></td>
                  </tr>
                </table>
                <table width="100%" border="0">
                  <tr>
                    <td width="33%" align="left">&nbsp;</td>
                    <td width="33%" align="left">&nbsp;</td>
                    <td width="33%" align="right"><font size="-1">Downloads: <b><? auslesen("4");?></b></font></td>
                  </tr>
                </table>
';
?>

Das Problem ist dieser Code:

PHP:
<? auslesen("4");?>

Dieser wird nicht angezeigt. Also anstatt da die Zahl der DL´s auf der Seite stehen steht nichts da.

Kann man dieser "<? auslesen("4");?>" irgendwie so umschreiben das dieser in dem php &var befehl funktioniert?
 

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

Das "auslesen" holst sich die daten aus einer txt datei wie oft eine datei (also die Datei id:4) schon runtergeladen wurde. Das Auslesen greift noch auf einen anderen Script vorher zurück der aber funktioniert. Das habe ich schon getestet. Wenn du mir den befehl mit dem echo zeigst währe das super denn ich wüsste jetzt grad nicht wie ich das mit dem echo schreiben soll.
 

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

Nein das funktioniert nicht.

Da steht dann direkt der befehl da anstatt dieser ausgelesen wird. Irgendwie haut da was mit dem php & var befehl net hin kA :'(
 

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

Das Auslesen hab bzw benutze ich um die Anzahl der Download von einer bestimmten Datei zu zählen bzw. anzeigen zu lassen. dieses auslesen("ID") greift auf einen script zurück der das ganze zusammenzählen etc. macht.
 

Christian

verpeilt & verschallert

AW: <? ... ?> in <?php ... ?> ?

PHP:
<?php 
$var_2 = '
<table width="100%" border="0">
                  <tr>
                    <td width="100" height="100" align="center"><img src="http://www.psd-tutorials.de/images/database/spore/gebaude/Haus.gif" width="100" height="100"></td>
                    <td align="left" valign="top"><p><u>Beschreibung:</u><br>
                      <font size="-1"><strong>Normales Haus</strong> der Spezies &quot;Menschen&quot;</font><br>
                        </p>
                      </td>
                    <td width="50" align="center" valign="bottom"><a href="/dlcounter/count.php?id=4"><img src="http://www.psd-tutorials.de/images/database/spore/download.gif" width="50" height="40" border="0"></a></td>
                  </tr>
                </table>
                <table width="100%" border="0">
                  <tr>
                    <td width="33%" align="left">&nbsp;</td>
                    <td width="33%" align="left">&nbsp;</td>
                    <td width="33%" align="right"><font size="-1">Downloads: <b>'.auslesen("4").'</b></font></td>
                  </tr>
                </table>
';
?>
Das sollte Dein Problem eigentlich beheben, sofern die Funktion auslesen einen return-Wert hat und kein Sprachkonstrukt benutzt (echo/print/print_r)
 
Zuletzt bearbeitet:

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

Ah so steht zumindest schon mal eine Zahl da. Der Nachteil ist die steht jetzt ganz am Anfang der Seite obwohl sie in der Tabelle nach Downloads: stehen sollte.
 

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

PHP:
<?

function auslesen($id)

                {

                $idvalue=FALSE;

                $datei ="../../dlcounter/data/counter.txt";

                if (file_exists($datei))

                               {

                               $file=file($datei);

                $datei = fopen($datei, "r");

                               foreach ($file as $line)

                                               {

                                               $exp_line = explode("|", $line);

                                               if ($exp_line[0] == $id)

                                                               {

                                               $idvalue=TRUE;

                                               $counter=$exp_line[1];

                                                               $date=$exp_line[2];

                                                               $time=$exp_line[3];

                                                               fclose($datei);

                                                               echo "$counter";

                                               }

                                               }

                                               if ($idvalue==FALSE)

                                                               {

                                                               echo "0";

                                                               }                             

                               }

                else

                               {

                               echo "0";

                               }

                }

 

 

?>
 

Christian

verpeilt & verschallert

AW: <? ... ?> in <?php ... ?> ?

Ersetze die Funktion mal hiermit:
PHP:
<?

function auslesen($id)

                {

                $idvalue=FALSE;

                $datei ="../../dlcounter/data/counter.txt";

                if (file_exists($datei))

                               {

                               $file=file($datei);

                $datei = fopen($datei, "r");

                               foreach ($file as $line)

                                               {

                                               $exp_line = explode("|", $line);

                                               if ($exp_line[0] == $id)

                                                               {

                                               $idvalue=TRUE;

                                               $counter=$exp_line[1];

                                                               $date=$exp_line[2];

                                                               $time=$exp_line[3];

                                                               fclose($datei);

                                                               return "$counter";

                                               }

                                               }

                                               if ($idvalue==FALSE)

                                                               {

                                                               return "0";

                                                               }                             

                               }

                else

                               {

                               return "0";

                               }

                }

 

 

?>
 

Daniel_Knecht

PSD-Mitglied

AW: <? ... ?> in <?php ... ?> ?

JAAA jetzt ist alles so wie es sein soll :)

Jetzt muss ich nur noch gucken was genau du da geändert hast ^^

Ich spreche schon mal ein FETTES DANKE aus :)
 

Christian

verpeilt & verschallert

AW: <? ... ?> in <?php ... ?> ?

Was ich geändert hab ist kurz und knapp geschildert:
1. Schritt: Keine echos in der Funktion benutzen sondern RETURN, d.h. Die Funktion sendet nicht direkt an den Browser, sondern an die Stelle ( in diesem Fall die Variable $var_2 ), von der aus sie aufgerufen wurde.
2. Schritt: Der Aufruf der Funktion auslesen selber. Da Du einen HTML String der Variable IN PHP zuweist, kann man <? auslesen(4); ?> in diesem Fall nicht benutzen, denn dafür hätte der HTML Text außerhalb des PHP Quelltextes stehen müssen.
Auch hier ein kleines Beispiel:
PHP:
<?
$meine_var = '<div><? auslesen(4); ?></div>';#falsch!

$meine_var = '<div>'. auslesen(4) .'</div>';#richtig!
?>
oder:
PHP:
<? /*
irgendein code
*/ ?>
<div><b>ansfon</b><br />
<?=auslesen(4); #richtig!
?>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.156
Beiträge
2.581.859
Mitglieder
67.222
Neuestes Mitglied
Gregor
Oben