auf eingabe zurüclgreifen
Alexander Feil
- php
0 Andreas
Hallo an alle Checker!
Ich hab folgendes Problem:
Ich habe eine html-Datei mit einem versteckten Input:
<form action="bestellungen.php" method="post">
<input type=hidden name="ID_"+ i +"" value="" + fields[0] + "">
</form>
Mit der Datei bestellung.php möchte ich auf das Eingegebene mit Variablen zurückgreifen:
$id??? = $HTTP_POST_VARS["id_???"];
$id??? = htmlentities($id???);
Nur da, wo jetzt diese Fragezeichen stehen, muss irgendetwas hin. Nur was?! Ich hoffe ihr könnt mir weiterhelfen.
Danke im voraus,
Gruß
Alexander
Dann musst du wohl die Variable "i" auch als hidden-Tag übergeben, sonst kennt die das Script bestellung.php ja nicht (wenn ich das nun richtig sehe).
Nur da, wo jetzt diese Fragezeichen stehen, muss irgendetwas hin. Nur was?! Ich hoffe ihr könnt mir weiterhelfen.
Danke Andreas, aber wie geht genau das?
Langsam bin ich am verzweifeln.
So müsste es gehen:
<input type="hidden" name="i" value=" + i + ">
Wobei die Zeile dann vor der anderen hidden-Zeile stehen muss.
Danke Andreas, aber wie geht genau das?
Langsam bin ich am verzweifeln.
Danke Andreas, aber es funktioniert immer noch nicht. Ich glaube ich muss mich auf einen langen Abend einstellen. Ich versuche mein Problem etwas präziser darzustellen:
Ich hab eine Html-Datei, die das hier aus einer externen Javascript-Datei aufruft:
strOutput2 += "<input name="ID_"+ i +"" value="" + fields[0] + "">";
document.write(strOutput2);
Die i's deshalb, weil jemand etwas bestellen können soll und er auch mehrere Sachen bestellen kann. Das heißt, es wird nachher nicht nur ein verstecktes input im HTML-Dokument, sondern mehrere geben. In diesem Dokument muss der Besucher dann die Auswahl bestätigen und seine Adresse eingeben. Mit der Bestädigung wird eine php-Datei aufgerufen, die die ganze Sache auswerten soll und die Daten in eine txt-Datei schreiben soll. Dabei muss ja auch hineingeschrieben werden was für einen Artikel der Besucher will. (<input name=...)
<html>
<body>
<?php
$vorname = $HTTP_POST_VARS["Vorname"];
$vorname = htmlentities($vorname);
$name = $HTTP_POST_VARS["Name"];
$name = htmlentities($name);
$strasse = $HTTP_POST_VARS["Strasse"];
$strasse = htmlentities($strasse);
$ort = $HTTP_POST_VARS["Ort"];
$ort = htmlentities($ort);
$tel = $HTTP_POST_VARS["Tel"];
$tel = htmlentities($tel);
$email = $HTTP_POST_VARS["EMAIL"];
$email = htmlentities($email);
$inhalt = $HTTP_POST_VARS["inhalt"];
$inhalt = htmlentities($inhalt);
$inhalt = str_replace("\n", "<br>", $inhalt);
$zahlungsart = $HTTP_POST_VARS["zahlungsart"];
$zahlungsart = htmlentities($zahlungsart);
$agbs = $HTTP_POST_VARS["agbs"];
$agbs = htmlentities($agbs);
if ($vorname == "" or $name == "" or $strasse == "" or $ort == "")
{
echo "Sie müssen Ihre vollständige Anschrift angeben.";
}
if ($email == "")
{
echo "Bitte geben Sie eine e-Mail Adresse an.";
}
if ($agbs == "")
{
echo "Bitte stimmen Sie den AGB's zu.";
}
else
{
$datum= date("d.m.Y");
$eintrag="Datum:$datum--Name:$name $vorname--Strasse:$strasse--e-Mail:$email--Notizen:$inhalt--Zahlungsart:$zahlungsart";
$datei = fopen("../admin/bestellungen.txt", "a");
fwrite($datei, "\n".$eintrag);
fclose($datei);
echo "Ihr Bestellung wurde erfolgreich gespeichert";
echo "Sie erhalten in kürze eine Bestädigung per e-Mail.";
}
?>
<br>
<br>
<a href="./artikel.htm">zurück zum shop</a>
</body>
</html>
Jetzt: Wie muss ich diese php-Datei ändern, damit der Laden läuft?
Gruß
Alexander
hi,
strOutput2 += "<input name="ID_"+ i +"" value="" + fields[0] + "">";
document.write(strOutput2);Die i's deshalb, weil jemand etwas bestellen können soll und er auch mehrere Sachen bestellen kann. Das heißt, es wird nachher nicht nur ein verstecktes input im HTML-Dokument, sondern mehrere geben.
dann lasse die i's ganz weg.
benenne deine felder wie folgt:
<input type="hidden" name="feldname[]" value="blah">
wichtig sind die klammern [] nach feldname.
dadurch bekommst du in php ein array zurückgeliefert, dass alle übertragenen(!) werte aus den feldern mit namen feldname beinhaltet,
$HTTP_POST_VARS["feldname"][]
und in php ein array zu durchlaufen, sollte ja kein problem darstellen (z.b. mit foreach).
gruss,
wahsaga