Registrierung Script

habe jetzt gerade das hier gefunden und finde es sehr gut das geht auch bei mir nur das problem ist das wenn man sich abmeldet gleich aus der datenbank draußen ist also sich dann komlett neu anmelden mußt. und dann würde ich es gerne auch noch so haben wie bei dem anderen login script das die daten also die user id usw. dem user angezeigt werden.
hier mal der code
PHP:
<?
# Hier ggf. den Header einfügen!

if	  ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);}
else if ($abmelden) { abmelden($fertig, $user, $password);}
else if ($forgot)   { forgot($fertig, $email);}
else				{ login($fertig, $user, $password);}

# hier ggf. den Footer einfügen!
?>
 
<?
function inhalt($user) 
{
session_start();
session_register("user");

##################################
#Bauen Sie hier Ihren Inhalt ein!#
#								#
?>

 <b>Geschützter Inhalt!</b>
 
<?
#			  #
#   Ab hier nichts mehr ändern!  #
##################################

}
?>
 
<?
function login($fertig, $user, $password)
{
include("config.php");
if ($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
inhalt($user);
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!";
echo "<p><h2>Login</h2></p>";
 echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
 ?>
 <table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Login></td>
  </tr>
</table>
</form>
<? 
echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Abmelden</a></p>";
}
}
?>

<?
function anmelden ($fertig, $user, $password1, $password2, $email)
{
include("config.php");
if($fertig) {
 $abfrage1 = mysql_query("SELECT user FROM login");
 while ($row = mysql_fetch_object ($abfrage1)) {
 if ($row->user==$user) {
 echo "Dieser Benutzer existiert schon!";
 exit;
 }
 }
 if ($user=="" OR $password1=="" OR $password2=="" or $email=="") {
 echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
 }
 else if ($password1!=$password2) {
 echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
 }
 else { 
 $anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')"); 
 echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>";
 @login(); 
 }
}
else {
 echo "<h2>Anmelden</h2>";
 echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">";
 ?>
 <table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password1" value=""></font></td>
  </tr>
  <tr>
	<td><font size="2">Wiederholen:</font></td>
	<td><font size="2"><input type="password" name="password2" value=""></font></td>
  </tr>
  <tr>
	<td><font size="2">E-Mail:</font></td>
	<td><font size="2"><input type="text" name="email" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Anmelden></td>
  </tr>
</table>
</form>
<? 
}
}
?>
 

<?
function forgot ($fertig, $email)
{
include("config.php");
if ($fertig) {
$abfrage=mysql_query("SELECT * FROM login");
while ($row = mysql_fetch_object ($abfrage)) {
if ($email==$row->email) { $ismail="true"; } 
}
if ($ismail=="true") {
$password=mysql_query("SELECT * FROM login WHERE email = '$email'");
while ($row = mysql_fetch_object ($password)) {
$nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin";
}
mail($email, "Passwort", $nachricht, "From: Administrator");
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>
<?
@login();
}
else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";}
}
else {
echo "<p><h2>Passwort vergessen</h2><p>";
echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr>
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr>
</table></form></p>
<?
}
}
?>
 
<?
function abmelden($fertig, $user, $password)
{
include ("config.php");
if($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'");
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
  echo "<p><h2>Abmelden</h2></p>"; 
 echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">";
 ?>
 <table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Abmelden></td>
  </tr>
</table>
</form>
<?
}
}
?>
 
Also ich hab genau des selbe Loginscript und mir dazu selber ein forum gebaut...dazu dann noch ein profil, wo sich der use sein passwort ändern kann, wo seine userid angezeigt wird, sein rang etc... Nen eigenes Private NachrichtenSystem und dann noch ne useranzeige mit suche und nen adminbereich... bin zur Zeit am basteln :D

so lern ich grad php... ein loginscript (was für mich vor ca 2 Wochen noch ziemlich schwer war zu erstellen) sollte ich jetzt eigentlich recht schnell auf die beine stellen können :D

