468,783 Members | 1,684 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,783 developers. It's quick & easy.

question about session variables

i have a registration page called register.php if the data entered is
validated correctly i call a file called thankyou.php or else
validate.php

presently a user after seeing the url website.com/thankyou.php if they
enter the url directly in the browser as website.com/thankyou.php they
can access the file, if a user accesses the file this way i would like
to redirect to a page saying "Direct acess to this file is not
allowed"

previously i used sessions in register.php and also in thakyou.php and
validate.php and it worked fine for some reason now it is not working
the way it is supposed to i might have made some changes which i do
not know

previously my code in register.php was, the first few lines of
register.php file
================================================== ===================
<?php
ob_start();
session_start();
if(!session_is_registered("directaccess"))
{
session_register("directaccess");
}
// rest of the html and php code
ob_end_flush();
?>
================================================== ===================
code in thankyou.php, the first few lines of register.php file
================================================== ===================
<?php
session_start();
if(!session_is_registered("directaccess"))
{
header("Location: http://website.com/directaccess.html");
exit;
}
// rest of the html and php code
ob_end_flush();
?>
================================================== ===================
NOTE = in thankyou.php i display a thank you message by retrieving the
first name from register page and displaying in thankyou.php using
session variables in the following way

in register.php, the first few lines of register.php file
================================================== ===================
if(!session_is_registered("firstname"))
{
session_register("firstname ");
}
$_SESSION[firstname] = $ firstname;
================================================== ===================

in thankyou.php, the first few lines of register.php file
================================================== ===================
if(session_is_registered("firstname "))
{
echo $_SESSION[firstname];
session_unregister("firstname ");
}
================================================== ===================

please advice how i should rewrite the php code in both the
files(register.php and thankyou.php) so that if a user enters the url
directly in the browser i can redirect to directaccess.html file

thanks.
Jun 27 '08 #1
1 1199
Sudhakar wrote:
i have a registration page called register.php if the data entered is
validated correctly i call a file called thankyou.php or else
validate.php

presently a user after seeing the url website.com/thankyou.php if they
enter the url directly in the browser as website.com/thankyou.php they
can access the file, if a user accesses the file this way i would like
to redirect to a page saying "Direct acess to this file is not
allowed"

previously i used sessions in register.php and also in thakyou.php and
validate.php and it worked fine for some reason now it is not working
the way it is supposed to i might have made some changes which i do
not know

previously my code in register.php was, the first few lines of
register.php file
================================================== ===================
<?php
ob_start();
session_start();
if(!session_is_registered("directaccess"))
{
session_register("directaccess");
}
// rest of the html and php code
ob_end_flush();
?>
================================================== ===================
code in thankyou.php, the first few lines of register.php file
================================================== ===================
<?php
session_start();
if(!session_is_registered("directaccess"))
{
header("Location: http://website.com/directaccess.html");
exit;
}
// rest of the html and php code
ob_end_flush();
?>
================================================== ===================
NOTE = in thankyou.php i display a thank you message by retrieving the
first name from register page and displaying in thankyou.php using
session variables in the following way

in register.php, the first few lines of register.php file
================================================== ===================
if(!session_is_registered("firstname"))
{
session_register("firstname ");
}
$_SESSION[firstname] = $ firstname;
================================================== ===================

in thankyou.php, the first few lines of register.php file
================================================== ===================
if(session_is_registered("firstname "))
{
echo $_SESSION[firstname];
session_unregister("firstname ");
}
================================================== ===================

please advice how i should rewrite the php code in both the
files(register.php and thankyou.php) so that if a user enters the url
directly in the browser i can redirect to directaccess.html file

thanks.
Several comments.

First of all, don't use ob_start() and ob_end_flush(). They aren't
needed and can hide problems. Rather, just don't send anything (even
whitespace) before calling session_start().

Also, session_register() and session_is_registered() are deprecated (and
depend on register_globals being set in your php.ini, which is a big
no-no. Rather, use the $_SESSION variable. Something like:

================================================== ===================
<?php
session_start();

// When you want to set 'directaccess' in the session, use:

$_SESSION['directaccess'] = (some value here)
?>
================================================== ===================
code in thankyou.php, the first few lines of register.php file
================================================== ===================
<?php
session_start();
if (!isset($_SESSION['directaccess')) {
header("Location: http://website.com/directaccess.html");
exit;
}
// rest of the html and php code
?>
================================================== ===================
NOTE = in thankyou.php i display a thank you message by retrieving the
first name from register page and displaying in thankyou.php using
session variables in the following way

in register.php, the first few lines of register.php file
================================================== ===================

$_SESSION[firstname] = $firstname;
// The rest isn't needed

================================================== ===================

in thankyou.php, the first few lines of register.php file
================================================== ===================
if(isset($_SESSION['firstname'))
{
echo $_SESSION[firstname];
}

// Also, you had a space after "firstname " here - which is incorrect
================================================== ===================

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jun 27 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

9 posts views Thread by Xizor | last post: by
10 posts views Thread by glenn | last post: by
3 posts views Thread by Gauthier Segay | last post: by
3 posts views Thread by Phillip N Rounds | last post: by
2 posts views Thread by Michaelk | last post: by
1 post views Thread by Britt | last post: by
1 post views Thread by CARIGAR | last post: by
2 posts views Thread by Marin | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.