php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Ergebnis Submit - Button


 
mgoertz
29-11-2005, 21:35 
 
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";
}

 
asp2php
29-11-2005, 21:41 
 
was heisst denn neue Seite? was bekommst du wenn du den Button betätigst? was steht dann in der Adressenzeile des Browsers?

 
mgoertz
29-11-2005, 21:45 
 
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

 
asp2php
29-11-2005, 21:50 
 
wundert dich das? was macht deine If-Abfrage? Wenn du verstehst was sie macht, dann wird dir einiges klar ;)

 
mgoertz
29-11-2005, 22:00 
 
bitte ein tip wie ich es lösen kann

 
asp2php
29-11-2005, 22:14 
 
Grundlagen lernen :teach: und nur Funktionen einsetzen, welche man auch versteht, was sie macht :teach:

 
mgoertz
29-11-2005, 22:26 
 
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 ?

 
asp2php
29-11-2005, 22:28 
 
überlege, wo du die if einsetzen kannst, oder wie du sie umändern kannst ... was macht sie eigentlich?

 
Kropff
29-11-2005, 22:33 
 
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

 
mgoertz
29-11-2005, 22:49 
 
ok danke

 
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

 
Kropff
30-11-2005, 10:56 
 
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

 
asp2php
30-11-2005, 12:09 
 
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... :)

 
asp2php
30-11-2005, 13:47 
 
ich sag' nur dass es für diese beiden Elemente sinvoll ist, aber ob das gängig ist hab' ich nicht gesagt :p.

 
mgoertz
30-11-2005, 17:38 
 
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

 
thommyk
30-11-2005, 18:15 
 
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.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:08 Uhr.