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?
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
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($passwort, PASSWORD_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(); ?>
Wo, wie und wann muss ich nun am dümmsten das $showFormular = false setzen?
Hoffe konnte mich gut genug ausdrücken

Kommentar