Bildhandling nach Upload

soa

Erfahrenes Mitglied
Hallo zusammen,

ich bin leider etwas vom Wege abgekommen und werfe daher mal folgende Frage in den Raum:

Ich habe eine .php Seite (eintrag.php), mit der ich Beiträge in eine DB schreiben kann.

Über diese Seite gibt es nun die Möglichkeit, ein Bild beizufügen. Dazu gelangt man von der Seite eintrag.php auf die Seite upload.php (POPUP).

--------------------------------------------------------------------------------------------------------------------------------

Das Bild wird in ein Verzeichnis geschoben. Danach schließt man das Popup
und kann seinen Beitrag absenden.

Leider weiß ich nicht, wie ich die Variable für das Bild von einem Popup zurück an die Seite übergebe, von der der Beitrag gesendet wird.

Wenn ich die Datei direkt von upload.php in die DB speichere, fällt es schwer, den restlichen Beitrag mit dem Bild zu verbinden. Es soll ja nur ein DB-Eintrag für Bild und Text geben.

Ich hoffe, mein Problem hier verständlich dargelegt zu haben. Wie kann ich jetzt vorgehen

Vielen Dank im voraus.

Gr
 
Ich würde eine Session, die den Bildnamen enthält, registrieren. Diese kannst Du dann abfragen, wenn du die eintrag.php abschickst.
 
Hallo,

klasse Idee.

Hab also bei erfolgreichem Upload folgende Zeile in der upload.php ergänzt:

$_SESSION["upload"] = $pfad.$name;

Ausgabe erfolgreich mit:
var_dump($_SESSION["upload"]);

In der eintrag.php bei:

if(isset($_POST[abschicken])){

$bild = $_SESSION["upload"];

var_dump($bild);

gibt NULL aus und "Column count doesn't match value count at row 1"

Hier mal der Befehl:

Code:
if($vollstaendig){ 

mysql_query("
  INSERT INTO eintraege
  (datum, benutzername, betreff, eintrag, bild)
  VALUES
  (NOW(''), '$benutzername', '$betreff', '$eintrag' '$bild')
  ", $db)or die(mysql_error());
  $danke = rawurlencode ("Vielen Dank für deinen Beitrag!");
   echo '<head><meta http-equiv="refresh" content="0; URL=danke.php?danke='.$danke.'"></head>';
  
 }

Warum das bloß nicht?
 
Ahh - ich glaub ich weiß warum. Wahrscheinlich, weil du das Upload-Fenster wieder schließt. Damit wird die Session denke ich mal gelöscht und steht dann logischerweise für die eintrag.php nicht mehr zur Verfügung.

Brauchst Du das Uploadwindow unbedingt? Ansonsten würde ich vorschlagen zunächst den Texteintrag vorzunehmen, dann die id des letzten Eintrags aus der Datenbank wieder auszulesen, diese in einer Variablen zu speichern und dann den Upload zu machen. Da Du die ID ja in einer Variablen gespeichert hast, kannst Du ja dann das Bild eindeutig dem entsprechenden Eintrag zuordnen und den Datensatz updaten.
 
Starte die Session auf der Eintragseite, häng beim Aufruf des Popups die Session-ID an die URL, speichere was du brauchst in der Session und beim Eintragen frägst du die Session-Werte dann ab.
 
Hallo,

habe die session einfach im Popup gestartet, war nämlich nicht.......

Es geht, soweit dazu...Der Link zum Bild wird übergeben.

Doch der Fehler

Column count doesn't match value count at row 1

kommt weiterhin....

Habe das DB Feld "bild" schon als BLOB, MEDIUMBLOB und LONGBLOB definiert.
Hilft nix.....

Das Ding ist nämlich, dass die URL zum Bild (STRING) übergeben wird, nicht das Bild selbst. Die Frage ist, wie ich anstelle des Links das Bild lade?
 
Zurück