[PHP] Session per Cookie übergeben

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Poncho, 9. Dezember 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 9. Dezember 2006
    Session per Cookie übergeben

    Hey.

    Ich bin jetzt fast am verzweifeln.

    Zuerst wird der Username und das Passwort mit der Datenbank abgeglichen, wenn die Login-Daten stimmen, wird die Session erstellt und in ein Cookie gespeichert:

    PHP:
         if( $row1 -> user_password  ==  $passmd5 )
            {
            
    session_start ();
            
    $_SESSION [ "username" ] =  $username ;
            
    setcookie ( session_name (),  session_id (),  time ()+ 3600 );
            
    $loginreport  "Erfolgreich" ;
            }
            else
            {
            
    $loginreport  "Fehlgeschlagen" ;
            }


    Und die Session wird auch vom Browser im Cookie anhand ihrer ID gespeichert.

    Wie kann ich jetzt die Session in ein anderes PHP-Script per Cookie übergeben/bzw rausholen?

    Nicht lachen, ich hätte es jetzt folgendermaßen probiert, aber klappt ja nicht..

    PHP:
    $_SESSION  $_COOKIE [ 'session_id' ];
     
  2. 9. Dezember 2006
    AW: Session per Cookie übergeben

    hi Poncho,

    wie sieht denn die übergabe an das andere script den aus??? machts du das per link??? ich vermute mal da liegt der fehler. denn du gibst es ja nicht an ein anderes script weiter. denn es fehlt in deiner if-bedingung.


    nice day!!!
     
  3. 9. Dezember 2006
    AW: Session per Cookie übergeben

    Hö?

    Ich wollte das Ganze ja über das Cookie lösen, dass ich das nicht direkt übergeben muss. Dafür wird ein Cookie erstellt und die Session-ID reingespeichert.

    Und jetzt soll das andere Script sich diese aus dem cookie holen.
     
  4. 9. Dezember 2006
    AW: Session per Cookie übergeben

    sorry mein fehler.

    versuche das mal:

    if($row1->user_password == $passmd5)
    {
    session_start();
    $_SESSION["username"] = $username;
    setcookie(session_name("spass"), session_id(), time()+3600);
    $loginreport = "Erfolgreich";
    }
    else
    {
    $loginreport = "Fehlgeschlagen";
    }

    $_SESSION = $_COOKIE['spass'];
     
  5. 9. Dezember 2006
    AW: Session per Cookie übergeben

    $_SESSION = $_COOKIE['session_id']; ???
    Array = String?

    $_SESSION['hash'] = addslahes(bla);
    String = String

    $_SESSION = $_COOKIE
    Array = Array

    Poste doch mal dein gesamtes Script
     
  6. 9. Dezember 2006
    AW: Session per Cookie übergeben

    login.php

    PHP:

    <?php

        
        error_reporting
    ( E_ALL );
        

        
    # Login-informationen abholen

        
    $username  =   $_POST [ "username" ];
        
    $passwort  =   $_POST [ "passwort" ];
        
    $passmd5   =   md5 ( $passwort );


    if(isset(
    $_GET [ 'logout' ])) {
    $logout  =     $_GET [ "logout" ];
                               }

        
    # DB-Verbindung aufbauen

        
    include( "config.inc.php" );
        @
    mysql_connect ( $dbhost $dbuser $dbpass ) OR die( mysql_error ());
         
    mysql_select_db ( $dbname ) or die( mysql_query ());


        
    # DB-Informationen holen

        
    $abfrage  "SELECT user_password FROM phpbb_users WHERE ' $username ' = username" ;
        
    $passdb  mysql_query ( $abfrage ) or die( mysql_error ());
        
    $row1  mysql_fetch_object ( $passdb );
        
        
    # Authentifizierung & Session füllen
        
        
        
    if( $row1 -> user_password  ==  $passmd5 )
            {
            
    session_start ();
            
    $loginreport  "Erfolgreich" ;
            
    $_SESSION [ "username" ] =  $username ;    
            
    setcookie ( session_name (),  session_id (),  time ()+ 3600 );
            }
            else
            {
            
    $loginreport  "Fehlgeschlagen" ;
            }
        
        
        
    # Logout-Durchlauf
        
        #

        # Smarty-Durchlauf      
        
        
    define ( 'SMARTY_DIR' '/var/www/virtual/blablablaxxx1234567890.com/htdocs/' );
        require(
    SMARTY_DIR . 'Smarty.class.php' );
        
    $smarty  = new  Smarty ;
        
    $smarty -> display ( 'index.tpl' );


        

    ?>
                          

    index.php

    PHP:
    <? php
        error_reporting
    ( E_ALL );

    $_SESSION  $_COOKIE [ 'session_id' ];

            
    define ( 'SMARTY_DIR' '/var/www/virtual/blablablaxxx1234567890.com/htdocs/' );
            require(
    SMARTY_DIR . 'Smarty.class.php' );
            
    $smarty  = new  Smarty ;
            
    $smarty -> assign ( 'name' $smarty );
            
    $smarty -> assign ( 'sessionuser' '$_SESSION["username"]' );
            
    $smarty -> display ( 'index.tpl' );   


    Wie unschwer zu erkennen ist, ist das alles noch nicht richtig fertig
     
  7. 10. Dezember 2006
    AW: Session per Cookie übergeben

    Also:

    cookie machen:

    setcookie($_SESSION['úsername']);

    und auslesen:

    if(isset($_COOKIE['name'])) { .... }

    Aber nen Cookie mit Username finde ich ziemlich unnützlich, aber so sollte es halt gehen! Und denk dran: Cookies und Session sind immer das erste in einer Datei nicht das du nachher mit "Header already send" kämpfst +


    PS:

    In deiner Index:

    $_SESSION = $_COOKIE['session_id'];

    Das kann ja nicht gehen! $_SESSION ... da weiß php nicht was du ansprichst ... Dann musste schon sagen wie die Session heißen soll: $_SESSION['name_der_session'] = $_COOKIE ....
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.