Login Feinarbeit

Hallo,

Bin immernoch dabei ein Login System zu erstellen. Ist eig schon Fertig aber ein paar Feineinstellungen muss ich noch machen. Noch kann man sich nicht selbste Regestrieren.Und auf die Seite auf die man bei einem erfolgreichen login geleitet wird ist die sicher ich meine wen man das einafch im Browser eingibt kommt man ohne login dahin nur wen man sich Auslogt muss man sich nue einloggen ist das auch so bei anderen Pc das die dadrauf zugreifen können wen man sich nicht Ausloggt?

Mein Logins Sytem:

Login

Benutzername und Passwort „Admin“

FG Niklas

dann solltest du die mal dies hier durchlesen:
PHP: Sessions - Manual :wink:

PHP: Session-Funktionen - Manual

Das alles Brauch mann dazu ? Hab mir das viel einfacher vorgestellt.

Z.b so

Man brauch ertsmal ein Forumular (Kann ich)

Mit Benutzername,PW PW Wiederholen und eins dieser Zahlen/Buchstaben Cods so das ganze wird gespeichert und in eine Liste eingetragen so wie hier

[CODE]// Definition der Benutzer
$benutzer[0][„Nickname“] =„admin“;
$benutzer[0][„Kennwort“] = „admin“;
$benutzer[0][„Nachname“] = „Nachname“;
$benutzer[0][„Vorname“] = „Max“;

$benutzer[1][„Nickname“] = „test“;
$benutzer[1][„Kennwort“] = „abc“;
$benutzer[1][„Nachname“] = „Nachname“;
$benutzer[1][„Vorname“] = „Martin“; [/CODE]

Und schon kann man sich einloggen .

FG Niklas

Hast du die Dateien checkuser.php und intern.php genauso übernommen,
wie es im Tutorial steht ?
Wenn ja, dann kommt man ohne erfolgreiches Einloggen nicht rein
Die geschützte Seite ist intern.php, da kannst du natürlich auch etwas anderes reintun
Für die Regisrtierung brauchst du nochmal ein neues Formular z.B.
Registrierung.html und eine um die Registrierung zu überprüfen z.B.
register.php

[HTML]

Neu-Anmeldung Name:
Kennwort:
[/HTML]

Es ist so man kommt ohne Login rein wen man sich nicht Augeloggt hatt ist das Falsch oder richtig so ?

Registrierung.html und eine um die Registrierung zu überprüfen z.B.
register.php

ok und wo wird das dan gespeichert ?

FG Niklas

Mit dem Code kann man sich anmelden, allerdings müßte man das viel umfangreicher machen, wenn z.B. sich jemand anmeldet und der Name existiert schon , oder wenn einer ungültige Zeichen eingibt , oder wenn jemand schon registriert ist…
Ich hoffe, es ist kein Fehler drin, die speicherst du in register.php und Registrierung.html
[PHP] <?php session_start (); // Datenbankverbindung aufbauen $dz= mysql_connect ("db2107.1und1.de","dbo298973705", "5******"); if (!mysql_select_db("name_deiner_Datenbank", $dz)) { die ("Keine Verbindung zur Datenbank"); } $name = strip_tags($_POST['name']); $kennwort =strip_tags($_POST['pwd']); $sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name','$kennwort',"",""); mysql_close($dz); echo "Neuer Benutzer $name wurde erfolgreich angemeldet." ; ?>[/PHP]

Hallo,

hmm mit dem Forumular haperts doch noch ein bisschen :smiley:

Login

Das Problem ist zwischen dem Forumlar und dem Oben geposteten Code besteht keine Verbindung (Glaube ich)

[CODE]<?php session_start (); ?>

Login <?php if (isset ($_REQUEST["fehler"])) { echo "Die Zugangsdaten waren ungültig."; } ?> Benutzername
Passwort
Passwort Wiederholen
[/CODE]

Soweit bin ich bisher gekommen.

FG Niklas

FALSCH
Du speicherst das Formular in der Datei z.B. Anmeldung.html
und den php-Code in der Datei register.php (2 Dateien)
In der php-Datei mußt du noch die richtigen Zugangsdaten eintragen
z.B. den Name deiner Datenbank

