Ankündigung

Einklappen
Keine Ankündigung bisher.

Informationen müssen doppelt gesendet werden.

Einklappen

Neue Werbung 2019

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

  • Informationen müssen doppelt gesendet werden.

    Hallo zusammen,

    ich bin ein Anfänger in php und wollte mal ein einfaches Login Script schreiben
    um eventuell spätere Projekte damit auszurüsten.
    Das Skript funktioniert in seiner derzeitigen Form eigentlich ganz gut außer das ich sowohl beim einloggen als auch beim ausloggen jeweils 2 mal auf den Button drücken muss. (inklusive daten senden )


    Um die gewünscht Seite angezeigt zu bekommen.

    Hier der Code:
    Login.php (da steht das script drin)
    PHP-Code:
    <?php @session_start();?>
    (HTML angaben wie head usw)
    <?php
     

     
    require_once("funktions.inc.php");
     
    dbcon();
     
     if(isset(
    $_SESSION['logonid']))
     {
     
    $_SESSION['logonid']=$_SESSION['logonid'];
     }
     else
     {
     
    $_SESSION['logonid']="1";
     }
     
     if(
    $_SESSION['logonid']!="1")                                             
     {    
      echo (
    "<center>Wilkommen<br />".$_SESSION['logonid']."<br> </center>");
     include(
    "logout.php");
     }
     else                                                                
     {
     include(
    "login2.php");    //login Formular
     
    if (isset ($_POST["send"])) 
     {
     
    $user $_POST["user"]; //Umwandeln der globalen variablen in 
     
    $pw =md5($_POST["PW"]); // normale Variablen und verschlüsselung des Passwords. 
     
       
    $sql= ("SELECT * FROM user WHERE user='$user'");    //
       
    $db_erg=mysql_query($sql)                           //auslesen der datenbank 
       
    or die(mysql_error());                              //  
       
    $check mysql_fetch_array$db_ergMYSQL_ASSOC);
       
       
       if((
    $check['user']==$user) && ($check['password']==$pw)) //Informations prüfung (eigentliches login)
         
    {
       
    $sql=("UPDATE user SET seasionid ='".session_id()."' WHERE id='".$check['id']."'"); // daten in der datenbank aktualisieren.
       
    $sql_erg=mysql_query($sql)
       or die (
    " Session id konnte nicht geschrieben werden<br> " .mysql_error()); 
         
         
    $_SESSION['logonid']=$check['user'];
         echo(
    $_SESSION['logonid']);                 //setzen der session variablen logon id( zwecks login prüfung)
         
    }
       else 
        {
        echo(
    "Benutzername und/oder Password falsch");
        }
      }
      else 
      {
       echo (
    "Bitte Loggen sie sich ein"); 
       }
      }
     
    mysql_close(); 
     
    ?>
    Dann meine functions.inc.php
    PHP-Code:
     function dbcon()
      {
      require_once(
    "config.inc.php");
      
    mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT);
      
    mysql_select_db (MYSQL_DATENBANK)
      or die (
    "die Datenbank exestiert nicht oder kann nicht angwählt werden".mysql_error());
      } 
    (in der werden nur die DB sachen gespeichert)

    der login2.php (die datei die das eigentliche login Formular enthält)
    PHP-Code:
    <body>
    <
    form action="index.php?=88" method="post">
           <
    input name="user"/>Benutzername<br />
           <
    input type="password" name="PW"  />Password <br />
           <
    input type="submit" name="send" value="Login" />
    </
    form>
    <
    a href="register.php"  Regestrieren </a
    und die logout.php
    PHP-Code:
    <body>
    <
    form action="index.php?=88" method="post">
           <
    input name="user"/>Benutzername<br />
           <
    input type="password" name="PW"  />Password <br />
           <
    input type="submit" name="send" value="Login" />
    </
    form>
    <
    a href="register.php"  Regestrieren </a
    Dann habe ich zwar noch eine reg.php aber die ist nur dafür da daten in die db zu schieben.

    Online kann ich es euch leider nicht präsentieren da ich das ganz local mache.
    (XAMPP (MYSQL und APACHE laufen ) in den Standard Einstellungen.

    ich hoffe ich konnte alle informationen geben die ihr braucht um mir zu helfen danke schonmal im voraus

    Achso es soll eigentlich so sein das wenn man einloggt direkt danach eine Meldung alla willkommen §user und der log out Button zu sehen ist. Beim ausloggen soll dann eben wieder die anfängliche Seite mit dem Login Formular stehen.

    Gruß Dagon

  • #2
    session handling ist dein stichwort.

    Kommentar


    • #3
      Kannst du die aussage etwas präzisieren ?
      ICh verstehe nicht so ganz worauf die hinaus wilst.

      Kommentar


      • #4
        um etwas in eine Session zu schreiben, musst du das erst zum server schicken. daher die 2 aufrufe. 1.) Aufruf "senden" 2.) Aufruf "anzeigen"

        Kommentar

        Lädt...
        X