cant seem to get this code to display a error on same page if the login wrong
thank you if you can assist
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="myusername" type="text" id="myusername">
<input name="mypassword" type="text" id="mypassword">
<input type="hidden" name="action" value="1"/>
<input type="submit" name="Submit" value="Login">
</form>
<?php
if (isset($_POST['action']) == '1' ){
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name=""; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
header("location:login.php");
echo "Error with login";
}
}
?>
login page simple question
Moderator: General Moderators
Re: login page simple question
Hi I am a newbie too but it seems that if you are echoing the error after you call the page it will never display the error. I would try this echo the error and then the header line will refresh after 5 seconds and then load the login.php page giving the user 5 seconds to read the message.
else {
echo "Error with login";
header("refresh: 5; login.php";
Hope this helps.
else {
echo "Error with login";
header("refresh: 5; login.php";
Hope this helps.
Re: login page simple question
oh i see what you mean
waiting for 5 secs isnt really that professional
is there any other things i can try
any good tut
waiting for 5 secs isnt really that professional
is there any other things i can try
any good tut
Re: login page simple question
You can try this with a link back to login.php or put a button linking back.
Code: Select all
<?php
echo "this is an error<br>";
echo "<a href='login.php;'>Click here to log in again</a>";
?>
Re: login page simple question
is there no way of keeping it on the same page?
Re: login page simple question
There is a way. Only call a redirect if the login is correct. Otherwise, have it print the error in the appropriate place.
(Also, I would put the PHP code at the top.)
(Also, I would put the PHP code at the top.)
Re: login page simple question
oh yea so simple
great idea
thanks for all the help guys
great idea
thanks for all the help guys