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


Poncho
09.12.2006, 19: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'];


harry1526
09.12.2006, 19: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, 19:23

Ähnliche Themen: [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 funkti[...]
[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 e[...]
[PHP] 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!!!;)

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, 19: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, 19: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, 19: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, 20: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 _._.




raid-rush.ws | Imprint & Contact pr