MyBB.de Forum

Normale Version: Einverständniserklärung Ablehnen-Button
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3

Dave

Dave schrieb:Zusätzlich musst du dann noch
Code:
<form action="member.php" method="post">

mit
Code:
<form action="member.php" method="post" name="agreement">
ersetzen.
Beides natürlich im Template member_register_agreement

Habt ihr auch diesen Schritt gemacht?
Dave schrieb:
Dave schrieb:Zusätzlich musst du dann noch
Code:
<form action="member.php" method="post">

mit
Code:
<form action="member.php" method="post" name="agreement">
ersetzen.
Beides natürlich im Template member_register_agreement

Habt ihr auch diesen Schritt gemacht?

Klappt trotzdem nicht.
Die Zeit läuft einfach nicht runter.

Dave

Tut mir leid, aber ich habe keine Ahnung von javaScript, ich habe einfach den Code entsprechend angepasst, daher kann ich euch hierbei nicht weiterhelfen.
Hallo,

die o. a. Änderungen habe ich durchgführt.

In Template "member_register_agreement":
Code:
<div align="center"><input type="hidden" name="action" value="register" />
<input type="submit" class="button" name="agree" value="{$lang->i_agree}" />
<input type="submit" class="button" name="agree" value="{$lang->i_disagree}" />
In "/member.php":
PHP-Code:
...
    if((!isset(
$mybb->input['agree']) && !isset($mybb->input['regsubmit'])) || $mybb->request_method != "post")
    {
        
$plugins->run_hooks("member_register_agreement");

        eval(
"\$agreement = \"".$templates->get("member_register_agreement")."\";");
        
output_page($agreement);
    }
    
//Start - "Ablehnen"
    
elseif($mybb->input['agree']="Ich lehne ab")
    {
        
redirect("index.php");
    }
    
//Ende - "Ablehnen"
... 
In ".../inc/languages/deutsch_du/member.lang.php":
PHP-Code:
$l['i_disagree'] = "Ich lehne ab"

Nur leider wird mit diesen Anpassungen der Gast über beide Buttons auf die Startseite zurückgeleitet.

Was ist an den Anpassungen noch falsch?

Danke für die Hilfe.
Hallo,

hat vllt. jemand einen Lösungsansatz zu meinem letzten Beitrag? Sad

Der Fehler tritt sowohl in MyBB 1.2.9 als auch in MyBB 1.2.10 mit dem gleichen Effekt auf.

Danke für die Hilfe.
Wo kommt $mybb->input['regsubmit'] her? Das Problem ist, dass beide Buttons bei dir den Namen "agree" haben. Damit wird bei beiden dieser Code ausgeführt:
PHP-Code:
elseif($mybb->input['agree']="Ich lehne ab")
{
    
redirect("index.php");

Am einfachsten wäre es die Buttons unterschiedlich zu benennen.
Danke für den Hinweis.

Nachdem ich die folgenden Änderungen im Template "member_register_agreement"
Code:
<div align="center"><input type="hidden" name="action" value="register" />
<input type="submit" class="button" name="agree" value="{$lang->i_agree}" />
<input type="submit" class="button" name="disagree" value="{$lang->i_disagree}" />
und in der Datei "/member.php" (Zeile 266 ff)
PHP-Code:
...
    if((!isset(
$mybb->input['agree']) && !isset($mybb->input['regsubmit'])) || $mybb->request_method != "post")
    {
        
$plugins->run_hooks("member_register_agreement");

        eval(
"\$agreement = \"".$templates->get("member_register_agreement")."\";");
        
output_page($agreement);
    }
    
//Start - Ergänzung "Ablehnen"
    
elseif($mybb->input['disagree'])
    {
        
redirect("index.php");
    }                                        
    
// Ende - Ergänzung "Ablehnen"
... 
vorgenommen habe, wird der Gast bei "Zustimmung" auf die Registrierung weitergeleitet.
Andererseits wird der Gast bei "Ablehnung" nicht auf die Startseite weitergeleitet, sondern es wird erneut die Seite "Einverständniserklärung" aufgebaut.

Was, bitte, ist hieran noch falsch?

Danke für die Hilfe.
Warum so kompliziert? Versuche es mal damit:
PHP-Code:
if($mybb->input['agree'] && $mybb->request_method == "post") {
    
// Benutzer hat zugestimmt
} else {
    
// Benutzer hat nicht zugestimmt

Dave

Das funktioniert nicht, weil danach noch ein else kommt. Aber es muss doch auch eine Erklärung dafür geben, dass der User nicht planmäßig weitergeleitet wird.
Mein "Problem" ist gelöst.

Nach Änderung der "if-Anweisung" in der Datei "/member.php" (Zeile 267 ff) in:
PHP-Code:
...
    if(
$mybb->input['disagree']) //Start - "Ablehnen"
    
{
        
redirect("index.php");
    }                            
// Ende - "Ablehnen"
    
elseif((!isset($mybb->input['agree']) && !isset($mybb->input['regsubmit'])) || $mybb->request_method != "post")
    {
        
$plugins->run_hooks("member_register_agreement");

        eval(
"\$agreement = \"".$templates->get("member_register_agreement")."\";");
        
output_page($agreement);
    }
... 
ist der Ablauf korrekt :question: Exclamation

Zum Abschluss - für mich zum Verständnis - habe ich noch eine Frage an die "php-Profis" unter euch:
>> ist das (funktionell) auch ok oder einfach nur Zufall, dass es auf diese Weise funktioniert?

Danke für die Hilfe und...
Seiten: 1 2 3