Ankündigung

Einklappen
Keine Ankündigung bisher.

brauche hilfe bei einem loginscript

Einklappen

Neue Werbung 2019

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

  • brauche hilfe bei einem loginscript

    hallo alle miteinander.. ich habe mir im inet einen loginscript rausgesucht,
    aba irgendwie funzt der bei mir nich.. es kann sein, dass ich n fehler
    gemacht habe, als ich die daten geändert habe.. ich weiß es nich.. wär
    geil wenn mir irgendjemand sagen könnte was ich da falsch habe..

    login.php
    PHP-Code:
    <?php  
    include ("connect.php");
    // Session starten 
    session_start (); 

    // Datenbankverbindung aufbauen  
    if (!mysql_select_db ("benutzerdaten"$connectionid))  
    {  
      die (
    "Keine Verbindung zur Datenbank");  
    }  

    $sql "SELECT ".  
        
    "Id, Nickname, Nachname, Vorname ".  
      
    "FROM ".  
        
    "benutzerdaten ".  
      
    "WHERE ".  
        
    "(Nickname like '".$_REQUEST["name"]."') AND ".  
        
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";  
    $result mysql_query ($sql);  

    if (
    mysql_num_rows ($result) > 0)  
    {  
      
    // Benutzerdaten in ein Array auslesen.  
      
    $data mysql_fetch_array ($result);  

      
    // Sessionvariablen erstellen und registrieren  
      
    $_SESSION["user_id"] = $data["Id"];  
      
    $_SESSION["user_nickname"] = $data["Nickname"];  
      
    $_SESSION["user_nachname"] = $data["Nachname"];  
      
    $_SESSION["user_vorname"] = $data["Vorname"];  

      
    header ("Location: intern.php");  
    }  
    else  
    {  
      
    header ("Location: formular.php?fehler=1");  
    }  
    ?>

    formular.php
    PHP-Code:
    <?php 
    include ("connect.php");
    session_start (); ?> 
    <html>  
    <head>  
      <title>Login</title>  
    </head>  

    <body>  
    <?php  
    if (isset ($_REQUEST["fehler"]))  
    {  
      echo 
    "Die Zugangsdaten waren ungültig.";  
    }  
    ?>  
    <form action="login.php" method="post">  
      Name: <input type="text" name="name" size="20">
      
      Kennwort: <input type="password" name="pwd" size="20">
      
      <input type="submit" value="Login">  
    </form>  
    </body>  
    </html>

    checkuser.php
    PHP-Code:
    <?php  
    session_start 
    ();  
    if (!isset (
    $_SESSION["user_id"]))  
    {  
      
    header ("Location: formular.php");  
    }  
    ?>

    intern.php
    PHP-Code:
    <?php  
    include ("checkuser.php");  
    include (
    "connect.php");
    ?>  
    <html>  
    <head>  
      <title>Interne Seite</title>  
    </head>  
    <body>  
      BenutzerId: <?php echo $_SESSION["user_id"]; ?>
      
      Nickname: <?php echo $_SESSION["user_nickname"]; ?>
      
      Nachname: <?php echo $_SESSION["user_nachname"]; ?>
      
      Vorname: <?php echo $_SESSION["user_vorname"]; ?>  
      <hr>  
      [url="logout.php"]Ausloggen[/url]  
    </body>  
    </html>

    logout.php
    PHP-Code:
    <?php  
    include ("connect.hp");
    // Wird ausgeführt um mit der Ausgabe des Headers zu warten.  
    ob_start ();  

    session_start ();  
    session_unset ();  
    session_destroy ();  

    header ("Location: formular.php");  
    ob_end_flush ();  
    ?>

    Ich weiß einige werden sich jetzt wieder richtig freuen, da der quelltext n
    bissl lang is, aba bitte schaut euch das mal an.. ich bin echt am verzweifeln..

    schonma Thx im vorraus..

  • #2
    fehlermeldung? oder in wie weit funzt das nicht?
    Es ist ein großer Trost, andere dort scheitern zu sehen, wo man selbst gescheitert ist. (William Somerset Maugham)

    Kommentar


    • #3
      ja.. er sagt wenn man auf login klickt, dass er nich mit dem server keine verbingung herstellen kann..

      Kommentar


      • #4
        hast vielleicht mal nen link?


        cool.. weihnachtssmileys

        Kommentar


        • #5
          das Loginscript benutze ich auch, läuft bei mir einwandfrei.
          Bei der Logout-Datei bindest du connect.hp statt connect.php ein. Liegts daran?

          Kommentar


          • #6
            hab es mitlerweile, mit hilfe, schon soweit hinbekommen, dass er mir keine fehlermeldung mehr anzeigt.. nun ist es so das er einfach die eingabefelder wieder löscht und auf der formular.php bleibt

            Hier der Link: http://php.soad-community.de/intern.php

            die connect.php:
            [php]<?php
            $dbhost="XXXXXXXXXX"; // Host
            $dbuser="XXXXXXXXXX"; // User
            $dbpw="XXXXXXXXXX"; // Passwort
            $db="XXXXXXXXXX"; // Datenbank

            $conn = mysql_connect($dbhost, $dbuser, $dbpw);
            $select_db = mysql_select_db($db,$conn);
            ?>
            PHP-Code:

            vllt findet ihr ja noch was
            ..  wär auf jeden fall geil 

            Kommentar


            • #7
              in der intern.php fehlt das session_start();
              deshalb ist $_SESSION["user_id"] nicht registriert und checkuser.php leitet auf formular.php um.

              Kommentar


              • #8
                dejus kannst du mir mal den ganzen quellcode posten.. ich kann da so nichts mit anfangen.. ich weiß nich genau wo das session_start(); hin muss.. ^^ sry.. bin halt n noob

                Kommentar


                • #9
                  Re: brauche hilfe bei einem loginscript

                  Zitat von DaronM
                  intern.php
                  PHP-Code:
                  <?php  
                  session_start
                  ();

                  include (
                  "checkuser.php");  
                  include (
                  "connect.php");
                  ?>  
                  <html>  
                  <head>  
                    <title>Interne Seite</title>  
                  </head>  
                  <body>  
                    BenutzerId: <?php echo $_SESSION["user_id"]; ?>
                    
                    Nickname: <?php echo $_SESSION["user_nickname"]; ?>
                    
                    Nachname: <?php echo $_SESSION["user_nachname"]; ?>
                    
                    Vorname: <?php echo $_SESSION["user_vorname"]; ?>  
                    <hr>  
                    [url="logout.php"]Ausloggen[/url]  
                  </body>  
                  </html>
                  Ich weiß nicht zu 100% ob das funzt, aber so sollte es eigentlich gehen.
                  mfg dejus

                  Kommentar


                  • #10
                    ne.. funzt leider nicht. wär ja auch zu geil gewesen.. hat nich noch jemand ne idee??

                    Kommentar


                    • #11
                      übrigens, was genau hast du jetzt geändert damit es funzt?

                      Kommentar


                      • #12
                        Mja, dann hätte ich noch einen letzten Trick auf Lager.
                        header("Location:") ist sehr fehleranfällig, um es mal so zu sagen.

                        Ersetze diese Zeile mal mit
                        <meta http-equiv="Refresh" content="0; url=intern.php?sid=<?=session_id()?>">

                        Insgesamt sieht das dann so aus:
                        PHP-Code:
                        <?php   
                        include ("connect.php"); 
                        // Session starten  
                        session_start ();  

                        // Datenbankverbindung aufbauen   
                        if (!mysql_select_db ("benutzerdaten"$connectionid))   
                        {   
                          die (
                        "Keine Verbindung zur Datenbank");   
                        }   

                        $sql "SELECT ".   
                            
                        "Id, Nickname, Nachname, Vorname ".   
                          
                        "FROM ".   
                            
                        "benutzerdaten ".   
                          
                        "WHERE ".   
                            
                        "(Nickname like '".$_REQUEST["name"]."') AND ".   
                            
                        "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";   
                        $result mysql_query ($sql);   

                        if (
                        mysql_num_rows ($result) > 0)   
                        {   
                          
                        // Benutzerdaten in ein Array auslesen.   
                          
                        $data mysql_fetch_array ($result);   

                          
                        // Sessionvariablen erstellen und registrieren   
                          
                        $_SESSION["user_id"] = $data["Id"];   
                          
                        $_SESSION["user_nickname"] = $data["Nickname"];   
                          
                        $_SESSION["user_nachname"] = $data["Nachname"];   
                          
                        $_SESSION["user_vorname"] = $data["Vorname"];   
                        ?>
                          <meta http-equiv="Refresh" content="0; url=intern.php?sid=<?=session_id()?>">
                            Weiterleitung funktioniert nicht? [url="intern.php?sid=<?=session_id()?>"] HIER [/url] gehts weiter...   
                        <?
                        }   
                        else   
                        {   
                         ?>
                          <meta http-equiv="Refresh" content="0; url=formular.php?fehler=1">
                          Benutzername und/oder Kennwort unbekannt! [url="formular.php"]Zur&uuml;ck[/url]
                          <?   
                        }   
                        ?>
                        Das sollte wirklich funktionieren.

                        Kommentar


                        • #13
                          Zitat von dejus
                          header("Location:") ist sehr fehleranfällig, um es mal so zu sagen.
                          Sagen wir mal so: Es gibt keiner Garantie das der Client auch den Location-Header akzeptiert und entsprechend umsetzt. Deswegen ist ein exit nach dem Aufruf von header() auch Pflicht, damit nicht ungewollt noch nachfolgender Code ausgeführt wird.

                          Kommentar

                          Lädt...
                          X