PHP-Login tut nichts

parad0

Grünschnabel
registration.php
PHP:
<?php
require_once ('inc/config.inc.php');
require_once ('reg_logic.php');
require_once ('reg_markup.php');
?>


inc/config.inc.php
PHP:
<?php
$db = new mysqli('localhost', 'pr....','12...st', 'p....ct');
$salt = "..........................."
?>

reg_markup.php
PHP:
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div style="margin:0 auto; width: 1024px">
        <form action="" method="POST">
            <fieldset>
            <label for="username">Benutername:</label>
            <br>
            <input type="text" name="username" maxlength="20" id="username" value="">
            <br>
            <label for="username">Passwort:</label>
            <br>
            <input type="password" name="pass[]" maxlength="20" id="pass" value="">
            <br>
            <label for="username">Passwort wiederholen:</label>
            <br>
            <input type="password" name="pass[]" maxlength="20" id="pass2" value="">
            <br>
            <label for="email">eMail:</label>
            <br>
            <input type="text" name="email" maxlength="40" id="email" value="">
            <br>
            <input type="submit" name="submit" value="Registrieren">
            </fieldset>
        </form>
        <?php if(isset($error_msg) && !empty($error_msg)) : ?>
        <div style="border: 2px solid red; padding: 10px">
            <?php echo $error_msg; ?>       
        </div>
        <?php endif; ?>
        <?php if(isset($success_msg) && !empty($success_msg)) : ?>
        <div style="border: 2px solid lawngreen; padding: 10px">
            <?php echo $success_msg; ?>       
        </div>
        <?php endif; ?>
        </div>
    </body>
</html>


reg_logic.php
PHP:
<?php
if(isset($_POST['submit'])) return;

if(isset($_POST['username']) || !isset($_POST['pass']) || !isset($_POST['email']) ||
        empty($_POST[ 'username']) || empty($_POST['pass']) || empty($_POST['email'])) {
        $error_msg = "Formular nicht vollständig ausgefüllt.";
        return;
}

if($_POST['pass'][0] !== $_POST['pass'][1]) {
    $error_msg = "Ihre Passwörter stimmen nicht überein.";
    return;
}

$_POST['pass'] = hash('sha256', $_POST['pass'][0].$salt);

if(strlen($_POST['username']) > 20) {
    $error_msg = "Der Benutzername ist zu lang.";
    return;
}

$_POST['username'] = trim($_POST['username']);

if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $error_msg = "Die eMail-Adresse ist ungültig.";
    return;
}

$user_ip = ip2long($_SERVER['REMOTE_ADDR']);

$sql = '
    INSERT INTO
    user
    (username, pass, email, userip, date)
    VALUES
    (?, ?, ?, ?, NOW())';
$stmt = $db->prepare($sql);
$stmt->bind_param('sssi', $_POST['username'], $_POST['pass'], $_POST['email'], $user_ip);

if(!$stmt->execute()) {
    $error_msg = "Es ist ein fehler aufgetreten.";
}

$stmt->close();

$success_msg = "Das Benutzerkonto ".htmlspecialchars($_POST['username'])." wurde angelegt";

Also das ganze gibt eine Seite mit dem Formular aus, so wie es soll!
Ich kann aber eintippen was ich möchte, es kommt keine Fehlermeldung der Passwörter oder der eMail (egal ob falsch oder richtig)

Ich sende es ab und es läd auch neu aber es passiert nichts & auch die logfiles des httpd sind leer! lighttpd/debian...

Datenbank und Tabellen sind eingerichtet :/

Was ist da los?

P.S. andere PHP Seiten laufen (sowohl mit als auch ohne DB)
Evtl. bin ich einfach blind vor Code heute!, finde aber keinen Fehler :p

Bin dakbar für eure Hilfe :D
 
Zuletzt bearbeitet:
if(isset($_POST['submit'])) return;

'If called from the global scope, then execution of the current script file is ended. If the current script file was included or required, then control is passed back to the calling file.'
 
Zurück