registration.php
inc/config.inc.php
reg_markup.php
reg_logic.php
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
Bin dakbar für eure Hilfe
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

Bin dakbar für eure Hilfe

Zuletzt bearbeitet: