PHP Variable in HTML
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anbindung
art
benutzerdaten
bild
code
frage
glauben
hund
inhalt
klammern
korrekt code
machen
problem
reihenfolge
setzen
spalte
vergessen
vermutung
vollen zugriff
warnung
-
Ich habe noch ein Problem:
Ich habe das Skript:
<?php $Id = $_GET['user']; $sql = "SELECT ". " * ". "FROM ". "benutzerdaten ". "WHERE ". "(".Nickname." like '".$Id."')"; $result = mysql_query ($sql); $data = mysql_fetch_array ($result); $Nick = $data["Nickname"]; $pic = $data["Bild"]; ?> <img src='<?=$pic?>' width="100" height='100'></td> <td width='64%'>Hey <?php echo $user ?> !<p>Dies ist deine persönliche Startseite. Hier siehst du, was es neues für dich gibt.</td> </tr> </table>
In der Zeile "<img src='<?=$pic?>' width="100" height='100'></td>" sollte eigentlich der Inhalt von $pic ausgegeben werden.
Es funktioniert aber nicht. Mache ich was falsch?? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Richtig du machst was falsch....
So isses Korrekt --->
<img src='<? echo $pic; ?>' width="100" height='100'></td>
Hf... Cracker
Beitrag zuletzt geändert: 1.3.2009 20:52:02 von cracker0dks -
cracker0dks schrieb:
Richtig du machst was falsch....
So isses Korrekt --->
<img src='<? echo $pic; ?>' width="100" height='100'></td>
Hf... Cracker
Geht leider immer noch nicht
In der Variable $pic ist ein Link zu einem Bild. Vielleicht hilft das? -
Das Snippet von cracker0dks ist korrekt.
Was passiert nun? Wird eine Fehlermeldung ausgeben?
-
Also, das Skript sieht jetzt so aus:
<?php $Id = $_GET['user']; $sql = "SELECT ". " * ". "FROM ". "benutzerdaten ". "WHERE ". "(".Nickname." like '".$Id."')"; $result = mysql_query ($sql); $data = mysql_fetch_array ($result); $Nick = $data["Nickname"]; $pic = $data["Bild"]; ?> <img src='<? echo $pic; ?>' width="100" height='100'></td> <td width='64%'>Hey <?php echo $user ?> !<p>Dies ist deine persönliche Startseite. Hier siehst du, was es neues für dich gibt.</td> </tr> </table> </center>
Nach dem Hochladenn habe ich im Quelltext gesehen, dass in <img src= garnichts steht
Es wird keine Fehlermeldung ausgegeben, sondern es kommt einfach kein Bild. -
cracker0dks schrieb:
Aber in der Datenbank steht das bild drinne, die Spalte heißt "Bild" und der username wird auch ausgegeben ???
hf Cracker
PS: wenn das der komplette Quellcode ist fehlt die verbindung zur Datenbank!
Verbindung ist da!
Username geht ja auch !
Aber dieses Bild leider nicht
Könnt Ihr mir bitte helfen? Ist sehr wichtig
Beitrag zuletzt geändert: 1.3.2009 21:28:33 von davy -
Schreib das mal an den Anfang deiner Seite in PHP code
error_reporting(E_ALL);
und schau ob dir jetzt warnungen angezeigt werden!.... wenn das nichts hilft dann versuch mal dein Bildlink von Hand erstmal reinzuschreiben in die Variable $pic und schau obs dann angezeigt wird also einfach
$data = mysql_fetch_array ($result); $Nick = $data["Nickname"]; $pic = $data["Bild"]; $pic = 'irgendeinbildlink.jpg';
hf Cracker -
Hi, ich habe den Fehler in dem SQL Query gefunden:
$sql = "SELECT ".
" * ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(".$Nickname." like '".$Id."')";
So lautet es richtig:
<?php $Id = $_GET['user']; $sql = "SELECT ". " * ". "FROM ". "benutzerdaten ". "WHERE ". "(".$Nickname." like '".$Id."')"; $result = mysql_query ($sql); $data = mysql_fetch_array ($result); $Nick = $data["Nickname"]; $pic = $data["Bild"]; ?> <img src='<? echo $pic; ?>' width="100" height='100'></td> <td width='64%'>Hey <?php echo $user ?> !<p>Dies ist deine persönliche Startseite. Hier siehst du, was es neues für dich gibt.</td> </tr> </table> </center>
Du hast einfach das $ vor Nickname vergessen!
MfG
Steffen
Beitrag zuletzt geändert: 15.3.2009 12:28:12 von fusballmanager -
übrigens reicht kein <? echo"$pic" ?>
du musst src '<?php echo "$pic"' setzen.
beachte bitte die reihenfolge der doppelten und einfachen anführungszeichen!
eine variable wird nur in doppelten ausgegeben, die gesamte src muss in einzelne, damit sie sich nicht gegenseitig stören.
und wenn schon beginnt das sauber mit nem <?php und nicht mit <? ^^ -
Schreibe mitte statt $result = myql_query($sql) folgendes hin: $result = mysql_query($sql) OR die(mysql_error());
Mir scheint nähmlich, dass dein Query falsch ist. Zumindest glaube ich, dass die Klammern beim WHERE fehlerhaft sind.
Mir ist auch nicht ganz klar, was das ".Nickname." wirklich soll. Man macht ja immer etwas der Art Spalte LIKE irgendwas. Aber ".Nickname." sieht mir weniger nach einer spaltenbezeichnung als nach einer Konstante aus. Also würd ich mal sagen einfach Nickname LINK ".$ID." statt (".Nickname." LIKE ".$Id.")
Zudem hoffe ich, dass dieses Script niemals eingesetzt wird, da es eine (echt fette) Sicherheitslücke enthält. Ich hoffe dir ist bewusst, dass ich durch dein Script vollen Zugriff auf deine Datenbank habe? Du musst nähme $Id = mysql_real_escape_string($_GET['user']); -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage