Problem mit online-Formular (php)
Hallo!
Ich habe ein Problem mit einem online-Formular. Hier erstmal der Quellcode:
- Code: Alles auswählen
<form action=<?php if ($kID!="") {echo "new.php";} else {echo $PHP_SELF;}?> method="post">
Bitte gib deine User-ID ein: <input type="text" name="kID" value=""><br>
<input type="checkbox" name="PW" Value="pass"> checken?<br>
<input type="submit" name="go">
</form>
Leider klappt das aber nicht, da bei drücken des Buttons immer versucht wird die folgende Seite aufzurufen:
<Teil wie bei wie formular>method=%22post%22?kID=&go=Anfrage+abschicken
Was mache ich denn da falsch? Oder kennt ihr evtl. eine bessere Möglichkeit, wie man das realisieren kann?
Ich hatte auch schon
- Code: Alles auswählen
<form action=<?php ($kID!="") ? echo "new.php" : echo "" ?> method="post">
Danke im Voraus.
Gruß
- Code: Alles auswählen
<?php if(isset($_POST['kID'])) {
$page = "new.php";
} else {
$page = $_SERVER['PHP_SELF'];
}
?>
<form action="<?php echo $page; ?>">
So oder so ähnlich würde ich es machen.
Allein schon auf Grund der Übersicht.
Mfg sim-value
Leider klappt das auf deine Weise nicht, da ja dort überprüft wird, ob per POST an dieses Dokument kID übergeben wurde. Du hast mir trotzdem geholfen, ich hatte nämlich die Anführungszeichen vor bzw. nach der PHP-Anweisung vergessen. Der Code jetzt lautet
- Code: Alles auswählen
<form action="<?php if ($kID!="") {echo "new.php";} else {echo $PHP_SELF;}?>"] method="post">
Problem jetzt, es wird immer die Seite selber aufgerufen. Was kann den nun verkehrt sein?
magic_eagle hat geschrieben:
- Code: Alles auswählen
<form action="<?php if ($kID!="") {echo "new.php";} else {echo $PHP_SELF;}?>"] method="post">
Da steht jetzt:
Wenn
kID = Leer dann
new.php aufrufen
sonst
nichts tun
ende
In deinem Eingangspost steht aber, dass du wenn etwas reingeschrieben wird in dein kID Feld, so soll dann new.php aufgerufen werden. Du hast da jetzt nur ein Dreher drinne, aktuell müsste wenn du nichts eingibst die new.php aufgerufen werden.
Cekic hat geschrieben:Da steht jetzt:
Wenn
kID = Leer dann
new.php aufrufen
sonst
nichts tun
ende
In deinem Eingangspost steht aber, dass du wenn etwas reingeschrieben wird in dein kID Feld, so soll dann new.php aufgerufen werden. Du hast da jetzt nur ein Dreher drinne, aktuell müsste wenn du nichts eingibst die new.php aufgerufen werden.
Ich will ja nichts sagen, aber da steht
Wenn kID != Leer ...
Das heißt, wenn kID nicht leer ist, soll new.php aufgerufen werden. So soll es ja auch sein, nur wenn etwas eingetragen wurde, soll auf new.php weitergeleitet werden. Leider klappt das aber trotzdem nicht. new.php wird nie aufgerufen. Egal, ob ich das Feld leer lasse, oder etwas rein schreibe, man landet immer auf der gleichen Seite, also muss da noch irgend etwas falsch sein. Bitte helft mir.
Von woher kommt deine Variable kID ?
Normalerweise müsste es $_POST['kID'] lauten.
Mfg sim-value
Die Variable kID soll eigentlich die Variable sein, welche den Wert des entsprechenden Formularfeldes hat. Und je nachdem, ob das Feld ausgefüllt ist, oder nicht soll bei drücken des Buttons eine andere Aktion ausgeführt werden.
Wenn ich das richtig verstanden habe, dachtest du, dass kID an die Seite mit dem Formular übergeben wird, oder?
Tut mir Leid, wenn wir uns da missverstanden haben.
Gruß
magic_eagle
Die Variable kID soll eigentlich die Variable sein, welche den Wert des entsprechenden Formularfeldes hat
Hast du das vorher im Code definiert ?#
Wenn nein liegt da der Fehler.
Mfg sim-value
Dann muss ich wohl gestehen, dass ich das nicht vorher extra im Quelltext angegeben habe, da ich irgendwo gelesen hatte, dass der Name eines Formularfeldes gleich einer Variablen mit dem gleichen Namen zugeordnet wird. Das ist wohl nicht so?
Wie muss ich das denn vorher definieren?
Das stimmt allerdings nicht.
Du kannst entweder direkt $_POST['kID'] schreiben oder es so definieren.
- Code: Alles auswählen
$kID = $_POST['kID'];
Dann sollte es gehen.
Mfg sim-value
Link dieser Seite https://www.talkteria.de/forum/topic-24959.html
Ähnliche Themen
Weitere interessante Themen
- Notebook von Plus 3124mal aufgerufen · 3 Antworten · Autor: Simone1987 · Letzter Beitrag von Entenhausen
Forum: Hardware
- Notebook von Plus
- Lohnen sich Asien Fonds? 4191mal aufgerufen · 4 Antworten · Autor: Balthasar · Letzter Beitrag von FinanzScout
Forum: Geldanlage
- Lohnen sich Asien Fonds?
- Überweisung rückgängig machen 5638mal aufgerufen · 5 Antworten · Autor: Player · Letzter Beitrag von Wibbeldribbel
Forum: Geld & Finanzen
- Überweisung rückgängig machen