Damit der USer sich ausloggen kann und nicht ganz aus der DB vershcwindet musst du nen Logout erstellen, indem die Session gelöscht wird.

Die sieht so aus:
<?php
session_unregister("autor");
?>
 
wenn ich fragen darf wo genau muß ich das einbauen.
mir ist das voll peinlich das ich euch so viel frage ich hoffe ihr seit nicht sauer ich bin euch echt für jede hilfe dankbar
 
du machst z.B in deiner index.php da wo der inhalt hinkommt, wenn man eingeloggt ist einen link:

<a href=\"logout.php\"> Logout </a>

Dann nimmst du den Code von meinem letztem Post und kopierst ihn in eine neue Textdatei und speicherst sie unter logout.php ab.

Wenn du dich jetzt einloggst, solltest Du einen Link zum Anklicken finden und wenn du drauf klickst, solltest du nichts sehen. Aber die session wurde gelöscht und wenn du die index.php neu aufrufst, wirst du sehen, des du nicht mehr eingeloggt bist.

Dann kannst du halt noch nen Link in die logout.php reinbauen, der wieder zur Index.php führt.. oder ne automatische Weiterleitung, aber des Prinzip ist so !
 
so ich habe mich jetzt eingeloggt und dann wollte ich mich wieder ausloggen und die seite aufrufen die ich gesperrt habe und ich konnte sie aufrufen nun werd ich das nochmal ganz langsam durch gehen
 
ja, dann liegt der fehler aber woanders.
Und zwar musst du gaaanz am Anfang der Datei, die du Sperren willst,
folgendes anhängen:

<?
if (!session_is_registered('DEINSESSIONNAME'))
{
die ("Du bist nicht eingeloggt!");
}
?>

DEINSESSIONNAME musst du ersetzen durch den Namen, der in der Index.php steht... irgendwo bei register session und dann sowas in [ ] glaube ich.


Dann wird gecheckt, ob der User, der die gesperrte Datei aufruft, eingeloggt ist, wenn ja, dann darf er die datei sehen, wenn nicht, dann sieht er sie nicht ;)


PS: Des steht aber auch bei dem Tutorial von dem Loginscript dabei... da hast du wohl einfach nur kopiert und eingefügt und ned gelesen ;)
 
Zuletzt bearbeitet von einem Moderator:
ich benutzte doch jetzt dieses login system weil ich für das was ich hier gefunden habe kein anmelde formular habe
PHP:
 <?
# Hier ggf. den Header einfügen!

if	  ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);}
else if ($abmelden) { abmelden($fertig, $user, $password);}
else if ($forgot)   { forgot($fertig, $email);}
else				{ login($fertig, $user, $password);}

# hier ggf. den Footer einfügen!
?>

<?
function inhalt($user) 
{
session_start();
session_register("user");

##################################
#Bauen Sie hier Ihren Inhalt ein!#
#								#
?>

<b>Geschützter Inhalt!</b>

<?
#			  #
#   Ab hier nichts mehr ändern!  #
##################################

}
?>

<?
function login($fertig, $user, $password)
{
include("config.php");
if ($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
inhalt($user);
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
echo "Zum anmelden geht es <a href=\"$PHP_SELF?anmelden=yes\">hier</a> lang!";
echo "<p><h2>Login</h2></p>";
echo "<form method=\"POST\" action=\"$PHP_SELF?fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Login></td>
  </tr>
</table>
</form>
<? 
echo "<p><a href=\"$PHP_SELF?forgot=yes\">Passwort vergessen?</a><br><a href=\"$PHP_SELF?abmelden=yes\">Abmelden</a></p>";
}
}
?>

