hi
Ich bin auch dabei ein loginsystem zu machen mit "register.php", "login.php", "profile.php" und "logout.php" herzustellen aber was auch ohne erfolg bisher war. meine bezugsqullen war
http://tut.php-quake.net/de/login.html#s1
...Problem ist das zwar register usw angezeigt wird aber es ist ob ich was im testfeld rein schreib oder nicht. ich kann mich so oder so registrieren oder einlogen.
ich kopier mal mein "register.php" hier rein. ihr könnt auch mal unter www.outlawz2011.de/register.php gucken
<?php
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
//formular verarbeiten
}
return $ret;
?>
<?php
$ret = array();$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['Email'],
$_POST['Antwort'], $_POST['formaction'])) {
return INVALID_FORM;
}
}
return $ret;
?>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'constants.php';
include 'functions.php';
include 'classes.php';
include 'variables.php';
// [...]
?>
<?php
define('INVALID_FORM', 'Benutzen sie nur Formulare von der Homepage.');
?>
<?php
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['Email'],
$_POST['Antwort'], $_POST['formaction'])) {
return INVALID_FORM;
}
if (!is_array($_POST['Password']) OR count($_POST['Password']) != 2) {
return INVALID_FORM;
}
if ($_POST['Password'][0] != $_POST['Password'][1]) {
return 'Bitte geben sie das gleiche Password ein.';
}
}
return $ret;
?>
<?php
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['Email'],
$_POST['Antwort'], $_POST['formaction'])) {
return INVALID_FORM;
}
if (!is_array($_POST['Password']) OR count($_POST['Password']) != 2) {
return INVALID_FORM;
}
if ($_POST['Password'][0] != $_POST['Password'][1]) {
return 'Bitte geben sie das gleiche Password ein.';
}
if (($Username = trim($_POST['Username'])) == '' OR
($Password = trim($_POST['Password'][0])) == '' OR
($Email = trim($_POST['Email'])) == '' OR
($Antwort = trim($_POST['Antwort'])) == '') {
return EMPTY_FORM;
}
}
return $ret;
?>
<?php
define('INVALID_FORM', 'Benutzen sie nur Formulare von der Homepage.');
define('EMPTY_FORM', 'Bitte füllen sie das Formular vollständig aus.');
?>
<?php
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['Email'],
$_POST['Antwort'], $_POST['formaction'])) {
return INVALID_FORM;
}
if (!is_array($_POST['Password']) OR count($_POST['Password']) != 2) {
return INVALID_FORM;
}
if ($_POST['Password'][0] != $_POST['Password'][1]) {
return 'Bitte geben sie das gleiche Password ein.';
}
if (($Username = trim($_POST['Username'])) == '' OR
($Password = trim($_POST['Password'][0])) == '' OR
($Email = trim($_POST['Email'])) == '' OR
($Antwort = trim($_POST['Antwort'])) == '') {
return EMPTY_FORM;
}
if ('' != $Antwort) { // entsprechend anpassen
return 'Bitte geben sie die richtige Antwort an.';
}
}
return $ret;
?>
<?php
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['Email'],
$_POST['Antwort'], $_POST['formaction'])) {
return INVALID_FORM;
}
if (!is_array($_POST['Password']) OR count($_POST['Password']) != 2) {
return INVALID_FORM;
}
if ($_POST['Password'][0] != $_POST['Password'][1]) {
return 'Bitte geben sie das gleiche Password ein.';
}
if (($Username = trim($_POST['Username'])) == '' OR
($Password = trim($_POST['Password'][0])) == '' OR
($Email = trim($_POST['Email'])) == '' OR
($Antwort = trim($_POST['Antwort'])) == '') {
return EMPTY_FORM;
}
if ('' != $Antwort) { // entsprechend anpassen
return 'Bitte geben sie die richtige Antwort an.';
}
if (!preg_match('~\A\S{3,30}\z~', $Username)) {
return 'Der Benutzername darf nur aus 3 bis 30 Zeichen bestehen und '.
'keine Leerzeichen enthalten.';
}
}
return $ret;
?>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'constants.php';
include 'functions.php';
include 'classes.php';
include 'variables.php';
$db = @new MySQLi(dbms.strato.de, U833858, PASSWORD, DB833858);
$ret = 1; // speichert den rückgabewert von include, standardwert 1
if (mysqli_connect_errno()) {
$ret = 'Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error();
} else {
// Laden der Include-Datei
// [...]
}
// Laden des HTML-Kopfs
// [...]
?>
<?php
// [...]
if (!preg_match('~\A\S{3,30}\z~', $Username)) {
return 'Der Benutzername darf nur aus 3 bis 30 Zeichen bestehen und '.
'keine Leerzeichen enthalten.';
}
$sql = 'SELECT
ID
FROM
User
WHERE
Username = ?
LIMIT
1';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$stmt->bind_param('s', $Username);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows) {
return 'Der Username wird bereits verwendet.';
}
$stmt->close();
// [...]
?>
<?php
// [...]
if ($stmt->num_rows) {
return 'Der Username wird bereits verwendet.';
}
$stmt->close();
$sql = 'INSERT INTO
User(Username, Email)
VALUES
(?, ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$stmt->bind_param('ss', $Username, $Email);
if (!$stmt->execute()) {
return $stmt->error;
}
// [...]
?>
<?php
// [...]
if (!$stmt->execute()) {
return $stmt->error;
}
$UserID = $stmt->insert_id;
$sql = 'UPDATE
User
SET
Password = ?
WHERE
ID = ?';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$Hash = md5(md5($UserID).$Password);
$stmt->bind_param('si', $Hash, $UserID);
if (!$stmt->execute()) {
return $stmt->error;
}
// [...]
?>
<?php
// [...]
if (!$stmt->execute()) {
return $stmt->error;
}
return showInfo('Der Benutzer wurde hinzugefügt. Sie können sich nun anmelden.');
// [...]
?>
<?php
/* Daten
* - msg: Die Nachricht die angezeigt werden soll.
*/
?><p class="info">
<?php echo htmlspecialchars($data['msg']); ?>
</p>
<?php
/**
* Erzeugt ein Array für das Infomessage-Template.
*
* Diese Funktion erzeugt eine Array für unsere Templateengine die dann
* die Infomessage-Template-Datei "info.tpl" läd. Der Parameter gibt
* dabei die Nachricht an die angezeigt werden soll.
* @param msg Die Nachricht die angezeigt werden soll.
* @return Das Array für unsere Templateengine.
*/function showInfo($msg) {
$ret = array();
$ret['filename'] = 'info.tpl';
$ret['data'] = array();
$ret['data']['msg'] = $msg;
return $ret;
}
?>
<?php
if (getUserID($db)) {
return 'Sie sind eingeloggt und können sich nicht registieren.';
}
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
// [...]
?>
<?php
if (getUserID($db)) {
return 'Sie sind eingeloggt und können sich nicht registieren.';
}
$ret = array();
$ret['filename'] = 'register.tpl';
$ret['data'] = array();
// [...]
?>