Jump to content

script not working as expected


cfgcjm

Recommended Posts

So i had this php login script:

<?php
/* Login Script */
require ('mysql.php');
session_start();

if (isset ($_POST['submit'])) { // Check to see if the form has been submitted
$username = $_POST['username'];
$password = md5 ($_POST['password']); // we MD5 encrypted the password at registration, 
									  // so we must do this on the login as well

// See if the user exists
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
if ($r = mysql_query ($sql)) {
	$row = mysql_fetch_array ($r);
	$num = mysql_num_rows ($r);

	if ($num > 0) { // if there is a row with that username/password, the user exists
		// Now we can assign some SESSIONS, so we can verify on later pages that the user is "logged in"
		$_SESSION['users_id'] = $row['users_id'];
		$_SESSION['username'] = $row['username'];
		$_SESSION['loggedin'] = TRUE; // This is where we will check to see if the user is logged in
		header("location:portal.php");
		exit;

	} else {
		// User does not exist
		print 'Invalid Username/Password!';
	}
} else {
	// The query failed
	print 'Error:' . mysql_error(); // print the MySQL error
}
} else { // The form was not submitted
// Display the form
print '<form action="login.php" method="post">
	<table border="0">
	  <tr>
	    <td align="right">Username:</td>
		<td align="center"><input type="text" name="username" /></td>
	  </tr>
	  <tr>
	    <td align="right">Password:</td>
		<td align="center"><input type="password" name="password" /></td>
	  </tr>
	  <tr>
	    <td></td>
		<td><input type="submit" name="submit" value="Submit" /></td>
	  </tr>
	</table>
</form>';
}
?>

 

and it was working...I was playing around with some CSS style stuff and then it simply stopped working. I deleted the file and created a new one...and it still wouldn't work. What it does is it will log me in but it wont execute the

	header("Location:portal.php");
		exit;

it simply displays a blank white screen.

If i replace header("Location:portal.php");

exit;

with

print 'Thank you for logging in!';

 

it works

 

so it is my header command but i just dont get it

 

any ideas?

Link to comment
https://forums.phpfreaks.com/topic/71206-script-not-working-as-expected/
Share on other sites

Does the css come before the php part. Because if you output anything to the browser before the redirect line php will not redirect.

Example:

<?php
echo "Hey there";
header("location: saad.php");
exit;
?>

The above will not work but if you do.

<?
header("location: saad.php");
exit;
echo "Hey there";
?>

It will work. If that doesn't work try changing the header("location:portal.php"); to header("location: portal.php"); (put a space after location:

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.