Die if-Abfrage ist etwas wirr. Vor allem das:
PHP-Code:
!isset($mybb->input['agree'])
Schließlich willst du den Code ja ausführen, wenn man agree drückt.
Nein, der Code soll ausgeführt werden wenn agree nicht gesetzt ist, weil dieser Code zeigt ja die Einverständniserklärung an.
Hallo Dragon, hallo Dave,
vielen Dank für die Antworten.
Dragon schrieb:Die if-Abfrage ist etwas wirr. Vor allem das:
PHP-Code:
!isset($mybb->input['agree'])
Diese "wirre" Abfrage habe ich mir nicht ausgedacht, sondern in/aus der Datei "/member.php" übernommen: :question:
PHP-Code:
...
...((!isset($mybb->input['agree']) && !isset($mybb->input['regsubmit'])) || $mybb->request_method != "post")
...
Dave schrieb:Nein, der Code soll ausgeführt werden wenn agree nicht gesetzt ist, weil dieser Code zeigt ja die Einverständniserklärung an.
Mir ging es bei meiner Frage auch mehr um die Position des (hinzugefügten) Codes - im Vergleich zum >>
1. Lösungsvorschlag von Dave
bzw. um die Logik.
Nochmals danke und...
Ich habe soeben den Fehler entdeckt, der meinen ersten Loesungsvorschlag fuer die Weiterleitung natuerlich zerstiert hat. Es muss so lauten:
PHP-Code:
elseif($mybb->input['disagree']=="Ich lehne ab")
{
redirect("index.php");
}
Mit nur einem = wird die Variable einfach auf den Wer gestzt, daher ist diese Aussage als Boolean-Wert immer TRUE und daher wird der Code der elseif-Abfrage natuerlich immer ausgefuehrt. Verwendet man hingegen zwei =, dann wird die Variable mit der Aussage verglichen, und nur wenn es uebereinstimmt, wird der Code ausgefuehrt.
Ich hoffe, dass sollte das Problem loesen.
Hallo Dave,
zunächst einmal Danke für deine Mühe.
Nur leider ist das Ergebnis das gleiche, wie es in meinem >>
Beitrag: #17 geschildert habe:
>> Ich lehne ab >> Seite "Einverständniserklärung".
Ich hatte leider nicht erwähnt, dass ich die "=="-Variante bereits angewendet hatte; und ich letztendlich zum Ergebnis aus
>>
Beitrag #20 gelangte.