Userbilder ausgeben

Indem du vorher die ID des Nutzers ermittelst, für die Spalte ID den Zusatz "auto_increment" deaktivierst und die NutzerID ebenfalls mit in das Query übergibst:
SQL:
INSERT INTO users (UserID, UserPicFilename) VALUES (x, y)
Für das x musst du natürlich die NutzerID, für y dementsprechend den Dateinamen einsetzen.
 
So vielleicht:
PHP:
$sql = 'INSERT INTO users (UserID, UserPicFilename) VALUES(' . (int) $_SESSION['user_id'] . ', "' . mysql_real_escape_string($uploadfile) . '")';
 
Mit dieser SQL Anweisung fügst du einen neuen Datensatz in die Tabelle ein ("INSERT INTO").
Wenn der User bereits angelegt ist und du nur seine Daten mit dem Bild aktuallisieren willst, dann musst du es wie folgt ändern:

PHP:
$sql = "UPDATE users SET UserPicFilename ='" . mysql_real_escape_string($uploadfile) ."' WHERE user ='" .$_SESSION['user_id'] ."' LIMIT 1";
 
Zuletzt bearbeitet:
Hallo danke für die Hilfe,

aber es funktioniert immer noch nicht. Die Daten werden nicht in der DB gespeichert.
Weiß evtl. jemand woran es liegen kann?

EDIT:

Habe den Fehler gefunden (ich Idiot!)!
Ich habe vergessen die checkuser.php einzubinden.
Aber wie kann ich das Bild nun auf der Userseite wieder ausgeben?
Mit <?php echo [..] ?> geht das ja nicht. Richtig?
Also muss ja etwas anderes her. Nur was?
 
Zuletzt bearbeitet:
Du hast ja den Dateinamen des Bildes in die DB gespeichert, also liest du ihn auch wieder aus:
PHP:
$sql = "SELECT UserPicFilename FROM users WHERE id=".$userid;
$result = mysql_query($sql);

$obj = mysql_fetch_object($result);
if (file_exists($obj->UserPicFilename))
  echo "<img src=\"".$obj->UserPicFilename."\" alt=\"Benutzerbild von".$username."\">";
else
  echo "<img src=\"images/not_found.jpg\" alt=\"Benutzerbild wurde nicht gefunden\">";

Ich denke aber, dass du auf der Profilseite bereits am Anfang des Codes ein MySQL-Query hast. Somit brauchst du es nicht doppelt abfragen.
 
Hallo,

danke aber dies ergibt folgender Fehler:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource .

bezieht sich auf die Zeile: $obj = mysql_fetch_object($result);
 
Danke (=

aber dann wird mir nur ausgegeben, dass kein Userbild gefunden wurde. Es ist aber auf meinem "Test" Profil ein Bild vorhanden.
 
Zurück