chechbox Problem

hab1cht

Erfahrenes Mitglied
Hallo ich habe in einem Script 3 Checkboxen, drückt man auf "weiter" soll überprüft werden ob eine dieser Checkboxen aktiviert wurde. Momentan bringt er nur ein okay, wenn alle drei checkboxen aktiviert sind, ich will aber dass man nur eine checkbox aktivieren muss.
So und jetzt die Frage wie geht das? Ich steh gerade irgendwie auf dem Schlauch.

Hier mal mein Anfang:
PHP:
elseif(!isset($_REQUEST['1monat']) || ($_REQUEST['6monat']) || ($_REQUEST['1jahr']))  echo "Sie haben keinen Tarif gewählt!";

Vielen Dank für eure Antworten im Voraus.

mfg hab1cht
 
Also, du überprüfst hier leider nichts sinnvolles ^^

Das müsste so aussehen:

PHP:
else if (!isset($_REQUEST['1monat']) || !isset($_REQUEST['6monat']) || !isset($_REQUEST['1jahr'])) { echo ... }

Persönlich würde ich von $_REQUEST-Variablen absehen, da sie eigentlich nur für faule Coder gedacht sind (meiner Meinung nach) und zu Konflikten führen, wenn sie als POST und GET parallel existieren. Also lieber $_POST bzw. $_GET ansprechen... Meine Meinung ^^
 
Zuletzt bearbeitet:
oja hab ich ganz übersehen, dass ich das "isset" jedes mal neu schreiben muss.
Aber es müssen immer noch alle 3 Checkboxen aktiviert sein, wie krieg ich das hin, dass nur eine Checkbox aktiviert sein muss?

mfg hab1cht
 
Ok, dachte ich mir fast ^^ Nee, schreib dann mal:

PHP:
else if (strlen($_REQUEST['1monat']) > 0 || strlen($_REQUEST['6monat'])  > 0 || strlen($_REQUEST['1jahr']) > 0) { echo ... }
 
Also, ich glaube nicht, dass wenn du überprüfst ob KEINER gesetzt ist, das Skript innerhalb den Klammern ausgeführt wird, wenn einer oder mehr gesetzt sind... *confused*

nicht(1) && nicht(2) && nicht(3) wird wohl nicht true sein, wenn einer oder mehr gesetzt sind!

Oder habe ich dein ersten Comment falsch verstanden?
 
dsturm hat gesagt.:
PHP:
else if (!isset($_REQUEST['1monat']) || !isset($_REQUEST['6monat']) || !isset($_REQUEST['1jahr'])) { echo ... }

Die Frage ist, was du in der Klammer { echo ..... } erwartest.
Ich verstehe es so:

if ( !(MonatlichGesetzt) && !(halbjährlichGesetzt) && !(jährlichGesetzt) )
{ Du hast gar nichts gesetzt }
else
{ na prima }

Vielleicht liegt dein Fehler aber auch bereits vorher, denn dein Code beginnt ja mit einem ELSE.
Was steht davor?

vop
 
Alsoo..
Ich hab mir das code auch grad reingebaut.!
Wenn du nur einen überprüfen willst dan mach auch einen feld.
Wenn die drei keine pflichtfelder sind, warum werden diese dan überprüft ?:-S
naja hier so ist das "einmalüberprüfcode" ^^:
Code:
else if (!isset($_REQUEST['1monat']))
{
    echo 'Leider Haben sie kein Tarif gewählt';
}else{
    echo 'Danke das sie sich für unseren 1monat Tarif Entschieden haben';
}

wenn ein fehler kommt mit irgentwie BLABLA else
dan muss du statt
Code:
 else if
nur
Code:
if
machen..


So wie ich.
Bei mir siehts so aus:
Code:
if (!isset($_REQUEST['AGB']) || !isset($_REQUEST['vorname']) || !isset($_REQUEST['nachname']) || !isset($_REQUEST['strasse']) || !isset($_REQUEST['plz']) || !isset($_REQUEST['ort']) || !isset($_REQUEST['gebdatum']) || !isset($_REQUEST['email']))
{
    echo '<meta http-equiv="refresh" content="1; URL=fehler.php">'; //wird aufgeruft wenn eines der felder nicht befüllt ist
    die(mysql_error());
}else{
    echo '<meta http-equiv="refresh" content="1; URL=danke.php?id='.$row['id'].'">'; //wird aufgeruft wenn alles korekt ist
}

und es läuft 1A :-)
ich hoffe ich konnt dir weiterhelfen. Bin zwar selber auch neu bei der sache, aber versuchen kann mans ja :P
und @dsturm: meins ist auch per post es nimmt aber auch Request an :)
 
Zuletzt bearbeitet:
Zurück