Neben einem Thumbnail, weitere Bilder aus einer Datenbank anzeigen

Fehler in upload.php, Zeile 103...

PHP:
$sql3 = "UPDATE picture SET id={$_SESSION["id"]}, thumbnail='$filename2' WHERE id = {$_SESSION["id"]}";

Du hast da bei dir 2 x "==" bei der WHERE Bedingung!

Es ist definitv so das die Funktion zu Übertragen der Thumbs nicht aufgerufen wird! Habe ihr einen anderen Namen gegeben und dann versucht ein Bild hochzuladen. Es wurde kein Fehler angezeigt.
 
Zuletzt bearbeitet:
Also ich Blicke noch nicht so ganz durch.

Aber du hast 2 Formen und 2 Submit Buttons in der Seite. Weder die Formen noch die Buttons haben das name-Tag.

Ich befürchte das beim Funktionsaufruf nicht korrekt unterschieden wird ob jetzt ein Bild oder ein Thumbnail hochgeladen wird. Komisch ist nämlich das die Fehlermeldung in der Funktion ausgegeben wird die für die "normalen" Bilder zuständig ist.

Oder täusche ich mich da?

Hallo tombe.
Was meinst du mit namen-tag? Die Formularfelder sind in der upload.php in der die funktion.php eingebunden wird. Bei den normalen Bildern funktioniert der upload ja, aber beim thumbnail nicht :(
Du täuschst dich übrigens nicht, ich kann mir auch nicht erklären, warum die Funktion für die normalen Bilder aufgerufen wird, obwohl ich eindeutug die 2. Funktion in der upload.php anspreche :(
 
Fehler in upload.php, Zeile 103...

PHP:
$sql3 = "UPDATE picture SET id={$_SESSION["id"]}, thumbnail='$filename2' WHERE id = {$_SESSION["id"]}";

Du hast da bei dir 2 x "==" bei der WHERE Bedingung!

Es ist definitv so das die Funktion zu Übertragen der Thumbs nicht aufgerufen wird! Habe ihr einen anderen Namen gegeben und dann versucht ein Bild hochzuladen. Es wurde kein Fehler angezeigt.

Ja, lieben Dank, komm da immer durcheinander mit zuweisen und vergleichen (PHP/SQL) . Hab es abgeändert, aber tut sich noch immer nichts, noch kein Eintrag in der Datenbank, geschweige ein Upload oder eine Anzeige ... hmmm :( Ich habe die Funktion auch nochmal umbenannt und dann versucht ein Thumbnail hochzuladen. Bei mir kam im Contentbereich nach wie vor die Fehlermeldung aus der ersten Funktion (Falsches Dateiformat!)
 
Zuletzt bearbeitet:
Hallo "tombe",
habe es leider noch nicht geschafft, das Problem zu beheben. Falls du irgendwas erreicht hast, würde ich mich freuen wieder von dir zu lesen.

Gruß
Kerstin
 
Hi Kerstin,

ich hänge mal die Dateien "upload.php" und "funktionen.php" hier dran.
In der "upload.php" habe ich wie oben geschrieben den Button einen Namen gegeben: name="bild" und name="thumb".
Dann habe ich bei in Zeile 24 und in Zeile 85 die IF-Abfrage so erweitert das geprüft wird welcher Button gedrückt wurde. Dadurch wird jetzt auch die richtige Funktion ausgeführt und kein Fehler wegen falschem Dateiformat mehr angezeigt.

Wenn ich ein Thumbnail-Bild hochlade, wird das Bild im Verzeichnis "thumbnail/thumb" gespeichert jedoch in der Vorsch nicht angezeigt und auch nicht in der Datenbank eingetragen.
Diesen Fehler habe ich noc nicht gelöst. Denke mal das hier mit deinen Pfadangaben bzw. der SQL-Anweisung nicht stimmt.

Schau dir das bitte mal selber nochmal an und melde dich dann was du festgestellt hast.

Gruß Thomas

NACHTRAG ZUM SPEICHERN:
Wenn du die SQL-Answeisung ($sql3) wie folgt änderst, wird entweder ein neuer Eintrag gemacht oder der vorhandene Eintrag geändert:

PHP:
$sql3="INSERT INTO picture (id, thumbnail) VALUES ({$_SESSION["id"]}, '$filename2') ON DUPLICATE KEY UPDATE thumbnail = '$filename2'";
 
Zuletzt bearbeitet:
Weitere Fehler in "upload.php":

Wenn du die Zeilen 224 bis 232 wie folgt änderst, wird das Thumbnail-Bild auch angezeigt:

PHP:
$result = do_mysql($dsq);
$ergebnis = mysql_num_rows($result);
$result = mysql_fetch_array($result);
if($result['thumbnail'] == '') {
$anzeige .= "<td class='dummy'><img src=\"".COPY1DIR.'thumb.jpg'." \" ></td>";
} else {
$anzeige .= "<td class='anzeige'><img src=\"".COPY3DIR.$result['thumbnail']." \" ><br><a class='delLinkUpl' href='picloeschen.php?picID={$result['pic_id']}'>Löschen</a></td>";
}

Du hast zum einen die Variable $ergebnis für den Bildnamen verwendet, hier muss die Variable $result genommen werden. Denn sie ($ergebnis) enthält lediglich einen numerischen Wert wie viele Datensätze von der Abfrage zurückgeliefert wurden.
Außerdem musst du das Ergebnis der Abfrage zuerst in ein Array umwandeln um so wie du es machst darauf zuzugreifen.

Ach ja du hast für den Pfad die Konstante COPY1DIR angegeben hier muss aber COPY3DIR hin.
 
Zuletzt bearbeitet:
Hallo "tombe",
du lebst ja doch noch :)
VIELEN, VIELEN lieben Dank für deine Mühe!
Ich bin momentan noch mit anderen Formularen beschäftig und werde mir deine Lösung etwas später anschauen. Da es sich um ein Projekt handelt, würde ich mich freuen, wenn du die komprimierte Datei wieder abhängst, da ich sie schon runtergeladen habe, lieben Dank.

Kann mich bei dir gar nicht genug bedanken, VIELEN Dank! ! ! !
Schön, dass es Menschen wie dich gibt! ! !

Gruß
Kerstin
 
Hallo Kerstin,

freut mich wenn ich dir helfen kann und hoffe das du auch wirklich damit weiter kommst.

Den Anhang habe ich gelöscht. Du kannst mir ja wenn es wieder mal was zum Schicken gibt deine eMail Adresse via PN senden.

Gruß Thomas
 
Ich bin schon wieder über einen Fehler gestolpert.
Es wird beim Aufruf des Profiles immer ein Link zum Löschen angezeigt obwohl kein Bild dafür da ist. Das liegt daran das die Abfrage mit der die Bilder pro User ermittelt werden falsch ist.

PHP:
//so sieht es bei dir aus
//$sql="SELECT picture.pic,picture.pic_id FROM user,picture WHERE user.id = picture.id AND picture.id = {$_SESSION["id"]}";
//so ist es kürzer und vor allem auch richtig
$sql="SELECT pic, pic_id FROM picture WHERE id = {$_SESSION["id"]} and pic <> ''";
//...
//$dsq="SELECT picture.thumbnail,picture.pic_id FROM user,picture WHERE user.id = picture.id AND picture.id = {$_SESSION["id"]}";
//neue Abfrage für das Thumbnail
$dsq="SELECT thumbnail, pic_id FROM picture WHERE id = {$_SESSION["id"]}";

Du solltest dir vielleicht auch nochmal den Aufbau der picture-Tabelle überlegen.
Ich würde nur ein Feld für den Namen der Bilder machen, egal ob Bild oder Thumb. Dann würde ich aber ein Feld vom Typ SMALLINT. Wenn dieses Feld den Wert 0 (Standardwert) hat ist es ein Bild, wenn es den Wert 1 hat, ist es das Thumbnail.

Dann kannst du (meiner Meinung nach) das auch leichter abfragen und verwalten.
 
Hallo Kerstin,

freut mich wenn ich dir helfen kann und hoffe das du auch wirklich damit weiter kommst.

Den Anhang habe ich gelöscht. Du kannst mir ja wenn es wieder mal was zum Schicken gibt deine eMail Adresse via PN senden.

Gruß Thomas

Hallo "tombe",

ich hoffe auch, dass ich damit weiter komme :) Vielen Dank für's Löschen, meine Mailadresse habe ich dir PN gesendet.

Gruß
Kerstin
 
Zurück