Vollständige Version anzeigen : [PHP] Session per Cookie übergeben


Poncho
09.12.2006, 18:09

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:

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.. ;)

$_SESSION = $_COOKIE['session_id'];

HardwareSuche.com Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
harry1526
09.12.2006, 18:20

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!!!;)


Poncho
09.12.2006, 18:23

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!!!;)


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.


harry1526
09.12.2006, 18:28

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'];


Mr.dandy
09.12.2006, 18:28

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

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

$_SESSION = $_COOKIE
Array = Array

Poste doch mal dein gesamtes Script


Poncho
09.12.2006, 18:41

Poste doch mal dein gesamtes Script

login;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/;/virtual/blablabla;1234567890~com/htdocs/');
require(SMARTY_DIR;'Smarty;class;php');
$smarty = new Smarty;
$smarty->display('index;tpl');




?>




index;php


<?php
error_reporting(E_ALL);

$_SESSION = $_COOKIE['session_id'];

define('SMARTY_DIR', '/var/;/virtual/blablabla;1234567890~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 ;)


pleq
10.12.2006, 19:29

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 ....


Ähnliche Themen zu [PHP] Session per Cookie übergeben
  • PHP und cookie.
    Original von Epidrome jo kommt ne fehler meldung Notice: Undefined index: sprache in ...... in line 8 also hier: echo $HTTP_COOKIE_VARS['sprache']; ist das normal? <? echo $HTTP_COOKIE_VARS["sprache"];?> try it [...]

  • LG Cookie Plus: LG bringt Cookie-Nachfolger
    LG Cookie Plus: LG bringt Cookie-Nachfolger Nutzer können zwischen 18 verschiedenen Themes wählen ;;0;xup~in/exec/ximg;php?fid=16941991 LG Electronics hat mit dem LG Cookie Plus (LG GS500) ein neues Touchscreen-Handy vorgestellt. Der Nachfolger des LG Cookie bietet die gleichen Funktio [...]

  • [PHP] Alternative zu iFrame oder Variable per Session übergeben?!
    Hallo, ich versuche gerade ein Projekt auf die Beine zu stellen, leider hackt es seit einigen Tagen in der Entwicklung. Ich versuche eine externe Seite in einem iFrame anzuzeigen - funktioniert auch super, nur leider ist das nicht ganz so "anonym" wie ich mir das vorstelle. Der Besucher kann durch [...]

  • [JavaScript] jQuery - Bestimmten Wert in PHP-Session übergeben
    Hi, ich hab leider von JS und Ajax gar kein Plan und brauche kurz Hilfe. Mein Problem: Ich habe 2 Tabs mittels jquery gemacht. Das funktioniert auch wunderbar. JS: <script> $(function() ); </script> HTML: <ul class="tabs"> <li><a id="t1" href="#info_tab"><img src="images/info;png" /></a></ [...]



raid-rush.ws | Imprint & Contact pr