• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Radiobuttons checken

Witschi262

Blogger
Hallo,
ich möchte ein kleines Quiz erstellen.
Mein HTML sieht so aus:

HTML:
<form action="quiz_2.php" method="post">
<b>Was ist eine Frucht?</b> <br>
<input type="radio" name="antwort" value="right_1"> Erdbeere <br>
<input type="radio" name="antwort" value="wrong_1"> Nuss  <br>
<input type="radio" name="antwort" value="wrong_2" > Melone <br> <br>
<b>Was ist eine Frucht?</b> <br>
<input type="radio" name="antwort2" value="right_2"> Erdbeere <br>
<input type="radio" name="antwort2" value="wrong_3"> Nuss  <br>
<input type="radio" name="antwort2" value="wrong_4" > Melone <br> <br>
<b>Was ist eine Frucht?</b> <br>
<input type="radio" name="antwort3" value="right_3"> Erdbeere <br>
<input type="radio" name="antwort3" value="wrong_5"> Nuss  <br>
<input type="radio" name="antwort3" value="wrong_6" > Melone <br> <br>
<input type="submit" value="Weiter">
</form>

Wie Prüfe ich allerdings, ob jetzt die besagte Variable exestiert? Also, ich brauche das ja speziell für Value, da ja name öfters exestiert.

Weil
PHP:
if (isset($_POST['wrong_1']))
Geht nicht.
 
Der Name des Radio-Buttons ist auch der Variablenname. Lass dir mal

PHP:
echo $_POST["antwort"];

ausgeben. Dann sollte es dir klar werden.
 
Ja, das weiß ich schon.
Ich wohl einen ANtwortenblock den selben Namen geben damit nur ein Radio Button definierbar ist.

Also, wenn man einen Radio Button anklickt, und dann einen drunter, der obere quasi verschwindet.
 
Ja, das weiß ich schon.
Ich wohl einen ANtwortenblock den selben Namen geben damit nur ein Radio Button definierbar ist.

Also, wenn man einen Radio Button anklickt, und dann einen drunter, der obere quasi verschwindet.

Hättest du Threadis Vorschlag ausprobiert, wüsstest du wies geht.

Also, alle Radio Button haben den selben namen.

<?php
$antwort = $_POST['antwort'];
echo '$antwort';
?>

Wenn jemand bei der ersten Radio Gruppe den ersten Radiobutton ausgewählt hat, ist die Ausgabe right_1, wenn jemand den 2 Radio Button ausgewählt hat, ist die Ausgabe wrong_1.

Alles klar jetzt?

if (isset($_POST['wrong_1']))

<---Bring dir somit nichts, da du somit nur den value Wert empfangst (was aber nur geht, wenn du zuerst den Namen des Radiobutton-Feldes per POST ans Script leitest, also so:
PHP:
<?php
$antwort = $_POST['antwort'];
if($antwort == 'right_1')
{
echo 'Richtig!'; //wenn der erste Radiobutton, also den Wert right_1, wird Richtig ausgegeben
}
else
{
echo 'Falsch!'; //wenn nicht der erste ausgewählt wurde, sondern eienr von den beiden Falschen, wir Falsch ausgegeben
}
?>
 
Achso.
Ich muss also die Variable $antwort mit dem value Wert vergleichen.

Edit:
Super, es funktioniert. So, jetzt zu meinem nächsten Problem:
Ich möchte eine Variable als Zahl. Das funktioniert aber nicht? Google allerdings konnte mir nur bestätigen, dass meines richtig ist:
PHP:
$ergebnis = 0;
 
Zuletzt bearbeitet:
Noch was,
kann ich ohne Formular etwas per method Post verschicken? Ich habe die Punktzahl in eine Variable gepackt.

Google hat mir gesagt, ich bräuchte eine Session, da die Session aber schon letztes mal nicht geklappt hat, möchte ich nicht darauf zurückgreifen wollen...
 
Nur mit AJAX (also dem HttpRequest objekt)

Ungenaue Antwort. Man kann natürlich auch ein HTTP-Objekt zusammenstellen, welche die Daten per Post schickt. Das klappt mit jeder Programmiersprache, sei es php oder perl oder etwas anderes. In einer Webseite könnte man das nur anwenden, wenn man per get eine Datei aufruft die wiederum den Post-Request durchführt. Wenn man das nicht per Hand über fsockopen() machen will, kann man auch curl() dafür verwenden. Siehe:
PHP: How to send POST request to another page? - Yahoo! Answers

AJAX wäre dann nicht notwendig.
 
Stimmt. Ich ging davon aus, dass wir in einem JS Thread sind, ich hatte nicht gesehen dass es um PHP geht. Allerdings gibt der Thread auch nichts her, weil ob er wirklich eine HTTP Objekt erstellen wollte, halte ich für zweifelhaft
 
Zurück
Oben