Ich glaube das der Problem im Forumlar liegt weil das ja noch glaubt es sein ein Loginversuch und keine Regestrierung.

FG Niklas

Du hast im Formular die falsche Datei angegeben ,
nicht login.php sondern register.php
Ich hab doch den Code vom Formular oben reingeschrieben

[PHP]
Benutzername<[/PHP]

ok verbesssert aber wen ich mich jetzt regestriere werde ich weitergeleitet und dann kommt das:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /homepages/19/d293491848/htdocs/login/register.php on line 10 <?php session_start (); // Datenbankverbindung aufbauen $dz= mysql_connect ("db2107.1und1.de","dbo298973705", "52112020"); if (!mysql_select_db("name_deiner_Datenbank", $dz)) { die ("Keine Verbindung zur Datenbank"); } $name = strip_tags($_POST['name']); $kennwort =strip_tags($_POST['pwd']); $sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name','$kennwort',"",""); mysql_close($dz); echo "Neuer Benutzer $name wurde erfolgreich angemeldet." ; ?>Also hier ein Fehler:

$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name','$kennwort',"",""); mysql_close($dz);

FG Niklas

Name deiner Datenbank reinschreiben , dann gehts

if (!mysql_select_db(„name_deiner_Datenbank“, $dz))

So jetzt wird garnichts angezeigt

Habe das jetzt so:

<?php session_start (); // Aufbau der Datenbankverbindung $connectionid = mysql_connect ("db2107.1und1.de","dbo298973705", "5********"); if (!mysql_select_db ("db298973705", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } $name = strip_tags($_POST['name']); $kennwort =strip_tags($_POST['pwd']); // Aufbau der Datenbankverbindung $connectionid = mysql_connect ("db2107.1und1.de","dbo298973705", "5********"); if (!mysql_select_db ("db298973705", $connectionid)) echo "Neuer Benutzer $name wurde erfolgreich angemeldet." ; ?>

Achso, ich hab den Fehler gefunden
Das liegt an den beiden Feldern Nachname ,Vorname , die dürfen nicht leer sein, steht in der Tabelle NOT NULL
Da mußt du noch 2 weitere Felder hinzufügen oder du schreibst

[PHP]$sql=mysql_query(„INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES(‚$name‘,‚$kennwort‘,‚x‘,‚y‘)“);
mysql_close($dz);
[/PHP]

$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name','$kennwort','x','y')"); mysql_close($dz);

Wird immer als Fehler bezeichnet wen ich die Benutzerdaten Reinschreibe

$sql=mysql_query(„INSERT INTO („db2107.1und1.de“,„dbo298973705“, „5********“); (Nickname,Kennwort,Nachname ,Vorname) VALUES(‚$name‘,‚$kennwort‘,‚x‘,‚y‘)“);
mysql_close($dz);

FG Niklas

FALSCH
Die Benutzerdaten sollst du doch nicht da reinschreiben, sondern so heißt deine Tabelle(=benutzerdaten). Diesen Code nicht verändern

[PHP]$sql=mysql_query(„INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES(‚$name‘,‚$kennwort‘,‚x‘,‚y‘)“);
mysql_close($dz);
[/PHP]

Fehler on line 5

{die ("Keine Verbindung zur Datenbank");}

??? Was der Fehler

FG Niklas

so gehts

[PHP]<?php // Datenbankverbindung aufbauen $dz= mysql_connect ("db2107.1und1.de","dbo298973705", "52112020"); if (!mysql_select_db("db298973705", $dz)) { die ("Keine Verbindung zur Datenbank"); } $name = strip_tags($_POST['name']); $kennwort =strip_tags($_POST['pwd']); $sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name','$kennwort','x','y')"); mysql_close($dz); echo "Neuer Benutzer $name wurde erfolgreich angemeldet." ; ?>
[/PHP]

Jetzt muss man die Daten aber noch abspeichern so das man sie mit dem Login erreichen kann und sich einloggen kann.

FG Niklas

Ach was, die sind doch in der Datenbank abgespeichert mit INSERT werden sie in die Tabelle eingefügt

[PHP]$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,…[/PHP]