|
You last visited: Yesterday at 23:59
Advertisement
Register und Login System
Discussion on Register und Login System within the Web Development forum part of the Coders Den category.
02/15/2014, 20:50
|
#1
|
elite*gold: 142
Join Date: Feb 2013
Posts: 132
Received Thanks: 11
|
Register und Login System
Hallo ihr Webdeveloper da draußen,
ich bin gerade dabei PHP zu lernen und wollte eine Website mit Login und Register System schreiben. Aber wie es scheint befindet sich in einer Datei ein Fehler doch ich weiß nicht welcher....Einer der Fehler liegt darin, dass wenn man sich einloggt, man nicht eingeloggt wird sondern einfach wieder auf index.php kommt. Kann mir jemand weiterhelfen?
Code:
index.php:
<?php
include 'core/init.php';
include 'includes/overall/header.php';
?>
<h1>Überschrift</h1>
<p>Nur ein Beispiel.</p>
<?php
if (isset($SESSION['user_id'])) {
echo 'Eingeloggt';
} else {
echo 'Nicht eingeloggt';
}
?>
<?php include 'includes/overall/footer.php'; ?>
login.php:
<?php
include 'core/init.php';
logged_in_redirect();
if (empty($_POST) === false) {
$username = $_POST['username'];
$password = $_POST['password'];
if (empty($username) === true || empty($password) === true) {
$errors[] = 'Du musst einen Benutzernamen und ein Passwort eingeben';
} else if (user_exists($username) === false) {
$errors[] = 'Wir konnten diesen Benutzernamen nicht finden. Bist du registriert?';
} else if (user_active($username) === false) {
$errors[] = 'Du hast deinen Account noch nicht aktiviert!';
} else {
if (strlen($password) > 32) {
$errors[] = 'Passwort ist zu lang';
}
$login = login($username, $password);
if ($login === false) {
$errors[] = 'Username/Passwort ist inkorrekt!';
} else {
$_SESSION['user_id'] = $login;
header('Location: index.php');
exit();
}
print_r($errors)
}
} else {
$errors[] = 'Keine Daten erhalten';
}
include 'includes/overall/header.php';
if (empty($errors) === false) {
}
?>
<h2>Wir haben versucht dich einzuloggen, aber...</h2>
<?php
echo output_errors($errors);
}
include 'includes/overall/footer.php';
?>
header.php:
<?php<!doctype html>
<html>
<?php include 'includes/head.php'; ?>
<body>
<?php include 'includes/header.php'; ?>
<div id="container">
<?php include 'includes/aside.php'; ?> ?>
aside.php:
<aside>
<?php
if (logged_in() === true) {
include 'includes/widgets/loggedin.php';
} else {
include 'includes/widgets/login.php';
}
include 'includes/widgets/user_count.php';
?>
</aside>
loggedin.php:
<div class="widget">
<h2>Hallo, <?php echo $user_data['first_name']; ?>!</h2>
<div class="inner">
<div class="profile">
<?php
if (isset($_FILES['profile']) === true) {
if (empty($_FILES['profile']['name']) === true) {
echo 'Bitte wähle eine Datei aus!';
} else {
$allowed = array('jpg', 'jpeg', 'gif', 'png');
$file_name = $_FILES['profile']['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES['profile']['tmp_name'];
if (in_array($file_extn, $allowed) === true) {
change_profile_image($session_user_id, $file_temp, $file_extn);
header('Location: ' . $current_file);
exit();
} else {
echo 'Unerlaubter Dateityp. Erlaubt sind: ';
echo implode(', ', $allowed);
}
}
}
if (empty($user_data['profile']) === false) {
echo '<img src="', $user_data['profile'], '" alt="', $user_data['first_name'], '\'s Profile Image">';
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="profile"> <input type="submit">
</form>
</div>
<ul>
<li>
<a href="logout.php">Ausloggen</a>
</li>
<li>
<a href="<?php echo $user_data['username']; ?>">Profil</a>
</li>
<li>
<a href="changepassword.php">Passwort ändern</a>
</li>
<li>
<a href="settings.php">Einstellungen</a>
</li>
</ul>
</div>
</div>
login.php:
<div class="widget">
<h2>Einloggen/Registrieren</h2>
<div class="inner">
<form action="login.php" method="post">
<ul id="login">
<li>
Benutzername:<br>
<input type="text" name="username">
</li>
<li>
Passwort:<br>
<input type="password" name="password">
</li>
<li>
<input type="submit" value="Log in">
</li>
<li>
<a href="register.php">Registrieren</a>
</li>
<li>
Hast du deinen <a href="recover.php?mode=username">Benutzernamen</a> oder dein <a href="recover.php?mode=password">Passwort</a> vergessen?
</li>
</ul>
</form>
</div>
</div>
user_count.php:
<div class="widget">
<h2>Benutzer</h2>
<div class="inner">
<?php
$user_count = user_count();
$suffix = ($user_count != 1) ? 's' : '';
?>
Derzeit sind <?php echo $user_count; ?> Benutzer registriert.<?php echo $suffix; ?>.
</div>
</div>
profile.php:
<?php
include 'core/init.php';
include 'includes/overall/header.php';
if (isset($_GET['username']) === true && empty($_GET['username']) === false) {
$username = $_GET['username'];
if (user_exists($username) === true) {
$user_id = user_id_from_username($username);
$profile_data = user_data($user_id, 'first_name', 'last_name', 'email');
?>
<h1><?php echo $profile_data['first_name']; ?>'s Profil</h1>
<p><?php echo $profile_data['email']; ?></p>
<?php
} else {
echo 'Entschuldigung, dieser Benutzer exestiert nicht!';
}
} else {
header('Location: index.php');
exit();
}
include 'includes/overall/footer.php'; ?>
register.php:
<?php
include 'core/init.php';
logged_in_redirect();
include 'includes/overall/header.php';
if (empty($_POST) === false) {
$required_fields = array('username', 'password', 'password_again', 'first_name', 'email');
foreach($_POST as $key=>$value) {
if (empty($value) && in_array($key, $required_fields) === true) {
$errors[] = 'Felder die mit einem * versehen sind, werden benötigt';
break 1;
}
}
if (empty($errors) === true) {
if (user_exists($_POST['username']) === true) {
$errors[] = 'Sorry, dieser Benutzername \'' . $_POST['username'] . '\' wird bereits benutzt.';
}
if (preg_match("/\\s/", $_POST['username']) == true) {
$errors[] = 'Der Benutzername darf keine leeren Felder beinhalten.';
}
if (strlen($_POST['password']) < 6) {
$errors[] = 'Dein Passwort muss mindestens 6 Zeichen haben';
}
if ($_POST['password'] !== $_POST['password_again']) {
$errors[] = 'Die Passwörter stimmen nicht überein';
}
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
$errors[] = 'Eine gültige Email Adresse wird benötigt';
}
if (email_exists($_POST['email']) === true) {
$errors[] = 'Sorry, die Email Adresse \'' . $_POST['email'] . '\' wird bereits benutzt';
}
}
}
?>
<h1>Registrieren</h1>
<?php
if (isset($_GET['success']) === true && empty($_GET['success']) === true) {
echo 'Du wurdest erfolgreich registriert! Bitte bestätige die Email die wir dir gesendet haben.';
} else {
if (empty($_POST) === false && empty($errors) === true) {
$register_data = array(
'username' => $_POST['username'],
'password' => $_POST['password'],
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'email' => $_POST['email'],
'email_code' => md5($_POST['username'] + microtime())
);
register_user($register_data);
header('Location: register.php?success');
exit();
} else if (empty($errors) === false) {
echo output_errors($errors);
}
?>
<form action="" method="post">
<ul>
<li>
Benutzername*:<br>
<input type="text" name="username">
</li>
<li>
Passwort*:<br>
<input type="password" name="password">
</li>
<li>
Passwort wiederholen*:<br>
<input type="password" name="password_again">
</li>
<li>
Vorname*:<br>
<input type="text" name="first_name">
</li>
<li>
Nachname:<br>
<input type="text" name="last_name">
</li>
<li>
Email*:<br>
<input type="text" name="email">
</li>
<li>
<input type="submit" value="Register">
</li>
</ul>
</form>
<?php
}
include 'includes/overall/footer.php'; ?>
init.php:
<?php
session_start();
//error_reporting(0);
require 'database/connect.php';
require 'functions/general.php';
require 'functions/users.php';
$current_file = explode('/', $_SERVER['SCRIPT_NAME']);
$current_file = end($current_file);
if (logged_in() === true) {
$session_user_id = $_SESSION['user_id'];
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email', 'password_recover', 'type', 'allow_email', 'profile');
if (user_active($user_data['username']) === false) {
session_destroy();
header('Location: index.php');
exit();
}
if ($current_file !== 'changepassword.php' && $user_data['password_recover'] == 1) {
header('Location: changepassword.php?force');
exit();
}
}
$errors = array();
?>
Wenn ihr eine Antwort habt bitte sofort schreiben! Die Datenbanken sind verlinkt und zwar richtig aber ich hab die datein wo dinge der datenbanke vorkommen entfert wegen dem Datenschutz....
|
|
|
02/15/2014, 22:54
|
#2
|
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
|
Habe nur kurz mal drüber geschaut.
Code:
<form action="login.php" method="post">
Vielleicht weil die Datei 2x vorhanden ist und er die "falsche" aufruft?
#edit
Schalte nochmal ein, dass Fehler angezeigt werden, vielleicht hilft dir das ja auch schon.
|
|
|
02/16/2014, 11:52
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 473
Received Thanks: 104
|
Problem was in init.php
passed to many parameters that dont exist in database table , like this example 'favorite_color'
and you have in table
user_id, username, password, first_name, last_name, email, active, email_code
PHP Code:
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email', 'favorite_color');
so it gives error but dont show i dont know why it should, but just make it like this and all will works
PHP Code:
$user_data = user_data($session_user_id, 'user_id', 'username', 'password', 'first_name', 'last_name', 'email');
|
|
|
03/11/2014, 13:59
|
#4
|
elite*gold: 142
Join Date: Feb 2013
Posts: 132
Received Thanks: 11
|
Hat sich alles geklärt  Thanks mulkac89
|
|
|
Similar Threads
|
Login/Register System Visual Basic
10/04/2013 - .NET Languages - 39 Replies
Guten Tag,
ich versuche ein Login/Register System in Visual Basic 2010, zu coden, aber leider habe ich keine Ahnung davon.
HWID System schaffe ich, aber sowas nicht.
Ich möchte folgendes:
Registrieren:
Benutzername:
Passwort:
|
All times are GMT +1. The time now is 00:01.
|
|