Session Übergeben ?!

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

  • Session Übergeben ?!

    Moin Moin

    Ich habe mal wieder ein Problem ich will ja mein user cp mit sessions schützen, also

    ich habe ne index.php:

    PHP-Code:
    <form action="index2.php" method="post">
    <
    table>
    <
    tr>
    <
    td>Benutzername:</td>
    <
    td><input type="Text" name="bname" value="" size="" maxlength=""></td>
    </
    tr>
    <
    tr>
    <
    td>Passwort:</td>
    <
    td><input type="Password" name="Password" value="" size="" maxlength=""></td>
    </
    tr>
    </
    table>
    <
    input type="Submit" name="" value="Senden">
    </
    form
    wie man sieht ist das der login teil
    jetze kommt index2.php

    PHP-Code:
    <?php
    include ("mysqlc.php");

    $bname $_REQUEST['bname'];
    $Password $_REQUEST['Password'];

    $Query mysql_query("SELECT * FROM `user` WHERE `bname`='$bname' AND `Password`='$Password' ");

    if (
    mysql_num_rows($Query) == 1) {
    $Daten mysql_fetch_array($Query);

    $_SESSION["bname"] = $Daten['bname'];
    $_SESSION["Password"] = $Daten['Password'];
    echo 
    "<b>Hallo $bname</b> ";
    }
    else
    {
    echo 
    "Kein User mit dem Usernamen oder Passwort gefunden<br>";
    }

    session_register('bname');
    session_register('Password');



    ?>
    wie man sieht werden hier die daten geprüft
    und nu die index3.php,

    PHP-Code:
    if (! session_is_registered('bname'))
      {
      die (
    "Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
      }
      echo 
    " ".$bname." !";
    ?> 
    so bis dahin Funktioniert alles, ich habe dann ne profil.php gemacht und den code von der index3.php eingefügt aber ich und andere kommen ohne Probleme dort hin,

    wer hat einen kleinen tip für mich bzw ein denkanstoß ??

    mfg
    dennis

  • #2
    Re: Session Übergeben ?!

    Du hast in jeder Datei das session_start(); vergessen.
    Ich habe im Zuge dessen auch gleich deine Codes etwas verschönert:

    index2.php
    PHP-Code:
    <?php
    session_start
    ();

    include(
    "mysqlc.php");

    $bname $_REQUEST['bname'];
    $Password $_REQUEST['Password'];

    $Query mysql_query("SELECT * FROM `user` WHERE `bname`='" $bname "' AND `Password`='" $Password "' ");

    if (
    mysql_num_rows($Query) == 1) {
        
    $Daten mysql_fetch_array($Query);
        
        
    $_SESSION["bname"] = $Daten['bname'];
        
    $_SESSION["Password"] = $Daten['Password'];
        echo 
    "<b>Hallo " $bname "</b>";
    }else{
        echo 
    "Kein User mit dem Usernamen oder Passwort gefunden<br />";
    }
    ?>
    index3.php
    PHP-Code:
    if ( !isset($_SESSION['bname']) )
      {
      die (
    "Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
      } 
    session_is_registered() ist veraltet und sollte nicht mehr verwendet werden. Verwende stattdesssen
    PHP-Code:
    if(isset($_SESSION['blabla'])){
    ...

    Auch dich darf ich auf den Link in meiner Signatur hinweisen
    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

    Kommentar


    • #3
      Du hast in jeder Datei das session_start(); vergessen.
      ne die sind schon vorhanden gab se nur vergessen zuposten.

      Ich habe im Zuge dessen auch gleich deine Codes etwas verschönert:
      Danke schön :-D

      session_is_registered() ist veraltet und sollte nicht mehr verwendet werden. Verwende stattdesssen
      Alles klar werde ich machen, so ich habe jetze mal die index3.php bearbeitet mit deinem code obwohl ich nicht eingeloggt bin habe ich zugriff drauf.
      nur bei der index2.php geht es ?!

      Kommentar


      • #4
        hmm... dann gib amal den ganzen Code her und net nur so fetzn...
        [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

        Kommentar


        • #5
          jo hier haste ihn von der index3.php soory hate mich vertan die index2 ging die 3 geht nicht also hier der complette code:

          PHP-Code:
          <html>
          <head>
          <title></title>
          <meta name="author" content="Dieter">
          <meta name="generator" content="Ulli Meybohms HTML EDITOR">
          <link rel="stylesheet" type="text/css" href="../css.css">
          </head>
          <body>
          <div id="navcontainer">
          <ul id="navlist">
          <li id="active"><a href="#" id="current">Startseite</a>
          <ul id="subnavlist">
          <li id="subactive"><a href="#" id="subcurrent">Allgemeines</a></li>
          <li><a href="profil.php">Profil</a></li>

          </ul>

          </li>
          <li><a href="#">Bilder</a></li>
          <li><a href="#">Berichte</a></li>

          </ul>
          </div>
          <br>
          <div id="content">
          <?php
          session_start
          ();
          if ( !isset(
          $_SESSION['bname']) )
            {
            die (
          "Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
            }
          ?>
          <div align="center"><b>Herzlich Wilkommen im User CP</b></div>
          </div>
          <div id="new">


          </div>
          </div>
          </body>
          </html>

          Kommentar


          • #6
            Ich würds so machen:

            PHP-Code:
            <?php
            session_start
            ();
            if ( !isset(
            $_SESSION['bname']) ){
                echo 
            "Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?";
            }else{
            ?>
            <html>
            <head>
            <title></title>
            <meta name="author" content="Dieter">
            <meta name="generator" content="Ulli Meybohms HTML EDITOR">
            <link rel="stylesheet" type="text/css" href="../css.css">
            </head>
            <body>
            <div id="navcontainer">
            <ul id="navlist">
            <li id="active"><a href="#" id="current">Startseite</a>
            <ul id="subnavlist">
            <li id="subactive"><a href="#" id="subcurrent">Allgemeines</a></li>
            <li><a href="profil.php">Profil</a></li>

            </ul>

            </li>
            <li><a href="#">Bilder</a></li>
            <li><a href="#">Berichte</a></li>

            </ul>
            </div>
            <br>
            <div id="content">
            <div align="center"><b>Herzlich Wilkommen im User CP</b></div>
            </div>
            <div id="new">


            </div>
            </div>
            </body>
            </html>
            <?php
            }
            ?>
            [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

            Kommentar


            • #7
              Negative geht auch nicht es wird auch keine Fehlermeldung angezegit nüx gast hat zugriff drauf ...

              Kommentar


              • #8
                Original geschrieben von /etc/
                Negative geht auch nicht es wird auch keine Fehlermeldung angezegit nüx gast hat zugriff drauf ...
                kann es sein, dass dein temp-Verzeichnis schreibgeschützt ist? Also die Session-Dateien nicht angelegt werden können! (oder wo auch immer sie laut php.ini gespeichert werden...)


                btw.
                @tomstig and /etc/
                brecht den Code um! ich hab nen horizontalen Scrollbalken @1024

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  ahh ich glaube das ich den fehlergefunden habe, ich habe ihn auf mein server geladen die seite nu bekomme ich folgende fehlermeldung:

                  Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/virtualweb/free-power.de/html/cms/user/index2.php:15) in /usr/virtualweb/free-power.de/html/cms/user/index2.php on line 27
                  so nu stellt sich mir paar fragen, warum bekomme ich die meldung local nicht ? und was will mir die fehlermeldung genau sagen. so wie ich es vertsehe sagt er mir das die session nicht gesendet werden kann.

                  EDIT:


                  wenn ich aber direkt die profil.php aufrufe bekomme ich das mitgeteilt:

                  Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?



                  EDIT:
                  Problem gelöst
                  Zuletzt geändert von /etc/; 14.08.2005, 23:29.

                  Kommentar


                  • #10
                    Original geschrieben von /etc/
                    EDIT:
                    Problem gelöst
                    und wie?
                    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                    Kommentar


                    • #11
                      Problem gelöst
                      Da wird dir von @tomstig geholfen und alle hoffen auf die Lösung, da verabschiedest du dich, sehr scharmant.

                      sorry, hab erst jezt gesehen das dies ein sehr alter post war, den ich nicht mit absicht wiederbeleben wollte.
                      Zuletzt geändert von docfox; 17.08.2005, 00:32.

                      Kommentar


                      • #12
                        da verabschiedest du dich, sehr scharmant.
                        ja soory aber bei uns im krankenhaus haben sie kein Inet für Patienten.
                        also der Fehler war das ich was vertauscht haben.

                        Kommentar

                        Lädt...
                        X