0

こんにちは、2 つのテキスト ボックスがあります。1 つはユーザー名用で、もう 1 つはパスワード用です。現在、フィールドのいずれかが空白のままになっている場合、「無効な資格情報」というエラー メッセージを表示するコードがあります。これにより、エラー メッセージが表示された新しいページに移動し、ユーザー名とパスワードを再度入力できるホームページに戻ります。

テキストボックス自体の近くで検証部分を実行したい。たとえば、ユーザー名のテキストボックスを空白のままにして送信ボタンをクリックすると、テキストボックス自体の近くに「ユーザー名を入力してください」のようなメッセージが表示されます。

HTML コード:

<form method="post" action="login.php">
      <p class="user_text">USER LOGIN</p>
      <p class="user_name_text">username<span style="color:#f60219;"> *</span></p>
      <p style="padding:8px 0 0 5px;">

        <input type="text" name="username" minlength="2" maxlength="20" class="contact_filed" value="enter your name" onfocus="javascript:clearField(this,'enter your name')" onblur="javacript:fillField(this,'enter your name')" /></label>
     </p>
      <p class="user_name_text1">password<span style="color:#f60219;"> *</span></p>
      <p style="padding:8px 0 0 5px;">
        <input type="password" name="password" maxlength="20" class="contact_filed" value="password" onfocus="javascript:clearField(this,'password')" onblur="javacript:fillField(this,'password')" />
      </p>
      <p style="padding:16px 0 0 16px;"><input name="submit" type="submit" value="Submit" class="log" /></p>
      <p style="padding:12px 0 0 16px;"><a href="#" class="read_more1">Create new account</a><a href="#" class="read_more1">Request new password</a></p>
</form>

検証用の PHP コード:

if ($_POST['submit']) { 
include('connect.php'); 
$u = mysql_real_escape_string($_POST['username']); 
$p = md5($_POST['password']); 
$q = mysql_query("SELECT id FROM $login_db_table WHERE username='$u' AND password='$p' LIMIT 1"); 

if (mysql_fetch_array($q, MYSQL_ASSOC)) { 
    if ($_POST['remember']) { 
        setcookie('username', $_POST['username'], time() + 5000000); 
        setcookie('password', md5($_POST['password']), time() + 5000000); 
    } else { 
        setcookie('username', $_POST['username']); 
        setcookie('password', md5($_POST['password'])); 
    } 


if($u != "" && $p !=""){
echo '<p>Login successful.</p>'; 
header("Location: main.php");
}

} 

else
echo "Login failed. Please enter valid credentials.";
echo "<script>setTimeout(\"location.href = 'http://localhost/CashTree/reg/Home/index.html';\",1500);</script>";
    //echo '<p>Login failed. Please enter your correct credentials</p>'; 

} 
4

4 に答える 4

1

ユーザー名が空かどうかを確認するには、次のようにします。

if($_POST['username']=''){
   echo 'Please enter the username';
}

これをテキストボックスの近くに配置したい場合は、テキストボックスの近くにテキストが表示される場所に配置するだけで、ボタンの送信の開始時に配置できます。このエラーが表示されているときにそれが必要な場合は、実際にログインしないでください。次のようにブール値を使用できます。

$check=true;
if ($_POST['submit']) { 
   if($_POST['username']=''){
   echo 'Please enter the username';
   $check=false;
   }
   if($check){
   //everything you want to do if it's succesfull
   }
}

これにより$check=false、次のページに移動せずに現在のページにとどまり、エラーメッセージが表示される場合が確認されます。

于 2013-11-12T08:22:30.563 に答える
1

要素の近くにhtml要素を追加できます

    <p style="padding:8px 0 0 5px;">

        <input id="uname" type="text" name="username" minlength="2" maxlength="20" class="contact_filed" value="enter your name" onfocus="javascript:clearField(this,'enter your name')" onblur="javacript:fillField(this,'enter your name')" />
<div id="user_name_invalid"></div>
     </p>

それで

jQueryの使用

<script type='text-javascript'>
 $("#form").submit(function(e){
   var uname = $("#username").val();
   if(uname == ""){
     $("#user_name_invalid").html("Username is invalid");
     return false;
   }
}
</script>

return false;送信を停止します。

于 2013-11-12T08:21:20.280 に答える
1

これには、javascript または jquery を使用できます。わかりやすいようにjavascriptで説明します。

フォームで、最初の行を次のように変更します

<form method="post" action="login.php" onsubmit="return check_error();">

JavaScriptセクションを追加します

<script>
function check_error(){
   if(document.getElementById('username_id').value == ""){
      alert("Enter The Username");
      return false;
   }
}
</script>

確認したいテキストボックスごとに「ID」を追加する必要があります。

これを試して - -

<script language="javascript">
function check_error(){
    if(document.getElementById('username').value == ""){
        alert('Please Enter Username');
        return false;
    }
}
</script>
<form method="post" onSubmit="check_error();">
<input type="text" name="username" id="username" />
<input type="submit" value="Submit" />
</form>

これは非常に簡単なデモンストレーションです。しかし、あなたは確かにその上に構築することができます.

于 2013-11-12T08:13:49.660 に答える