0 امتیاز
قبل در برنامه نویسی توسط (72 امتیاز)
ویرایش شده قبل توسط

با سلام

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

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

دیتابیس و کدهای 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>

 

1 پاسخ

0 امتیاز
قبل توسط (314 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

دوست عزیز اگه کدرو بررسی واضحه که چرا پیغام 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>

 

سوالات مشابه

0 امتیاز
1 پاسخ 1.2هزار بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Hengame Parsa (0 امتیاز)
0 امتیاز
1 پاسخ 389 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط IMANAZADI (72 امتیاز)
+1 امتیاز
2 پاسخ 1.0هزار بازدید
0 امتیاز
2 پاسخ 984 بازدید
0 امتیاز
1 پاسخ 240 بازدید
0 امتیاز
0 پاسخ 1.9هزار بازدید
0 امتیاز
1 پاسخ 232 بازدید
0 امتیاز
3 پاسخ 1.4هزار بازدید
...