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 |
Explain the visibility of the property or method?
What is the current stable version of php? What advance thing in php7?
What is composer install?
Is php an oop?
Difference between $message vs. $$Message in php.
What is advanced php programming?
How to convert numbers to strings in php?
What is meant by pear in php? What is the purpose of it?
How many types of arrays are there in php?
How to call php function from javascript using ajax?
How would you declare a function that receives one parameter name hello?
How is it possible to propagate a session id?