Zum Inhalt springen

Php-Login


Empfohlene Beiträge

Tach,

Erstmals möcht ich erwähnt haben, dass ich ein absoluter php-Neuling bin.

Ich hab hier mal meine ersten Versuche mit einen php-loginscript versucht, funktioniert auch, nur sobald ich mehrere Accounts registriert habe und logge mich nicht mit dem ersten acc ein den ich erstellt habe, bekomme ich sämtliche Fehlermeldungen, da er als erstes mit den anderen acc's vergleicht und das auch als echo ausgibt :S

Hier mal die Seite, damit ihr euch es auch mal in der Praxis ansehen könnt.

>Hier<

und hier der Quellcode:

Registrierungsformular:


<form method="post" action="speichern.php"><br>

User:<input type="text" name="user"><br>

Passwort:<input type="password" name="pass"><br>

<input type="submit" value="absenden"><br>

</form>

Php-script zum speichern:

<?php


$user = $_POST["user"];

$pw = $_POST["$pass"];

$pass = md5($pass);


$daten = fopen("daten.txt","a+");

fwrite($daten, $user);

fwrite($daten, "||");

fwrite($daten, $pass);

fwrite($daten,"\n");


fclose($daten);


?>


<html>

<header>

</header>

<body>

<a href="Loginformular.html">Zurück zum Login</a>

</body>

</html>

Login-Formular:

<form action="loginscript.php" method="post">

User:<input type="text" name="user"><br>

Passwort:<input type="password" name="pass"><br>

<input type="submit" value="Login"> <a href="regi.html">(Registrieren)</a>

</form>

Und zu guter letzt das Loginscript:

<?php

$user = $_POST["user"];

$pass = $_POST["pass"];

$pass = md5($pass);

$log = 0;


function loaddata()

{

if(file_exists("daten.txt"))

{

$data = file("daten.txt");

}

return $data;

}

if($user && $pass)

{

$data = loaddata();

$i = 0;

foreach($data as $erg)

{

$erg = explode("||", $erg);

if((trim($user)==trim($erg[0])) &&

(trim($pass))==trim($erg[1]))

{

echo "Herzlich Willkommen $user";

}

else

{

echo "Benutzername $user oder Passwort falsch geschrieben. Andernfalls bitte registrieren.";

}

$i++;

}

} else

{

echo "";

}

?>

Hoffe ihr könnt mir helfen :S

Mfg Cartman

Link zu diesem Kommentar
Auf anderen Seiten teilen

Liest doch die Text-Datei Zeile für Zeile ein und überprüfe den jeweiligen Inhalt nach dem eingegebenen Benutzernamen.o.ä.

Mein Rat: Nimm für die ganze Angelegenheit eine Datenbank. Ist am Ende sicherer, falls dein Skript zum praktischen Einsatz kommt!

In der DB machst du dann einfach einen Select auf den Datensatz WHERE username = '...';......is am einfachsten, wie ich finde.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstmal vorweg zu deiner Datei Daten.txt

Wenn du die Daten in einer Datei speichern möchtest, dann lass sie in eine *.php datei schreiben, denn im Moment kann jeder der /daten.txt im browser aufruft die Nutzer sehen.

Der Inhalt der PHP-dateien ist aus dem Browser heraus nicht einsehbar.

Hier nun ein Vorschlag wie du dein Problem mit einer Hilfsvariable lösen könntest

Änderung im Login-script:


<?php
$user = $_POST["user"];
$pass = $_POST["pass"];
$pass = md5($pass);
$log = 0;

function loaddata()
{
if(file_exists("daten.txt"))
{
$data = file("daten.txt");
}
return $data;
}
if($user && $pass)
{
$data = loaddata();
$i = 0;
$logged = false;
foreach($data as $erg)
{
$erg = explode("||", $erg);
if((trim($user)==trim($erg[0])) &&
(trim($pass))==trim($erg[1]))
$logged=true;

$i++;
}

if($logged)
{
echo "Herzlich Willkommen $user";
}
else
{
echo "Benutzername $user oder Passwort falsch geschrieben. Andernfalls bitte registrieren.";
}

} else
{
echo "";
}


?>

[/PHP]

Grüße Padjon

Bearbeitet von Padjon
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...