session session verzweiflung

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

  • session session verzweiflung

    hallo, leider muss ich einen neuen thread zu diesem thema öffnen
    mein problem ist das die session daten nach dem login noch da sind aber die 2. seite nach dem login hat keine session daten mehr, somit werde ich immer wieder ausgeloggt

    login.php
    PHP-Code:
    $query2="SELECT * FROM $sitetable WHERE name='$name' and 
    passwort='
    $passwort' and code='1'";
    $result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
    while(
    $date=mysql_fetch_row($result2))
    {
    $name$date[1];
    $passwort$date[7];
    $mail$date[6];
    $codessernder=1;
    $idid$date[0];
    $alter$date[2];
    $geschl$date[5];
    $online$date[21];
    $abmelden$date[27];
    }
    mysql_free_result($result2);


    if(
    $codessernder=="0")
    {
    include 
    "fehler3.php";
    exit;
    }
    else
    {
    session_name();
    $sidnamesession_name();
    $sidsidsession_id();
    $_SESSION['sess'][] = array(
    "id_passwort" => 7,
    "id_name" => 1,
    "id_mail" => 6,
    "id_alter" => 2,
    "id_id" => 0,
    "id_geschlecht" => );
    $id_passwort="$passwort";
    $id_name="$name";
    $id_mail="$mail";
    $id_alter="$alter";
    $id_id="$idid";
    $id_geschlecht="$geschl";

    sid.php wird danach immer included
    PHP-Code:
    session_start();
    error_reporting(E_ALL);

    $_SESSION['sess'][] = array(
    "id_passwort" => 7,
    "id_name" => 1,
    "id_mail" => 6,
    "id_alter" => 2,
    "id_id" => 0,
    "id_geschlecht" => );
    session_name();
    $sidnamesession_name();
    $sidsidsession_id();
    echo(
    "$passwort und $name");
    session_name();
    $sidnamesession_name();
    $sidsidsession_id();

    $query2="SELECT * FROM $sitetable WHERE name='$name' and passwort='$passwort' and code='1'";
    $result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
    while(
    $date=mysql_fetch_row($result2))
    {
    $name$date[1];
    $passwort$date[7];
    $mail$date[6];
    $codessernder=1;
    $idid$date[0];
    $alter$date[2];
    $geschl$date[5];
    $online$date[21];
    $abmelden$date[27];
    }
    mysql_free_result($result2);
    $id_passwort="$passwort";
    $id_name="$name";
    $id_mail="$mail";
    $id_alter="$alter";
    $id_id="$idid";
    $id_geschlecht="$geschl"
    die phpsessid ist angehangen an der url -> das ist nur ne idee die nicht geht!
    bisher habe ich es so und da klappt es (registerglobals=off)

    login.php
    PHP-Code:
    $query2="SELECT * FROM $sitetable WHERE name='$name' and passwort='$passwort' and code='1'";
    $result2=mysql_db_query($dbname,$query2,$conn) or die(mysql_error());
    while(
    $date=mysql_fetch_array($result2))
    {
    $name$date[name];
    $passwort$date[passwort];
    $mail$date[mail];
    $codessernder=1;
    $idid$date[siteid];
    $alter$date[alter2];
    $geschl$date[geschlecht];
    $online$date[online];
    $abmelden$date[abmelden];
    }
    mysql_free_result($result2);


    if(
    $codessernder=="0")
    {
    include 
    "fehler3.php";
    exit;
    }
    else
    {
    session_name("kontaktid");
    $sidnamesession_name();
    $sidsidsession_id();
    session_register("id_passwort","id_name","id_mail","id_alter","id_id","id_geschlecht");
    $id_passwort="$passwort";
    $id_name="$name";
    $id_mail="$mail";
    $id_alter="$alter";
    $id_id="$idid";
    $id_geschlecht="$geschl"
    sid.php
    PHP-Code:
    $id_passwort="";
    $id_name="";
    $id_mail="";
    $id_alter="";
    $id_id="";
    $id_geschlecht="";
    session_name("kontaktid");
    @
    session_start();
    $sidnamesession_name();
    $sidsidsession_id(); 
    ich will es halt nur langsam mal ändern weil session_register ja langsam etwas alt ist, aber ich bekomm es leider irgendwie nicht hin
    schonmal danke für eure hilfe
    selfmade-webdesign
    webdesign leipzig

  • #2
    du hast jetzt jede menge code geschrieben. Aber was willst du eigentlich genau wissen?

    du willst doch einfach nur nen login mit session und ohne session_register oder?

    Kommentar


    • #3
      das problem ist das die daten weg sind
      man loggt sich ein mit name und passwort kommt korrekt auf die loginseite und man ist drin, doch der nächste klick kickt einen wieder raus
      jetzt ist meine frage wie ich den alten code der ja funktioniert etwas erneuern kann
      von mir aus können auch weniger daten in der session abgespeichert werden, es soll halt nur jetzt mit $_session funktionieren und das bekomm ich net hin
      selfmade-webdesign
      webdesign leipzig

      Kommentar


      • #4
        ehrlich gesagt versteh ich deinen code nicht so ganz.....

        aber ich kann dir mal meinen code posten - der funktioniert


        Teil Login:

        PHP-Code:
        if($password==$password2){
        $_SESSION['user_id']=$row['id'];
        $_SESSION['session_id']=session_id();
        $_SESSION['benutzer_name']=$row['name'];
        //usw.

        Alle weiteren Seiten:

        PHP-Code:
        if($_SESSION['session_id']!=session_id()){
            echo 
        "Nicht angemeldet. <a href='index.php'>anmelden</a>";
        }

        else{
        echo 
        "Benutzername: ".$_SESSION['benutzer_name'];

        Kommentar


        • #5
          danke dir, ich probiers mal aus und geh dir später wieder auf die nerven
          selfmade-webdesign
          webdesign leipzig

          Kommentar


          • #6
            wie hast du dein login?
            das ist meiner
            PHP-Code:
            echo("<form name=\"FormName\" action=\"$seitenurl/index_login.php?$sidname=$sidsid\" 
            method=\"get\" target=\"_self\">
            <div align=\"center\">
            <table cellpadding=\"0\" width=\"120\">
            <tr>
            <td>
            <div align=\"center\">
            <font size=\"
            $fontleiste\" color=\"$fontcolorleiste\" face=\"$schriftart\">Nickname:</font>
            <input type=\"hidden\" name=\"
            $sidname\" value=\"$sidsid\"><br>
            <input type=\"text\" name=\"name\" style=\"font-family:verdana;font-size:12px;\" size=\"12\"></div>
            </td>
            </tr>
            <tr>
            <td>
            <div align=\"center\">
            <font size=\"
            $fontleiste\" color=\"$fontcolorleiste\" face=\"$schriftart\">Passwort:</font><br>
            <input type=\"password\" name=\"passwort\" style=\"font-family:verdana;font-size:12px;\" size=\"12\"><br><br>
            </div>
            </td>
            </tr>
            und dann zu ... 
            selfmade-webdesign
            webdesign leipzig

            Kommentar


            • #7
              sorry wegen der dummen frage aber warum hast du überall \" ??

              ich poste dir mal meinen login:

              PHP-Code:
              echo "<form action='login.php' method='post'><table>";
              echo 
              "<tr><td>User</td><td><input name='user' type='text'size='30' maxlength='80'></td></tr>";
              echo 
              "<tr><td>Passwort</td><td><input name='passwort' type='password'size='30' maxlength='80'></td></tr>";
              echo 
              "<input type='hidden' name='exist' value='true'>";
              echo 
              "<tr height='20'></tr><tr><td><input type='submit' value='Absenden' align='center'></td></tr></table></form>"

              Für was verwendest du die $sidid?

              Kommentar


              • #8
                das liegt daran weil es inner if-anweisung liegt, sonst parse error
                selfmade-webdesign
                webdesign leipzig

                Kommentar


                • #9
                  hatte das "echo" übersehen.

                  du kannst aber auch einfach ' verwenden

                  Kommentar


                  • #10
                    gut zu wissen ;-)
                    wegen der $sidsid, das ist die sessionid die dann in der url erscheint oder war das $sidname? mal schnell gucken
                    selfmade-webdesign
                    webdesign leipzig

                    Kommentar


                    • #11
                      also wenn du sowieso ne session hast dann würde ich die session_id auch in der session speichern statt sie zu übergeben. Aber wenn du mir sagst wo der sinn darin liegt lass ich mich gerne belehren.

                      Kommentar


                      • #12
                        ich habe es jetzt so, aber es geht auch nicht, ich werde zwar eingeloggt aber es sind keine daten aus der session mehr da
                        PHP-Code:
                        if($_SESSION['sess'][] = array(
                        "id_passwort" => 7,
                        "id_name" => 1,
                        "id_mail" => 6,
                        "id_alter" => 2,
                        "id_id" => 0,
                        "id_geschlecht" => )){
                            echo 
                        "Nicht angemeldet. <a href='index.php'>anmelden</a>";
                        }

                        else{
                        echo 
                        "Benutzername: ".$_SESSION['id_name'];

                        selfmade-webdesign
                        webdesign leipzig

                        Kommentar


                        • #13
                          also ich bin in arrays nicht so wirklich fit aber überschreibst du das nicht in deiner if- abfrage?

                          was willst du mit der if- abfrage überhaupt bezwecken / abfragen?

                          Kommentar


                          • #14
                            in welcher meinst beim login? da war es falls keine id des nutzers vorhanden dann kommt das loginfenster ansonetn gleich autologin, hab ich aber abgeschalten ;-D

                            so bei der sid.php wo ich den code reingeschrieben habe, habe ich net wirklich ne ahnung was ich für mich ändern muss, deswegen sieht es bisher noch so verworren aus

                            wie kann ich die session-id denn speichern und übergeben?
                            selfmade-webdesign
                            webdesign leipzig

                            Kommentar


                            • #15
                              also bei ner session kannst du alles in session variable speichern, auf di edu solange die session besteht zugriff hast. diese sessionvaribale ist im prinzip ein array $_SESSION[]

                              diesem kannst du unterschiedliche werte zuweisen

                              beispielsweise die session id
                              dies erhältst du durch session_id()

                              also würde das speichern der session id in der sessionvaribale so aussehen:
                              PHP-Code:
                              session_start();
                              $_SESSION[session_id]=session_id(); 
                              das auslesen ganz normal wie bei jeder anderen variablen auch.
                              bsp:
                              echo $_SESSION[session_id];

                              Kommentar

                              Lädt...
                              X