Archiv verlassen und diese Seite im Standarddesign anzeigen : Ergebnis Submit - Button
Hallo,
ich hab folgendes Problem:
ich möchte, dass das Ergebnis nach dem Drücken des submit-Buttons auf der selben Seite
erscheint und nicht auf einer neuen Seite. Kann mir bitte jemand dabei helfen ?
Hier mein Code
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post"><tr> <td>
<select name="buchung1">
<option value="1">A1</option>
<option value="2">A2</option>
<option value="3">A3</option>
<option value="4">A4</option>
</select>
...
<input type="submit" name="submit" value="Senden">
<?php
}elseif(...){
echo "richtig";
}else{
echo "falsch";
}
was heisst denn neue Seite? was bekommst du wenn du den Button betätigst? was steht dann in der Adressenzeile des Browsers?
in der Adresszeile steht schon der Dateiname, in der auch die Comboboxen drin sind aber auf dem Bildschirm steht nur richtig oder falsch und ich hätte gerne im oberne Teil die Comboboxen dann den Button und direkt darunter die "Lösung" also richtig oder falsch und nicht das richtig / falsch auf einer leeren Seite
wundert dich das? was macht deine If-Abfrage? Wenn du verstehst was sie macht, dann wird dir einiges klar ;)
bitte ein tip wie ich es lösen kann
Grundlagen lernen :teach: und nur Funktionen einsetzen, welche man auch versteht, was sie macht :teach:
ok ich hab jetzt die if Funktion rausgenommen aber nun das Probelm dass von anfang an der else Teil da steht wie kann bekomme ich den nur hin wenn es wirklich falsch ist und nicht schon am anfang ?
überlege, wo du die if einsetzen kannst, oder wie du sie umändern kannst ... was macht sie eigentlich?
1. nicht $PHP_SELF sondern $_SERVER['PHP_SELF'], seit php 4.1, stichwort register_globals
2. bei post nicht mit mit isset überprüfen sondern z.b. mit
<?php if($_POST['submit'])
gruß
peter
Le_Cheffe 30-11-2005, 09:19 Original geschrieben von Kropff
2. bei post nicht mit mit isset überprüfen sondern z.b. mit
<?php if($_POST['submit'])
gruß
peter
Hi !
Dumme Frage dazu : Wieso ? :)
Gruß
Le Cheffe
hab da selber einen kleinen denkfehler begangen. es soll in diesem fall ja der submit-button überprüft werden. da ist das natürlich nicht nötig.
grundsätzlich ist es aber so, dass z.b überprüft werden soll, ob ein feld ausgefüllt worden ist oder nicht. da darf man nicht mit isset arbeiten, da die variable zwar gesetzt wurde, aber keinen inhalt hat.
war schon ein bißchen später gestern ;-)
gruß
peter
Le_Cheffe 30-11-2005, 11:02 Original geschrieben von Kropff
hab da selber einen kleinen denkfehler begangen. es soll in diesem fall ja der submit-button überprüft werden. da ist das natürlich nicht nötig.
grundsätzlich ist es aber so, dass z.b überprüft werden soll, ob ein feld ausgefüllt worden ist oder nicht. da darf man nicht mit isset arbeiten, da die variable zwar gesetzt wurde, aber keinen inhalt hat.
war schon ein bißchen später gestern ;-)
gruß
peter
Ok, dann würde ich es auch nicht mit isset, sondern mit empty machen. :)
Hast mich richtig erschreckt, weil ich POST Daten durchaus mal mit isset überprüfe.
Gruß
Le Cheffe
POST-daten mit isset prüfen ist nur bei Checkbox und Radiobutton sinnvoll ;)
mrhappiness 30-11-2005, 12:13 Bei Radiobuttons mit isset zu arbeiten setzt einen Designfehler voraus... :)
ich sag' nur dass es für diese beiden Elemente sinvoll ist, aber ob das gängig ist hab' ich nicht gesagt :p.
leider konnte ich mein Problem noch nicht lösen
hier nochmals mein aktueller code
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"><tr> <td>
<select name="buchung1">
<option value="1">A1</option>
<option value="2">A2</option>
<option value="3">A3</option>
<option value="4">A4</option>
</select>
...
<input type="submit" name="submit" value="Senden">
<?php
if(isset($_POST['submit'])) {
if ($_POST['buchung1'] == "2"){
echo "richtig";
}else{
echo "falsch";
}
}
es steht jetzt am beginn falsch eigentlich sollte nichts ausgegeben werden erst wenn der Submit-Button gedrückt wurde, kann mir bitte jemand helfen
Dein Code ist schon ok, habs kurz getestet.
Ruf mal Dein Skript in einem NEUEN Browserfenster auf. Wahrscheinlich hast Du jedesmal mit F5 die Seite neu geladen, oder? und dabei jedesmal das Formalur abgeschickt. Also ist auch $_POST['submit'] gesetzt.
|