Solved

php/mysql login redirection

Posted on 2006-07-12
3
416 Views
Last Modified: 2013-12-12
The script works as is, but I want to take this block of code:
if ($num !=0) {
$msg = "<P>Congratulations, you're authorized!</p>";
} else {
header ("Location: login.html");
exit;
}
and redirect the user to another html page, and not have it say: $msg="<p>.........</p>";
I commented out $msg and put another header ("Location: newpage.html"); but got an error.

Thx,


<?

if ((!$_POST[username]) || (!$_POST[password])) {
header ("Location: login.html");
exit;
}

$db_name = "DBtest";

$table_name = "auth_users";

$connection = @mysql_connect("localhost", "", "")
or die(mysql_error());

$db = @mysql_select_db($db_name, $connection) or
die (mysql_error());

$sql = "SELECT * FROM $table_name WHERE username = '$_POST[username]'
AND password = password('$_POST[password]')";

$result = @mysql_query($sql, $connection) or die(mysql_error());

$num = mysql_num_rows($result);

if ($num !=0) {
$msg = "<P>Congratulations, you're authorized!</p>";
} else {
header ("Location: login.html");
exit;
}

?>

<html>
<head>
<title>Secret Area</title>
</head>
<body>
<? echo "$msg"; ?>

</body>
</html>
0
Comment
Question by:steelthundr
3 Comments
 
LVL 7

Expert Comment

by:kayrules
ID: 17096783
make sure when you use header() function, don't print any other character before it.. not even a space character.. to make sure, view your source code..
0
 
LVL 10

Accepted Solution

by:
kshitij_ahuja earned 50 total points
ID: 17097841
and redirect the user to another html page, and not have it say: $msg="<p>.........</p>";
I commented out $msg and put another header ("Location: newpage.html"); but got an error.


1. What was the error ?
2. Try this where you want to put the redirection:
 
    echo "<META http-equiv = 'refresh' content = '0; URL = RedirectToThisPage.html'>";
    exit;
   

This is basically a substitute of
 
  header("LocationL NewPAge.html");
  exit;


Let me know if that works.
0
 

Expert Comment

by:ner0187
ID: 17098074
Alternatively, put the following line of code at the top of your script:

ob_start();

and finish the script with:

ob_end_flush();

that way any output is suppressed by the "output buffer", and any headers found will take priority.

Hope it helps.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Consider the following scenario: You are working on a website and make something great - something that lets the server work with information submitted by your users. This could be anything, from a simple guestbook to a e-Money solution. But what…
This article discusses four methods for overlaying images in a container on a web page
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now