mein login funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mein login funktioniert nicht

    Also ich habe meine eigene Seite gemacht und dadrauf auch ein login, login ist auf index.php . Fals man das passwort oder den benutzername falsch hat kommt die meldung zugriff verweigert, hab ich auch so eingestellt, aber wenn man sich einloggen will kommt genau das obwohl beides richtig ist also passwort und username.
    Das Formular in der index.php:
    PHP-Code:
    <form action="login/login.php" method="post"
    <
    input name="username" type="text" value="Benutzername" size="24" maxlength="50">
    <
    input name="passwort" type="password" size="24" maxlength="50" value="Passwort">
    <
    input type="submit" name="Submit" value="Login"></p>
              </
    form
    Und das login script: (ich habe es in dem unterordner login)
    PHP-Code:
    <?php
    session_start
    ();
    ?>
    <br><br>
    <?php
    $username 
    $_POST["username"];
    $passwort $_POST["password"];
    $passwort md5($passwort);
    $log=0;

    $userdatei fopen ("user.txt","r");
    while (!
    feof($userdatei))
       {
       
    $zeile fgets($userdatei,500);
       
    $userdata explode("|"$zeile);

       if (
    $userdata[0]==$username and $passwort==trim($userdata[1]))
          {
          
    $_SESSION['username'] = $username;
          echo 
    "Login war erfolgreich.;
          
    $log=1;
          }
       }
    fclose(
    $userdatei);

    if (
    $log==0)
       {
       echo "
    Zugrief verweigert!";
       }
    ?>
    Was ist dadran falsch?
    Zuletzt geändert von alex1702; 21.05.2008, 23:43.
    Mfg

    Alexander

  • #2
    Ansich müsste es erstmal einen Syntax Error geben, wenn ich hier deinen Code sehe..

    Dann:
    error_reporting(E_ALL);

    + Testausgaben von $userdata etc.

    mfg

    Kommentar


    • #3
      Original geschrieben von Blackgreetz
      Ansich müsste es erstmal einen Syntax Error geben, wenn ich hier deinen Code sehe..

      Dann:
      error_reporting(E_ALL);

      + Testausgaben von $userdata etc.

      mfg
      nein gibt kein error. Nur das ich kein zugrieff habe, kannst ja selbst ausprobieren hier die seite: superstormfire.ath.cx
      kannst dich ja regiestrieren und ausprobieren.
      Mfg

      Alexander

      Kommentar


      • #4
        Wenn du kein Zugriff hast, wie soll er dann die Datei öffnen?

        Wie war das mit den Testausgaben?

        Btw: wenn wir was testen sollen, dann bereits vorregistriert..

        mfg

        Kommentar


        • #5
          versteh jetzt nicht was du meinst.
          Hier der test acc:
          Username: testacc
          Passwort: test123

          welche datei?
          Zuletzt geändert von alex1702; 22.05.2008, 01:39.
          Mfg

          Alexander

          Kommentar


          • #6
            @Alex
            Lies deinen Code nochmals GANZ aufmerksam durch. Da hast du einen dicken Fehler drin. Tipp: Das Element aus dem POST-Array und das Inputfeld müssen 100% übereinstimmen im Namen.
            Hättest du das Error Reporting so aufgedreht wie es in unseren Regeln steht, dann hätte dich PHP mit einer entsprechenden Meldung beglückt

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Einen weiteren Fehler siehst du ja schon an den Farben in deinem Code.
              D.h. aber auch, dass dieses Script wegen Syntax-Fehlern (Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in ...) gar nicht laufen kann.
              Gruss
              H2O

              Kommentar


              • #8
                wie ist es den richtig?
                also ein fehler hab ich gesehen das mit passwort und password hab jetzt das zweite uaf passwort gemacht. aber jetzt kommt der Fehler wenn man sich einlofggt:
                Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\login\login.php on line 93

                Wie ist es den richtig?
                Mfg

                Alexander

                Kommentar


                • #9
                  Das hab ich dir ja schon vorausgesagt. Überlege dir, wie Zeichenketten geschrieben werden, und schau dir die Stelle im Code an, an der plötzlich fast alles rot ist.
                  Gruss
                  H2O

                  Kommentar


                  • #10
                    schau dir das mal genau an (wenn das noch der originalcode ist)
                    PHP-Code:
                    echo "Login war erfolgreich.;
                    $log=1; 
                    und vielleicht solltest du das hier auch mal lesen.

                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      ja hab gesehen hab das: " vergessen.
                      Mfg

                      Alexander

                      Kommentar


                      • #12
                        jetzt hab ich ein anderes problem. also wenn man sich einloggt kommt ja die login.php und dann kommt der Fehler:
                        Parse error: syntax error, unexpected $end in C:\xampp\htdocs\login\login.php on line 118

                        Hier der login script insgesammt:
                        PHP-Code:
                        <html>
                        <style type="text/css">
                        <!--
                        .Stil3 {
                            font-size: 24px;
                            color: #990000;
                        }
                        .Stil7 {
                            font-size: 36pt;
                            color: #990000;
                            font-family: "Courier New", Courier, monospace;
                        }
                        .Stil8 {
                            color: #990000;
                            font-size: 18px;
                        }
                        .Stil10 {font-size: 16px}
                        .Stil11 {font-size: 12px}
                        .Stil12 {font-size: 24px}
                        .Stil13 {font-size: 14px}
                        -->
                        </style>
                        <head>
                        <title>superstormfire_the_new_game</title>
                        <meta http-equiv="content-type"
                          content="text/html; charset=iso-8859-1" />
                        <meta name="content-language" content="de" />
                        <meta name="author"           content="Alexander" />
                        <meta name="copyright"        content="Alexander Finkhäuser" />
                        <meta name="keywords"         content="game,spiele,spiel,
                        new,cool,cool game,new game,best game,best, superstormfire,super,storm,fire,stormfire,
                        superstorm,freegame,kostenloasespiele,kostenlos,free" />
                        <meta name="description"      
                        content="Auf dieser Seite kann man sich anmelden und das neue Spiel spielen, was wir gemacht
                         haben.Es wird euch bestimmt gefallen und es ist völlig kostenlos" />
                        <meta name="page-type"        content="game" />
                        <meta name="language"         content="Deutsch" />
                        <meta name="revisit"          content="After 5 days" />
                        <meta name="robots"           content="INDEX,FOLLOW" />
                        </head>
                        <body bgcolor="#333333" 
                        text="#990000" link="#0000FF" vlink="#990066">
                        <img src="oberstreifen.jpg" 
                        alt="" name="bild" width="978" height="25" id="bild">
                        <table cellspacing="0" 
                        width="979" height="708" border="1" frame="box">
                          <tr>
                            <th height="73" colspan="3" bgcolor="#000000"
                         
                        scope="col"><h1 align="center" class="Stil7">Superstormfire</h1>      </th>
                          </tr>
                          <tr>
                            <td width="242" rowspan="2" align="left" valign="top" bgcolor="#666666"><table 
                        width="212" height="200" border="1" align="center">
                              <tr>
                                <th width="225" height="32" 
                        align="center" valign="top" scope="col"><span class="Stil3">Hauptmen&uuml;</span></th>
                              </tr>
                              <tr>
                                <td height="157" align="left" valign="top"><p>>><a
                         href="http://superstormfire.ath.cx">Startseite</a><br>
                                >></p>
                                  </td>
                              </tr>
                            </table>
                              <br>
                              <table width="212" height="196" border="1" align="center">
                                <tr>
                                  <th height="31" scope="col"><span class="Stil12">News</span></th>
                                </tr>
                                <tr>
                                  <td valign="top">
                                  <?php include "news.php" ?></td>
                                </tr>
                              </table>
                              <p>&nbsp;</p>
                              </p></td>
                            <td width="548" rowspan="2" align="left" valign="top" bgcolor="#000000">
                              <p align="center"><?php include "zeit.php"?></p>
                              <p align="center" class="Stil12">
                        <?php
                        session_start
                        ();
                        ?>
                        <br><br>
                        <?php
                        $username 
                        $_POST["username"];
                        $passwort $_POST["passwort"];
                        $passwort md5($passwort);
                        $log=0;

                        $userdatei fopen ("user.txt","r");
                        while (!
                        feof($userdatei))
                           {
                           
                        $zeile fgets($userdatei,500);
                           
                        $userdata explode("|"$zeile);

                           if (
                        $userdata[0]==$username and $passwort==trim($userdata[1]))
                              {
                              
                        $_SESSION['username'] = $username;
                              echo 
                        "Login war erfolgreich.";
                              
                        $log=1;
                              }
                        fclose($userdatei);

                        if (
                        $log==0)
                           {
                           echo 
                        "Zugrief verweigert";
                           }
                        ?> </p>
                            <p align="center">&nbsp;</p></td>
                            <td width="175" height="139" align="center" valign="top" 
                        bgcolor="#666666"><table width="171" height="166" border="1">
                                <tr>
                                  <th width="161" height="29" valign="top" scope="col"><span class="Stil8">Login:</span></th>
                                </tr>
                                <tr>
                                  <td height="106">
                                  <form action="login.php" method="post" name="form1">
                                   <input name="username" type="text" value="Benutzername" size="24" maxlength="50">
                                    </a>
                                        <input name="passwort" type="password" size="24" maxlength="50" value="Passwort">
                                        <input type="submit" name="Submit" value="Login">
                                      <a href="registrieren.php" class="pkcontent_a_right">Registrieren</a>              </p>
                                  </form>        </tr>
                            </table>    </td>
                          </tr>
                          <tr>
                            <td height="358" align="left" valign="top" bgcolor="#666666">&nbsp;</td>
                          </tr>
                        </table>
                        Zeile 118 ist die ganz unden.
                        Was ist den jetzt schon wieder falsch?
                        Fals es der Fehler ist da fehlt </html> das hab ich auch schon versucht der gleiche fehler.
                        Zuletzt geändert von alex1702; 22.05.2008, 16:53.
                        Mfg

                        Alexander

                        Kommentar


                        • #13
                          In Zeile 60 öffnest du ne while() schleife, die schließt du aber nicht.

                          Formatier deinen Code vernünftig (Einrückungen) dann siehst du sowas banales selbst.
                          EDIT:
                          Fals es der Fehler ist da fehlt </html> das hab ich auch schon versucht der gleiche fehler.
                          Du solltest erstmal grundlegend zwischen HTML und PHP unterscheiden. Wenn PHP dir eine Fehlermeldung wirft, dann kann das gar nichts mit dem HTML-Quellcode zu tun haben.

                          Kommentar


                          • #14
                            Also irgendwie schaut mir diese Schleife etwas strange aus!
                            PHP-Code:
                            while (!feof($userdatei))
                               {
                               
                            $zeile fgets($userdatei,500);
                               
                            $userdata explode("|"$zeile);

                               if (
                            $userdata[0]==$username and $passwort==trim($userdata[1]))
                                  {
                                  
                            $_SESSION['username'] = $username;
                                  echo 
                            "Login war erfolgreich.";
                                  
                            $log=1;
                                  }
                            fclose($userdatei); 
                            Was passiert wenn der User in der ersten Zeile nicht gefunden wird? Du schliesst den Pointer auf die Datei und der nächste Schleifendurchlauf findet imho gar nie statt
                            Und zu deiner Fehlermeldung: So weit ich das sehe hast du "vergessen" die while-Schleife zu schliessen (sehe kein })
                            Und irgendwie beschleicht mich das Gefühl, dass deine Session gar nicht funzen wird (zumindest wenn du Session Cookies verwenden willst). Da bereits zuvor ein Output an den Client stattgefunden hat.

                            Gruss

                            tobi
                            EDIT:

                            Brich bitte noch den Code deines letzten Posts um, damit keine horizontalen Scrollbalken entstehen

                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              hab das jetzt so:
                              PHP-Code:
                              <?php
                              session_start
                              ();
                              ?>
                              <br><br>
                              <?php
                              $username 
                              $_POST["username"];
                              $passwort $_POST["passwort"];
                              $passwort md5($passwort);
                              $log=0;

                              $userdatei fopen ("user.txt","r");
                              while (!
                              feof($userdatei))
                                 {
                                 
                              $zeile fgets($userdatei,500);
                                 
                              $userdata explode("|"$zeile);

                                 if (
                              $userdata[0]==$username and $passwort==trim($userdata[1]))
                                    {
                                    
                              $_SESSION['username'] = $username;
                                    echo 
                              "Login war erfolgreich.";
                                    
                              $log=1;
                                    }
                                  }
                              fclose($userdatei);

                              if (
                              $log==0)
                                 {
                                 echo 
                              "Zugrief verweigert";
                                 }
                              ?>
                              Was ist jetzt noch falsch?
                              kommt jemlich die Fehlermeldung:
                              Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\login\login.php:2) in C:\xampp\htdocs\login\login.php on line 70
                              Mfg

                              Alexander

                              Kommentar

                              Lädt...
                              X