How can we know that a session is started or not?
Answers were Sorted based on User's Feedback
Answer / tushar
if(session_id()=="")
then we can say session is not started
otherwise
yes
| Is This Answer Correct ? | 9 Yes | 0 No |
Answer / sunil
is session_id returns as empty string, then there is no
current session.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / sherin
session_id() returns the session id for the current session
or the empty string ("") if there is no current session.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / rakesh kumar nautiyal
Generally speaking I agree with what your saying about
needing to know
if a session has been started or not. But I also believe
it has its
place for some user land custom session handlers. Being
able to throw
an exception in a session object's __construct() or __wakeup
() for
various reasons can present a situation that is easily
solved inside
__construct() by:
if(session_has_started()) { // Added function via
patch
session_regenerate_id($newID); // Added $newID via
the patch
$_SESSION = array();
} else {
session_id($newID);
session_start();
}
Say there is an authentication token in the session, the
session needs
to be started so we can access the token. If the token
proves to be
invalid, we need to create a blank session with a new
session ID.
> Also, the concept of session_id_exists is
fundamentally
> broken (think of atomic file creation). That is why
there is
> no such function.
I disagree. If a provided session ID via $_REQUEST(for
arguments sake)
is found not to exist by using the theoretical
session_id_exists().
That would mean the script was given an ID that wasn't
created by PHP,
and the script logic could act accordingly. What am I
overlooking?
> Regarding providing an id to session_regenerate_id: I
have
> seen too many supposedly save session id generators
that I
> would be in favor of adding that kind of overwriting
power.
I agree that PHP should be left to create a unique ID. But
the
functionality currently exists for the user to set their
own ID with
session_id($newID). The user has this ability before a
session is
started. But loses the ability when trying to use
session_regenerate_id() in a similar fashion after the
session has
started. It seems like a contradiction to allow it in one
case and not
the other.
I could try and grok the source to figure it out myself,
but someone
here might know off the top of their head. Is calling
something like
md5(uniqid(rand(), TRUE)) better, worse, or equivalent to
how PHP
creates a unique session ID?
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / rohit darya ganj
If you want to know that session is started or not so print
out any session variable.
| Is This Answer Correct ? | 1 Yes | 4 No |
Is php open source?
Whats the difference between include() and require()?
What is the purpose of the '.myi' file extension? What do thes file contain?
How can php and javascript interact?
Is there any way to call a JAVASCRIPT function in PHP in AJAX
Where can I find php ini file?
How to create a text file in PHP?
What are soundex() and metaphone() functions in php?
Is php procedural or oop?
which institute provide better PHP trainning in delhi? please tell me how much salary can freshers get ? thanku
can any one tell how to install LAMP server in terminal in ubuntu.....and also tell please how to run php files in ubunut and how to save and compile in ubuntu..i already installed ubuntu ..but i dont installed lamp server so i want to install lamp server in terminal is it possible please reply
Suppose we receive a form submitted by a post to subscribe to a newsletter. This form has only one field, an input text field named email. How would we validate whether the field is empty? Print a message "the email cannot be empty" in this case?