Zurück   HTML Forum > Programmierung > PHP

PHP Das PHP Forum für schnelle Hilfe und reichlich Tipps von Experten auf dem Gebiet von PHP.

Neues Thema erstellen  Antwort
 
Themen-Optionen Thema durchsuchen
Alt 04.09.2010, 22:20   #1
Neuer Benutzer
 
Registriert seit: 04.09.2010
Beiträge: 12
Standard Login und Registrierung über Textdatei

Hallo ich bin noch ziemlicher anfänger und hab eine frage:
also ich habe(mit einem tutorial) ein reestrierungs- und ein login script geschrieben.wenn man sich registriert wirden die daten in user.txt gespeichert.
nur das problem ist ich habe gemerkt das sich nur einer registrieren kan.
wenn sich noch wer registrieren will kommt ein fehler.
Also kan mir jemand helfen und mir sagen was ich am script ändern muss das wenn sich einer registriert die daten in einer neue zeile von user.txt gespeichert werden?
Hier der quelltext:
PHP-Code:
<?php
$username 
$_POST["username"];
$password $_POST["passwort"];
$password2 $_POST["passwort2"];



if (
$password == $password2)
   {
   
$user_vorhanden = array();
   
$passwort md5($password);


   
$userdatei fopen ("user.txt","r");
   while (!
feof($userdatei))
      {
      
$zeile fgets($userdatei,500);
      
$userdata explode("|"$zeile);
      
array_push ($user_vorhanden,$userdata[0]);
      }
   
fclose($userdatei);



   if (
in_array($username,$user_vorhanden))
      {
      echo 
"Username schon vorhanden <br> <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      
$userdatei fopen ("user.txt","a");
      
fwrite($userdatei$username);
      
fwrite($userdatei"|");
      
fwrite($userdatei$passwort);
      
fwrite($userdatei"\n");
      
fclose($userdatei);
      echo 
"$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";
      }
   }

else
  {
  echo 
"Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
  }

?>
patrick1704 ist offline   Mit Zitat antworten
Alt 05.09.2010, 09:49   #2
Administrator
 
Benutzerbild von developr
 
Registriert seit: 11.11.2008
Ort: Bremen
Beiträge: 260
developr eine Nachricht über ICQ schicken developr eine Nachricht über MSN schicken
Standard AW: Login und Registrierung über Textdatei

Das einlesen der Datei hat nicht richtig funktioniert, da keine neuen Zeilen angelegt wurden. Ich habe nun einfach ein ; als Trennzeichen zwischen den Datensätzen genommen. Außerdem hab ich die Datei nun anders eingelesen. Erst wird der gesamte Inhalt mit file_get_contents() gelesen, dann werden die Datensätze über das ; unterschieden und auch noch durch | getrennt. So funktioniert es jedenfalls bestens ;-).
PHP-Code:
 <?

$username 
$_POST["username"];
$password $_POST["passwort"];
$password2 $_POST["passwort2"];

if (
$password == $password2) {
    
$user_vorhanden = array();
    
$passwort md5($password);
    
    
$userdatei fopen ("patrick1704.txt","r");
    
$userdatei "patrick1704.txt";
    
$userdatei_inhalt file_get_contents($userdatei);
    
$zeilen explode(";",$userdatei_inhalt);
    foreach(
$zeilen AS $zeile) {
        
$userdata explode("|",$zeile);
        
array_push($user_vorhanden,$userdata[0]);
    }

    
/*while (!feof($userdatei))
    {
    $zeile = fgets($userdatei,500);
    $userdata = explode("|", $zeile);
    array_push ($user_vorhanden,$userdata[0]);
    }
    fclose($userdatei);*/
    
    
    
if (in_array($username,$user_vorhanden)) {
        echo 
"Username schon vorhanden <br> <a href=\"eintragen.html\">zurück</a>";
    } else {
        
$userdatei fopen ("patrick1704.txt","a");
        
fwrite($userdatei$username);
        
fwrite($userdatei"|");
        
fwrite($userdatei$passwort);
        
fwrite($userdatei";");
        
fclose($userdatei);
        echo 
"$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";
    }
    
} else {
    echo 
"Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
}