<?
function anmelden ($fertig, $user, $password1, $password2, $email)
{
include("config.php");
if($fertig) {
$abfrage1 = mysql_query("SELECT user FROM login");
while ($row = mysql_fetch_object ($abfrage1)) {
if ($row->user==$user) {
echo "Dieser Benutzer existiert schon!";
exit;
}
}
if ($user=="" OR $password1=="" OR $password2=="" or $email=="") {
echo "Sie haben mindestens ein Feld nicht ausgefüllt!";
}
else if ($password1!=$password2) {
echo "Ihr Passwort ist ungleich Ihrer Wiederholung!";
}
else { 
$anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')"); 
echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>";
@login(); 
}
}
else {
echo "<h2>Anmelden</h2>";
echo "<form method=\"POST\" action=\"$PHP_SELF?anmelden=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password1" value=""></font></td>
  </tr>
  <tr>
	<td><font size="2">Wiederholen:</font></td>
	<td><font size="2"><input type="password" name="password2" value=""></font></td>
  </tr>
  <tr>
	<td><font size="2">E-Mail:</font></td>
	<td><font size="2"><input type="text" name="email" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Anmelden></td>
  </tr>
</table>
</form>
<? 
}
}
?>


<?
function forgot ($fertig, $email)
{
include("config.php");
if ($fertig) {
$abfrage=mysql_query("SELECT * FROM login");
while ($row = mysql_fetch_object ($abfrage)) {
if ($email==$row->email) { $ismail="true"; } 
}
if ($ismail=="true") {
$password=mysql_query("SELECT * FROM login WHERE email = '$email'");
while ($row = mysql_fetch_object ($password)) {
$nachricht="Hallo $row->user!\n\nIhr Passwort ist:\n\n$row->password\n\nMfG\nAdmin";
}
mail($email, "Passwort", $nachricht, "From: Administrator");
?>
<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br>
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p>
<?
@login();
}
else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";}
}
else {
echo "<p><h2>Passwort vergessen</h2><p>";
echo "<p><form method=post action=\"$PHP_SELF?forgot=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
<tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr>
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr>
</table></form></p>
<?
}
}
?>

<?
function abmelden($fertig, $user, $password)
{
include ("config.php");
if($fertig) {
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'");
$reihen = mysql_num_rows($abfrage);
if ($reihen <= 0) {
echo "Unbekannter Benutzername!";
}
else {
while ($row = mysql_fetch_object ($abfrage)) {
if ($row->password==$password) {
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'");
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!";
}
else {
echo "Falsches Passwort!";
}
}
}
}
else {
  echo "<p><h2>Abmelden</h2></p>"; 
echo "<form method=\"POST\" action=\"$PHP_SELF?abmelden=yes&fertig=yes\">";
?>
<table cellspacing="1" cellpadding="2" border="0">
	<tr>
	<td><font size="2">Benutzername:</font></td>
	<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td>
  </tr>
  <tr>
	<td><font size="2">Passwort:</font></td>
	<td><font size="2"><input type="password" name="password" value=""></font></td>
  </tr>
  <tr>
	<td colspan=2 align=center><input type=submit value=Abmelden></td>
  </tr>
</table>
</form>
<?
}
}
?> 
Diesen Beitrag
</DIV>
 
ja und? :rolleyes:

also wenn du es so hast, wie dein QUOTE, dann hast du keine meiner anwesung beffolgt.. dann hilf dir alleine oO

Am besten du downloadest dir ein komplett fertiges von z.B http://www.php-free.de wäre für dich am einfachsten ;)
 
von der seite hab ich meins her nur finde ich es so wie es ist nicht gut.

weil wenn man halt auf abmelden klickt man gleich aus der datenbank gelöscht wird.
und genau das will ich nicht. darum hab ich gefragt wie ich es machen soll das dies nicht passiert darauf hin hab ich diesen einen code da bekommen und es genau so eingebaut wie beschrieben nur leider hat es nicht geklappt. vieleicht könnte es mir nochmal einer erklären liebe grüße brian
 
so wie ich es beschrieben habe, klappt es, und du erreichst genau das, was du willst, nämlcih des der User nicht aus der Datenbank gelöscht wird. Dann hast du was falsch gemacht... und wenn ich den code, den du eben gepostet has, sehe, dann sehe ich, des du nichts gemacht hast... naja viel erfolg noch
 

Neue Beiträge

Zurück