in datei schreib problem

Dieses Thema in datei schreib problem im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von mafihl, 2. Apr. 2005.

Thema: in datei schreib problem moin Forum, möchte mich anmelden, also namen und passwort vergeben und diese in eine textdatei schreiben. code:...

  1. moin Forum,


    möchte mich anmelden, also namen und passwort vergeben und diese in eine textdatei schreiben.


    code:

    <form method=post action=anmelden.php>
    Username:<br>
    <input type=text name=username><br><br>
    Password:<br>
    <input type=password name=password><br><br>
    Wiederhole<br>Password:<br>
    <input type=password name=password2><br><br>
    <input type=submit value=Anmelden>
    </form>



    und die anmelden.php:


    <?php
    include(config.php);   //hier steht nichts relevantes drin

    $user_name = array();

    if($_POST['username'] != and $_POST['password'] != ) {

    echo <b><font color=\#FF0000\>Es wurden nicht alle Felder ausgefüllt!</b></font><br><a href=\\ onClick=\history.back()\>zurück</a>;

    }
    else
    {
    $userdatei = fopen (benutzer.txt,r);
    while (!feof($userdatei))
    {
    $zeile = fgets($userdatei,100);
    $userdata = explode(|, $zeile);
    array_push ($user_name,$userdata[0]);
    }
    fclose($userdatei);

    if (in_array($username,$user_name))
    {
    echo <b><font color=\#FF0000\>Dieser Benutzername existiert schon!</b></font><br><a href=\$anmeldeseite\>zurück</a>;
    }
    else
    {
    if ($password==$password2)
    {
    $userdatei = fopen (benutzer.txt,a);
    fwrite($userdatei, $username);
    fwrite($userdatei, |);
    $password=crypt($password,$schluessel);
    fwrite($userdatei, $password);
    fwrite($userdatei, \n);
    fclose($userdatei);
    echo Anmeldung war erfolgreich!<br><a href=\$loginseite\>zum Login</a>;
    }
    else
    {
    echo <b><font color=\#FF0000\>Ihr angegebenes Passwort stimmt nicht mit dem zu Widerholenden überein!</b></font><br><a href=\$loginseite\>zurück</a>;
    }
    }
    }
    ?>



    Ist hier irgendetwas falsch? vielleicht nicht php5 geeignet oder so.

    Ich will ja eigentlich nur zwei werte auslesen,ne txt einsehen und wenn gut- werte durch  | getrennt reinschreiben.

    Ich verzweifel langsam daran.

    Dankbar für jeden guten Rat,

    mafihl
     
  2. Hi

    Die Variablen $username, $password und $password2 sind nicht gesetzt, du meinst wahrscheinlich die $_POST Werte.

    Gruß, Michael
     
  3. Probiers mal so:

    Code:
    <?php
    include(config.php);  //hier steht nichts relevantes drin
    
    $user_name = array();
    
    if($_POST['username'] ==  || $_POST['password'] ==  || $_POST['password2'] ==  ) {
    	echo <b><font color=\#FF0000\>Es wurden nicht alle Felder ausgefüllt!</b></font><br><a href=\\ onClick=\history.back()\>zurück</a>;
    }
    elseif($_POST['password'] != $_POST['password2']) {
    	echo <b><font color=\#FF0000\>Die Passwörter müssen übereinstimmen!</b></font><br><a href=\\ onClick=\history.back()\>zurück</a>;
    }
    else {
    	$userdatei = fopen (benutzer.txt,r);
    	
    	while ($zeile = fgets($userdatei,100)) {
    		$userdata = explode(|, $zeile);
    		array_push ($user_name,$userdata[0]);
    	}
    	fclose($userdatei);
    	
    	if (in_array($_POST['username'],$user_name)) {
    		echo <b><font color=\#FF0000\>Dieser Benutzername existiert schon!</b></font><br><a href=\$anmeldeseite\>zurück</a>;
    	}
    	else {
    		$userdatei = fopen (benutzer.txt,a);
    		$string = $_POST['username'].|.crypt($_POST['password']);
    		fwrite($userdatei, $string.\n);
    		fclose($userdatei);
    		echo Anmeldung war erfolgreich!<br><a href=\$loginseite\>zum Login</a>;
    	}
    }
    ?>
    
    
     
  4. @Michael,

    warum haste deinen Tipp wegen dem ODER gelöscht.
    Dein Einwand war schon richtig ;) ;)
     
  5. ich bin begeistert. scheint zu klappen!
    und wie schnell! $war wohl besonders einfach;

    vielen dank!
     
  6. Jup ;D ;D
     
  7. Hi

    Nein war er nicht, nur verschlimmbessert :eek:
    Seine if Bedingung ist im Prinzip richtig, nur sind if und else vertauscht.

    Gruß, Michael
     
  8. verschlimmbessert?

    naja.., jetzt funktioniert dass hier gar nicht mehr:

    Code:
    
    <?php
    session_start();
    session_register(username);
    ?>
    
    <?php
    include (config.php);
    
    $password=crypt($password,$schluessel);
    $password .= \n;
    $log=0;
    
    
    $userdatei = fopen (benutzer.txt,r);
    
        while ($zeile = fgets($userdatei,50)) {
            $userdata = explode(|, $zeile);
            if ($userdata[0]==$username && $userdata[1]==$password)
    
    
    
    {
    $log=1;
    $loginStatus = allGood;
    }
    }
    fclose($userdatei);
    
    
    if ($log==1)
    {
    ?>
    
    der schluessel fehlt jetzt, der in meinem script vorkam, jetzt wird §schluessel gar nicht berücksichtigt.

    in dem fall ist die config.php doch nicht irrelevant weil da §schluessel definiert ist.
    $schluessel = 12; .z.B.


    bitte um Hilfe!

    gruß

    mafihl
     
  9. Änderung in der => anmelde.php
    Code:
    <?php
    ......
    $string = $_POST['username'].|.crypt($_POST['password'],$schluessel);
    ......
    ?>
    
    Wie sieht denn dieser Link aus => $loginseite ???
     
  10. $loginseite führt zu dem login, der folgt wenn man sich registriert hat.

    da werden dann user und pass aus der txt abgefragt und dann kommt man zum inhalt. leider funktioniert der login jetzt nicht mehr.

    wenn ich mich einloggen will wird das abgefragt:


    Code:
    <?php
    session_start();
    session_register(username);
    ?>
    
    <?php
    include (config.php);
    
    $password=crypt($password,$schluessel);
    $password .= \n;
    $log=0;
    
    
    $userdatei = fopen (benutzer.txt,r);
    
        while ($zeile = fgets($userdatei,50)) {
            $userdata = explode(|, $zeile);
            if ($userdata[0]==$username && $userdata[1]==$password)
    
    
    
    {
    $log=1;
    $loginStatus = allGood;
    }
    }
    fclose($userdatei);
    
    
    if ($log==1)
    {
    ?>
    
     Hier der Inhalt der seite
    
    
    <?php
    }
    else
    {
    echo Benutzer existiert nicht oder das Passwort ist falsch!<br><a href=\$loginseite\>zurück</a>;
    }
    ?>
    

    aber datt funktioniert verdammt nochmal nicht.


    you know why?
     
Die Seite wird geladen...

in datei schreib problem - Ähnliche Themen

Forum Datum
Datei überschreiben verhindern Software: Empfehlungen, Gesuche & Problemlösungen 16. Okt. 2014
Dateiformat wie pdf, aber beschreibbar? Microsoft Office Suite 3. Jan. 2013
Masterdateitabelle im Eimer, bitte um Rat (Bilder und Beschreibung anbei) Datenwiederherstellung 10. Aug. 2011
Outlook 2003 Dateien zurückschreiben Microsoft Office Suite 12. Feb. 2011
mit PHP in XML-Datei speichern (schreiben) Windows XP Forum 11. Feb. 2011