?>
developr ist offline   Mit Zitat antworten
Alt 05.09.2010, 10:13   #3
Neuer Benutzer
 
Registriert seit: 04.09.2010
Beiträge: 12
Standard AW: Login und Registrierung über Textdatei

danke für die hilfe.
aber ich hab das jetzt getestet aber ich glaube da ist was falsch:
PHP-Code:
  zurück";     } else {         $userdatei = fopen ("patrick1704.txt","a");         fwrite($userdatei$username);         fwrite($userdatei, "|");         fwrite($userdatei$passwort);         fwrite($userdatei, ";");         fclose($userdatei);         echo "$usernamedeine Anmeldung war erfolgreich
zum Login
";     }      } else {     echo "Die Passwörter sind nicht identisch
 zurück 
"; }  ?> 

das sehe ich genau so wie es hier steht.
oder muss ich da noch was ändern?

Geändert von patrick1704 (05.09.2010 um 13:32 Uhr)
patrick1704 ist offline   Mit Zitat antworten
Alt 05.09.2010, 12:57   #4
Administrator
 
Benutzerbild von developr
 
Registriert seit: 11.11.2008
Ort: Bremen
Beiträge: 260
developr eine Nachricht über ICQ schicken developr eine Nachricht über MSN schicken
Standard AW: Login und Registrierung über Textdatei

Bitte setze deinen PHP-Code in BB-Code um.

[php]Dein PHP Code[/php]
developr ist offline   Mit Zitat antworten
Alt 05.09.2010, 13:33   #5
Neuer Benutzer
 
Registriert seit: 04.09.2010
Beiträge: 12
Standard AW: Login und Registrierung über Textdatei

sorry schon geändert.
also:kannst du mir sagen was ich ändern muss?
patrick1704 ist offline   Mit Zitat antworten
Alt 05.09.2010, 14:07   #6
Administrator
 
Benutzerbild von developr
 
Registriert seit: 11.11.2008
Ort: Bremen
Beiträge: 260
developr eine Nachricht über ICQ schicken developr eine Nachricht über MSN schicken
Standard AW: Login und Registrierung über Textdatei

Ups... ja.

PHP-Code:
<?

$username 
$_POST["username"];
$password $_POST["passwort"];
$password2 $_POST["passwort2"];

if (
$password == $password2) {
    
    
$user_vorhanden = array();
    
$passwort md5($password);
    
    
$userdateiname "user.txt";
    
$userdatei_inhalt file_get_contents($userdateiname);
    
$zeilen explode(";",$userdatei_inhalt);
    foreach(
$zeilen AS $zeile) {
        
$userdata explode("|",$zeile);
        
array_push($user_vorhanden,$userdata[0]);
    }
 
    if (
in_array($username,$user_vorhanden)) {
        echo 
"Username schon vorhanden <br> <a href=\"eintragen.html\">zurück</a>";
    } else {
        
$userdatei fopen ($userdateiname,"a");
        
fwrite($userdatei$username);
        
fwrite($userdatei"|");
        
fwrite($userdatei$passwort);
        
fwrite($userdatei";");
        
fclose($userdatei);
        echo 
"$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";
    }
    
} else {
    echo 
"Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
}

?>
developr ist offline   Mit Zitat antworten
Alt 05.09.2010, 14:16   #7
Neuer Benutzer
 
Registriert seit: 04.09.2010
Beiträge: 12
Standard AW: Login und Registrierung über Textdatei

vielen dank aber ich sehe immer noch genau:
PHP-Code:
zurück";     } else {         $userdatei = fopen ($userdateiname,"a");         fwrite($userdatei$username);         fwrite($userdatei, "|");         fwrite($userdatei$passwort);         fwrite($userdatei, ";");         fclose($userdatei);         echo "$usernamedeine Anmeldung war erfolgreich
zum Login
";     }      } else {     echo "Die Passwörter sind nicht identisch
 zurück 
"; }  ?> 
Normal müsste doch ein anmeldeformular dort sein nicht?
warum wird es falsch angezeigt?
patrick1704 ist offline   Mit Zitat antworten
Neues Thema erstellen  Antwort
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Root Login über SSH verbieten developr Debian 0 08.09.2009 14:09
Windows Login automatisieren developr Windows XP 0 28.07.2009 22:36