Sessio_register()

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

  • Sessio_register()

    Hallo kämpfe gerade mit Session_register() rum, habe einen Loginscript aus den Tutorials. Jetzt möchte ich das wenn jemand sich anmeldet, das der Username in der Session registriert wir. Leider schaffe ich das nicht, könntet ihr mir helfen.. hier mein Script
    PHP-Code:

    <?

    echo "<table width=\"100%\" border=\"0\">\n";
    echo "  <tr>\n";
    echo "    <td width=\"30%\">&nbsp;</td>\n";
    echo "    <td><p class=\"subHeader\"><strong>Kunden Login</strong> </p>\n";

    include 'sessionhelpers.inc.php';
    if (isset($_POST['login']))
    {
        $userid=check_user($_POST['username'], $_POST['userpass']);
        if ($userid!=false)
            login($userid);
             
        else
            echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
        echo '<form method="post" action="index.php?page=login">
            <label>Benutzername:&nbsp</label><input name="username" type="text"><br>
            <label>Passwort:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label><input name="userpass" type="password" id="userpass"><br><br>
            <input name="login" type="submit" id="login" value="Einloggen">
        </form>';
    else
    {
      session_register(username); [B]<==== Hier mein Problem[/B]
            
      
        echo "<img src=\"_images/punkt.jpg\" /><a href=\"index.php?page=login&side=daten\"> Meine Daten &nbsp</a>|&nbsp";
        echo "<img src=\"_images/punkt.jpg\" /><a href=\"index.php?page=login&side=garantie\"> Garantie Ablauf &nbsp</a>|&nbsp";
        echo "<img src=\"_images/punkt.jpg\" /><a href=\"logout.php\"> Abmelden </a>";


    if ($side==daten)
        {
        echo "<br><br><br><b>Meine Daten</b> ";
        
       echo $username;
        meinedaten();
       
        }

    if ($side==garantie)
        {
        echo "<br><br><br><b>Garantie Ablauf</b> ";
        
        
        echo"<br><br>";
        garantie();
        }    
    }    
       



    echo "    <p class=\"subHeader\">&nbsp;</p>    </td>\n";
    echo "    <td width=\"30%\">&nbsp;</td>\n";
    echo "  </tr>\n";
    echo "</table>\n";
    ?>

  • #2
    schreib mal error_reporting(E_ALL); an den anfang deiner skripte.
    du wirst darauf hingewiesen, dass du strings nicht als solche kennzeichnest.

    und session_register() wird nicht mehr gebraucht, man schreibt direkt daten in das superglobale array $_SESSION.

    Kommentar


    • #3
      session_register() gilt als sehr altertümlich...
      PHP-Code:
      //User ist angemeldet
      $_SESSION['userName'] = 'Harry Hasler'
      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


      • #4
        ich kapier da irgedwas wohl nicht so richtig... der username der bei der anmeldung übergeben wird, wird nicht in der Session gespeichert!

        Hier der geänderte Code

        PHP-Code:
        <?

        echo "<table width=\"100%\" border=\"0\">\n";
        echo "  <tr>\n";
        echo "    <td width=\"30%\">&nbsp;</td>\n";
        echo "    <td><p class=\"subHeader\"><strong>Kunden Login</strong> </p>\n";

        include 'sessionhelpers.inc.php';
        if (isset($_POST['login']))
        {
            $userid=check_user($_POST['username'], $_POST['userpass']);
            if ($userid!=false)
                login($userid);
                 
            else
                echo 'Ihre Anmeldedaten waren nicht korrekt!';
        }
        if (!logged_in())
            echo '<form method="post" action="index.php?page=login">
                <label>Benutzername:&nbsp</label><input name="username" type="text"><br>
                <label>Passwort:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</label><input name="userpass" type="password" id="userpass"><br><br>
                <input name="login" type="submit" id="login" value="Einloggen">
            </form>';
        else
        {
          
                
        $_SESSION['userName'] = $username;
            echo "<img src=\"_images/punkt.jpg\" /><a href=\"index.php?page=login&side=daten\"> Meine Daten &nbsp</a>|&nbsp";
            echo "<img src=\"_images/punkt.jpg\" /><a href=\"index.php?page=login&side=garantie\"> Garantie Ablauf &nbsp</a>|&nbsp";
            echo "<img src=\"_images/punkt.jpg\" /><a href=\"logout.php\"> Abmelden </a>";


        if ($side==daten)
            {
            echo "<br><br><br><b>Meine Daten</b> ";
            
           echo $userName;
            meinedaten();
           
            }

        if ($side==garantie)
            {
            echo "<br><br><br><b>Garantie Ablauf</b> ";
            
            
            echo"<br><br>";
            garantie();
            }    
        }    
           



        echo "    <p class=\"subHeader\">&nbsp;</p>    </td>\n";
        echo "    <td width=\"30%\">&nbsp;</td>\n";
        echo "  </tr>\n";
        echo "</table>\n";
        ?>

        Kommentar


        • #5
          PHP-Code:
          $_SESSION['userName'] = $username
          wo soll $username den herkommen?
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar


          • #6
            @topicstarter
            PHP-Code:
            session_register(username); [B]<==== Hier mein Problem[/B
            fehlt da ggf nicht was ?

            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
              Original geschrieben von mscheller
              ich kapier da irgedwas wohl nicht so richtig...
              Ja - z.B., was in den Regeln bzgl. überbreitem Code steht.

              Umbrechen bitte, jetzt nachholen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Hmmmm......

                bin glaube zu blöd... ich versuche es mal so zu erklären wie ich es haben möchte. Wenn sich einen Benutzer erfolgreich anmeldet dann so sein Benutzername in der Session gespeichert werden. Der Benutzername kommt von dem Anmelde formular.
                Wenn ich echo $username eintrag erscheint der Benutzer, der über das formular übergeben wird.
                Dann müsste doch
                PHP-Code:
                $Test $username;
                session_regsiter(Test); 
                gehen oder nicht ?

                Kommentar


                • #9
                  bin glaube zu blöd... ich versuche es mal so zu erklären wie ich es haben möchte. Wenn sich einen Benutzer erfolgreich anmeldet dann so sein Benutzername in der Session gespeichert werden. Der Benutzername kommt von dem Anmelde formular.
                  Wenn ich echo $username eintrag erscheint der Benutzer, der über das formular übergeben wird.
                  Dann müsste doch
                  PHP-Code:
                  $Test $username;
                  session_regsiter(Test); 
                  gehen oder nicht ?

                  Kommentar


                  • #10
                    UPPPPS .... das war wohl falsch... BITTE LÖSCHEN !!!

                    Kommentar


                    • #11
                      PHP-Code:
                      $Test $username;
                      session_register(test
                      Du willst es nicht verstehen oder?
                      fehlt da ggf nicht was ?
                      und session_register() wird nicht mehr gebraucht, man schreibt direkt daten in das superglobale array $_SESSION.
                      Normalerweise solltest du schon einen Fehler erhalten, denn dein session_reigster ist unvollständig. Du musst auch du keine extra Variable anlegen. Und wie schon vorgeschlagen solltest du das $_SESSION Array benutzen.
                      PHP-Code:
                      $_SESSION 'username' ] = $username
                      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                      Kommentar


                      • #12
                        Original geschrieben von wahsaga
                        Umbrechen bitte, jetzt nachholen.
                        Bisschen plötzlich jetzt bitte!
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          @topicstarter
                          Penizilin hat dich schon darauf hingewiesen dass error_reporting auszudrehen. Das hätte dir eine Fehlermeldung bei folgender Zeile gegeben
                          PHP-Code:
                          $Test $username;
                          session_register(test); 
                          1. Test ist nicht gleich test
                          2. $Test ist eine Var --> Quizfrage: Was ist denn test ?

                          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

                          Lädt...
                          X