i start a new session with : session_start();
then i set some session variable like this :
$_SESSION['name']=$_POST['name'];\
and some another variables.
at bottom of page i set header to diffrent page :
header('location: index.php');
exit();
now in new page (index.php i can't access to my session
variables, like $_SESSION['name'])
what's wrong ?
thanks.
here is my files :
a.php
========================================
session_start();
require ('config.inc.php');
if(isset($_POST))
foreach($_POST as $v=>$k)
{
$items[$v]=$k;
}
$sql="SELECT * FROM members WHERE
username='{$items['user']}' AND
pass=MD5('{$items['Password']}') ";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
if($row['username'])
{ $_SESSION['type']=$row['type'];
$_SESSION['name']=$row['name'];
$_SESSION['family']=$row['family'];
$_SESSION['username']=$row['username'];
$_SESSION['date']=$row['date'];
}
header('location: admin.php');
exit();
======================================
admin.php
=====================================
<?php
session_start();
if(!isset($_SESSION['admin']))
{
header('location: index.php');
exit();
}
require ('config.inc.php');
?>
.
.
.
=================================
Answers were Sorted based on User's Feedback
Answer / ravi
It may be possible you are not start $_SESSION() in index
page. Your code which are shown above is correct. Or may be
You closed session. So checked your code.
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / muthu
Ravis answer is correct. But sessions wont be closed. It
will be active till the browser closes. OR if($row
['username']) fails that session variable wont be created.
Better you should assign like $_SESSION['name']=''.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / paras
if you have written session_start() in you index.php file
then surely it will work. If you can provide you index.php
file's code then we can answer it with better solution!
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / rahul prasad
Its not working because you have used "exit" at the end.
And it wont work even if you add session_start() at the
beginning.
Remove "exit" and it will work correctly.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / jose martini
I created 4 files:
start.php
admin.php
index.php
sessionend.php
Code:
====================
<?php
/* File: start.php
*/
session_start();
$_SESSION['name']= "Jose";
$_SESSION['lastname']= "Martini";
echo "Start:" . $_SESSION['name'];
header('location: admin.php');
exit();
?>
=================
<?php
session_start();
echo "Admin";
if (isset ($_SESSION['name'])) {
header('location: index.php?'.$_SESSION['name']);
}
else {
echo "Admin: No Session";
}
exit ();
?>
================
<?php
/*
*/
session_start();
if (isset ($_SESSION['name'])) {
echo $_SESSION["name"];
}
else {
echo "Index: no Session";
}
exit();
?>
=======
<?php
/*
*/
session_start();
session_destroy();
echo "End Session";
?>
================
I tried to reproduce the error, the only way that the
session is not available is if you miss to start the session
or to initialized the session variable.
the exit() does not affect the result.
| Is This Answer Correct ? | 0 Yes | 0 No |
What does $this do in php?
What is difference between include and include_once in php?
!== represents what?
What is regular expression in php?
Explain php explode() function.
What kind of variable is age?
How will you sened requests from server1 to server2 from server2 to server3 and so on .. w/o letting the output come to the browser or say the client end in php
Xplain is it possible to use com component in php?
What are the uses of php language?
Which is useful for method overloading?
How cookies are transported from browsers to servers?
What is exception in php?