Datei-Upload & Daten weiterleiten

Ozzy Ozborn

Erfahrenes Mitglied
Hi,

wahrscheinlich bin ich einfach zu blöd, aber ich beiß mir mal wieder die Zähne aus: ich will über ein Formular Bilder hochladen, und gleichzeitig Daten aus dem Formular an eine nächste Seite übergeben. Bei mir sieht das jetzt so aus:

<form name="einstellen" action="<?PHP echo $PHP_SELF; ?>" enctype="multipart/form-data" method="post">
...
if($send) {

$uploaddir = '../cache/';
for($count = 0; $count < $Anzahlbilder-1; $count++) {
$endung = strrchr($_FILES['datei']['name'][$count], ".");
$dateityp = GetImageSize($_FILES['datei']['tmp_name'][$count]);
if($dateityp[2] != 0) {
if(isset($_FILES['datei']['name'][$count]) && $_FILES['datei']['name'][$count]!="none") {
move_uploaded_file($_FILES['datei']['tmp_name'][$count], $uploaddir.$name. '_' .$count.$endung);
//$bild.$count = $uploaddir.$name. '_' .$count.$endung;
}
}
}
echo header('location: vorschau.php');
}
...
<input name="send" type="submit" value="Vorschau">

Mir ist schon klar, dass ich die ganzen Formulardaten an die URL hängen könnte und dann als get behandeln könnte, aber das ist alles so ein Rattenschwanz, den ich eigentlich nicht möchte. Und so wie es jetzt ist, ruft er ja nur die neue Seite auf... Gibt es noch eine andere Variante, das umzusetzten? Ich wollte auch nicht die Seite auseinanderreißen und eine "Daten" und eine "Upload"-Seite zu machen...

Vielen Dank für Eure Hilfe!
 
PHP:
<?
if($_POST['send']) {
  $uploaddir = '../cache/';
  for ($count = 0; $count < $_POST['Anzahlbilder']-1; $count++) {
    $endung = strrchr($_FILES['datei']['name'][$count], ".");
    $dateityp = GetImageSize($_FILES['datei']['tmp_name'][$count]);
    if($dateityp[2] != 0) {
      if(isset($_FILES['datei']['name'][$count]) && $_FILES['datei']['name'][$count]!="none") {
        move_uploaded_file($_FILES['datei']['tmp_name'][$count], $uploaddir.$name. '_' .$count.$endung);
        //$bild.$count = $uploaddir.$name. '_' .$count.$endung;
      }
    }
  }
  //hier die Daten verareibten
}
else {
?>
<form name="einstellen" action="<?PHP echo $PHP_SELF; ?>" enctype="multipart/form-data" method="post">
<input name="send" type="submit" value="Vorschau">
<? } ?>

Wenn du vor deiner upload Seite auf die vorschau.php
weiterleitest via header("Location (was übrigens nicht
mit echo geschieht ;) ) dann "verlierst" du deine Variablen,
die du mit den Formular gesendet hast. Könntest sie
allerding in einer Session zwischenspeichern, oder du
verarbitest das Ganze halt gleich mit in der Datei für den
Upload.
Desweiteren rate ich dir dringend über die superglobalen
Arrays ($_GET['foo'], $_POST['bar']) auf deine Variablen
zurückzugreifen :)
 
Zuletzt bearbeitet:
Zurück