session érték deffiniálása
Kérdésem a $X, a $_POST['X'] és a 'X' között nem tudok eligazodni. az alábbi login-ből szedném ki a username-t és adnám át sessionban, hogyan hívom meg a változót a következő php-ben?
Próbáltam a sessionözésnek a netten utánnézni de jó példákkal illusztráltat nem találtam, kérem segítségedet
P
login.php:
<?
require("config.php");
require("functions.php");
if(isset($_POST['submit']))
{
if(!$_POST['username']) die("Error: You must enter your username before logging in.");
if(!$_POST['password']) die("Error: You must enter your password before logging in.");
$get_user = mysql_query("SELECT * FROM user_system WHERE username = '".$_POST['username']."' AND
password = '".md5($_POST['password'])."'");
$q = mysql_fetch_object($get_user);
if(!$q) die("Login Failure: An error occured, please verify your username and password are correct.");
session_start();
session_register($_POST['username']);
?>
<a href="http://....../CONNECT/add_MAT.php">add material</a>
<?
} else {
?>
<form name="login" method="post" action="login.php">
<table>
<tr>
<td>Username:<input type="text" id="username" name="username"></td>
</tr>
<tr>
<td>Password:<input type="password" id="password" name="password"></td>
</tr>
<tr>
<td>Submit: <input type="submit" value="Submit" name="submit" id="submit"></td>
</tr>
<tr>
<td>Remember? <input type="checkbox" name="stay_in[]" checked="yes"></td>
</tr>
</table>
</form>
<?
}//end else
?>
■ Próbáltam a sessionözésnek a netten utánnézni de jó példákkal illusztráltat nem találtam, kérem segítségedet
P
login.php:
<?
require("config.php");
require("functions.php");
if(isset($_POST['submit']))
{
if(!$_POST['username']) die("Error: You must enter your username before logging in.");
if(!$_POST['password']) die("Error: You must enter your password before logging in.");
$get_user = mysql_query("SELECT * FROM user_system WHERE username = '".$_POST['username']."' AND
password = '".md5($_POST['password'])."'");
$q = mysql_fetch_object($get_user);
if(!$q) die("Login Failure: An error occured, please verify your username and password are correct.");
session_start();
session_register($_POST['username']);
?>
<a href="http://....../CONNECT/add_MAT.php">add material</a>
<?
} else {
?>
<form name="login" method="post" action="login.php">
<table>
<tr>
<td>Username:<input type="text" id="username" name="username"></td>
</tr>
<tr>
<td>Password:<input type="password" id="password" name="password"></td>
</tr>
<tr>
<td>Submit: <input type="submit" value="Submit" name="submit" id="submit"></td>
</tr>
<tr>
<td>Remember? <input type="checkbox" name="stay_in[]" checked="yes"></td>
</tr>
</table>
</form>
<?
}//end else
?>
változónevet adj meg
session_register("foo")
sor után a foo változó elérhető lesz a globálos $_SESSION tömbből, amit egyébként is érdemesebb használni (elvileg php 4-től lehet is), pl. ennyi:
$_SESSION['username'] = $_POST['username'];
Egyébként itt van minden feketén-fehéren magyarul:
http://hu.php.net/manual/hu/function.session-register.php
BL
a változó értéket kapott
session_start();
print_r($_SESSION['username']);
értéke nincs!
az számíthat hogy a session nincs path-olva? vagy hogy nem ugyanabban az alkönyvtárban van a következő php file amivel folytatnám a munkamenetet?
P
más lehet a gond
BL
Meg van a megoldás a www.php.org on találtam
ez segített, és ezután tovább ment a session- ben deklarált váltotó
van azért egy kis gond, ha belépek 2 eltérő loginon ugyan azon a gépen párhuzamosan és tesztelem akkor az első bejelentkezés azonosítója megy át a 2. bejelentkezésnél is, pedig ott más az azonosító.
Ha ugyan azon az időben többen bejelentkeznek ugyan arra az oldalra akkor mindig az első bejelentkezó által meghatározott azonosítót adja át a session a többi bejelentkezőnek is? hogy lehet ezt kiküszöbölni?