Ankündigung

Einklappen
Keine Ankündigung bisher.

$showFormular = false;

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • $showFormular = false;

    Hallo liebe Community,

    ich sitze an mein klein(großen) Browsergame und bin an den Schönheitarbeiten rund ums Registrieren, Login, Einstellungen etc. und hänge an den Formularen fest.
    Kurze Beschreibung meines Problems wo ich eine Denkhilfe brauche.
    Ich habe meine Registrie (Login, Setting auch) nun Modularisiert und es läuft alles wie auch ohne vorher.
    Doch nach der Modularisierung wird das Formular nicht mehr geschlossen beim erfolgreichen übergeben an die Datenbank.
    Warum verstehe ich, nur wie schaffe ich es das sich das Formular wieder schließt beim erfolgreichen übergeben an die Datenbank?

    PHP-Code:
    function Registrie()
    {

      
    $error_msg "";
      if(isset(
    $_GET['registrie'])) {

        
    $error false;
        
    $username trim($_POST['username']);
        
    $email trim($_POST['email']);
        
    $passwort $_POST['passwd'];
        
    $passwort2 $_POST['passwd2'];
        
    $usernation $_POST['usernation'];

        if(empty(
    $username) || empty($email) || empty($usernation)) {
          
    $error_msg =  "Bitte alle Felder ausfüllen<br>";
          
    $error true;
        }

        
    //Überprüfe, dass die E-Mail-Adresse noch nicht registriert wurde
        
    if(!$error) {
          
    $statement $dbconn->prepare("SELECT * FROM users WHERE email = :email, username = :username");
          
    $result $statement->execute(array('email' => $email'username' => $username));
          
    $user $statement->fetch();

          if(
    $user !== false) {
            
    $error_msg =  "Diese E-Mail-Adresse ist bereits vergeben<br>";
            
    $error true;
          }
        }

        
    //Überprüfen, dass der Username noch nicht vergeben ist
        
    if(!$error) {
          
    $statement $dbconn->prepare("SELECT * FROM users WHERE username = :username");
          
    $result $statement->execute(array('username' => $username));
          
    $user $statement->fetch();

          if(
    $user !== false) {
            
    $error_msg =  "Der Managername ist bereits vergeben<br>";
            
    $error true;
          }    
        }

        
    //Keine Fehler, den Nutzer registrieren (in die Datenbank schreiben)
        
    if(!$error) {
          
    $passwort_hash password_hash($passwortPASSWORD_DEFAULT);

          
    $statement $dbconn->prepare("INSERT INTO users (email, passwort, username, nationalitaet) VALUES (:email, :passwort, :username, :nationalitaet)");
          
    $result $statement->execute(array('email' => $email'passwort' => $passwort_hash'username' => $username'nationalitaet' => $usernation));

          
    $lastID $dbconn->lastInsertId();

          if(
    $result) {
            
    $statement $dbconn->prepare("INSERT INTO profil (userID) VALUES (:userID)");
            
    $result $statement->execute(array('userID' => $lastID));
            
    $statement $dbconn->prepare("INSERT INTO userstatus (userID, status) VALUES (:userID, :status)");
            
    $result $statement->execute(array('userID' => $lastID'status' => "AKTIV"));
            
    $statement $dbconn->prepare("INSERT INTO premium (userID, aktiv) VALUES (:userID, :aktiv)");
            
    $result $statement->execute(array('userID' => $lastID'aktiv' => "Nein"));

            echo 
    'Du wurdest erfolgreich registriert. <a href="login.php">Zum Login</a>';
            
    $showFormular false// <-- überbleibsel von vor der Modularisierung
          
    }
          else {
            
    $error_msg =  "Beim Abspeichern ist leider ein Fehler aufgetreten<br>";
          }
        }
      }
      return 
    $error_msg;

    HTML-Code:
    <?php
    session_start();
    $showFormular = true;
    require_once("inc/db.inc");
    
    // Prüfen ob nicht bereits angemeldet
    if(is_checked_in()) {
        header("location: internal.php");
        exit;
    }
    
    
    Print_Header();
    ?>
    
        <div id="wrapper">
          <nav>
            <div class="topnav">
              <a class="active" href="index.php">StarzFMO</a>
              <div id="navbarNav">
                <a href="login.php">Anmelden</a>
              </div>
            </div>
          </nav>
          <div id="content">
            <h2>Registrieren</h2>
    
            <?php
              //Fehlermeldung anzeigen
              $error_msg = Registrie();
              if( !empty($error_msg)) {
                echo "<b>".$error_msg."</b>";
              }
    
              if($showFormular) {
            ?>
    
            <form id="registrieren" action="?registrie=1" method="post">
              <div class="input">
                <label for="Managername"><h3>Dein Managername:</h3> </label>
                <input type="text" name="username" id="Managername" placeholder="Benutzername"/>
              </div>
              <div class="input">
                <label for="Email"><h3>Deine Emailadresse:</h3> </label>
                <input type="email" name="email" id="Email" placeholder="E-Mail"/>
              </div>
              <div class="input">
                <label for="Passwd"><h3>Dein Passwort:</h3> </label>
                <input type="password" name="passwd" id="Passwd" placeholder="Passwort"/>
              </div>
              <div class="input">
                <label for="Passwd2"><h3>Passwort bitte wiederholen:</h3> </label>
                <input type="password" name="passwd2" id="Passwd2" placeholder="Passwort wiederholen"/>
              </div>
              <?php Print_Usernation(); ?>
              <div class="buttonrow">
                <input type="submit" name="submit" value="Absenden" />
                <input type="reset" value="Zurücksetzen" />
              </div>
              <div class="checkbox_input">
                <input type="checkbox" name="news" value="news" id="news_chkbx"/>
                <label for="news_chkbx">Ich möchte regelmäßig den tollen Newsletter erhalten.</label>
              </div>
              <p>
                Sie sind schon registriert?</br>
                Dann nicht Ihr Team länger warten lassen!</br>
                <a href="login.php">Jetzt hier Anmelden</a>
              </p>
            </form>  
    
    <?php
    } //Ende von if($showFormular)
    ?>
    
          </div>
    
    <?php Print_Footer(); ?>
    Als Bild das Ergebnis meiner erfolgreichen Registrierung und rot erkenntlich gemacht was bei Erfolg ausgeblendet werden soll.
    Wo, wie und wann muss ich nun am dümmsten das $showFormular = false setzen?

    Hoffe konnte mich gut genug ausdrücken
    roter Bereich soll ausgeblendet werden beim erfolgreichen Registrieren

  • #2
    du kannst vor dem if showFormular dann sowas machen;

    PHP-Code:
      $showFormular =  isset($_GET['registrie']) && empty($error_msg);

     if(
    $showFormular).. 

    Kommentar


    • #3
      Uff danke

      PHP-Code:
      if (isset($_GET['registrie']) && empty($error_msg))
                  
      $showFormular false;
      if(
      $showFormular)... 
      liefert mir den richtigen Erfolg.

      Kommentar

      Lädt...
      X