Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Einverständniserklärung Ablehnen-Button
#11
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?
Zitieren
#12
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.
Bitte die Suche u. die Doku nutzen.
______________________________

mfg Murphy
Zitieren
#13
Tut mir leid, aber ich habe keine Ahnung von javaScript, ich habe einfach den Code entsprechend angepasst, daher kann ich euch hierbei nicht weiterhelfen.
Zitieren
#14
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.
Zitieren
#15
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.
Zitieren
#16
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#17
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.
Zitieren
#18
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


Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#19
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.
Zitieren
#20
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...
Zitieren