Solved

php/mysql login redirection

Posted on 2006-07-12
3
420 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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Is there an elegant way to view sql statements written in PDO? 2 25
parse url to form? 7 25
Number of reviews not counting correctly 2 22
Inserting data into database 10 36
Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
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…

830 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