نشون دادن خطا در صفحه لاگین با استفاده از PHP

0 رأی
میانگین بازدید روزانه 0.25692 بازدید

با سلام

من دارم یک صفحه لاگین می نویسم

که فرمش بصورت زیر هست

دیتابیس و کدهای php همه درست کار میکنند

اما یه مشکلی هست

من میخوام زمانیکه یوزر و پسوردی اشتباه وارد شده بالای تکس باکس یوزر ، یه پیام خطا نشون بده(جایی که تو عکس نوشته eror)

ولی زمانیکه صفحه واسه بار اول لود میشه و هنوز login کلیک نشده این پیام خطا  نشون داده میشه

چکار باید کنم که زمانیکه یوزر پسورد اشتباه وارد شده پیام خطا نمایش داده بشه 

یعنی در لود اول صفحه پیام نمایش داده نشه ؟

کدهای صفحه رو میزارم واستون

<?php

session_start();

include("config.php");

if(isset($_POST['User_Name']))
{
	if ((!empty($_POST['User_Name'])) &&  (!empty($_POST['Pass_word'])))
	{
		$usr=$_POST['User_Name'];
		$psw=$_POST['Pass_word'];
		
		$sql=mysql_query("select * from tbl_user where username='$usr'");		
		
		if(mysql_num_rows($sql)==1)
		{
			$row=mysql_fetch_array($sql);
			
			    $_SESSION['user_n']=$row['username'];
				$_SESSION['pass']=$row['password'];
				$_SESSION['log']=true;
		}	
				
	}
}


?>



<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>
Untitled Document
</title>
<link rel="stylesheet" type="text/css" href="CSS/style01.css"/>
</head>

<body>
<div id="container">
  <div id="containbody">
    <form method="post">
    
    <?php
	if (!isset($_SESSION['user_n']))
	{
		echo 'eror';
		}
	
	
	?>
    
      <br>
      <label style="color:#FFF">
        UserName:
      </label>
      <input name="User_Name" type="text" style="width:140px; margin-left:5px" title="UserName" maxlength="20">
      <br>
      <br>
      <label style="color:#FFF">
        Password:
      </label>
      <input name="Pass_word" type="password" style="width:140px; margin-left:8px" title="Password" maxlength="20">
      <br>
      <input type="submit" name="submit" value="login" style=" padding:3px 14px; margin-left:155px; margin-top:10px"/>
    </form>
  </div>
</div>
</body>
</html>

 

سوال 7 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
ویرایش 7 سال قبل توسط Saeed Zarinfam

1 جواب

0 رأی
 
بهترین جواب

دوست عزیز اگه کدرو بررسی واضحه که چرا پیغام error رو نشون میده.

چون برای اولین بار که وارد سایت میشی سیشن user_n که وجود نداره پس پیغام نمایش داده میشه

کد خودترو به صورت زیر اصلاح کردم که میتونی با کمی تغییر بهترش کنی

<?php
 
session_start();
 
include("config.php");
 
if(isset($_POST['User_Name']))
{
    if ((!empty($_POST['User_Name'])) &&  (!empty($_POST['Pass_word'])))
    {
        $usr=$_POST['User_Name'];
        $psw=$_POST['Pass_word'];
         
        $sql=mysql_query("select * from tbl_user where username='$usr'");       
        //check user name
        if(mysql_num_rows($sql)==1)
        {
            $row=mysql_fetch_array($sql);
            //check password
            if($row['password']!=$psw){
                //login -> error
                $_SESSION['log']=false;
            }else{
                //login -> ok
                $_SESSION['user_n']=$row['username'];
                $_SESSION['log']=true;
            }
                
        }   
                 
    }
}
 
 
?>
 
 
 
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>
Untitled Document
</title>
<link rel="stylesheet" type="text/css" href="CSS/style01.css"/>
</head>
 
<body>
<div id="container">
  <div id="containbody">
    <form method="post">
     
    <?php
    //show message
    if ( isset($_SESSION['log']) && !$_SESSION['log'] )
    {
        echo 'Login error';
    }elseif( isset($_SESSION['log']) && $_SESSION['log'] ){
        echo 'Login ok';
    }else{
        echo "login with username & password";
    }
    ?>
     
      <br>
      <label style="color:#FFF">
        UserName:
      </label>
      <input name="User_Name" type="text" style="width:140px; margin-left:5px" title="UserName" maxlength="20">
      <br>
      <br>
      <label style="color:#FFF">
        Password:
      </label>
      <input name="Pass_word" type="password" style="width:140px; margin-left:8px" title="Password" maxlength="20">
      <br>
      <input type="submit" name="submit" value="login" style=" padding:3px 14px; margin-left:155px; margin-top:10px"/>
    </form>
  </div>
</div>
</body>
</html>

 

جواب 7 سال قبل توسط arman202020 (314 امتیاز)
انتخاب شده در 7 سال قبل توسط IMANAZADI

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.42953 بازدید
سوال 6 سال قبل در تالار برنامه نویسی توسط Hengame Parsa (0 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.08215 بازدید
سوال 7 سال قبل در تالار برنامه نویسی توسط IMANAZADI (72 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.3720 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.08218 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.11156 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.05122 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.751,352 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.06168 بازدید
0 رأی
3 جواب میانگین بازدید روزانه 0.371,126 بازدید
کانال تلگرام جواب یاب
...