2011-09-12 12 views
0

フィールドは、このようなPHPの検証「エコー」エラーに記入されていない場合、どこの前に私はこれをやった。その後、PHPのエラーメッセージの表示エラーメッセージトリガAjaxのjqueryの - フォームの検証

if(empty($_POST['formfield'])) { 
echo "Error"; 
die(); 
} else { 
    ... 
} 

を私は最近、ファイルをダウンロードするには、ベンダーのために簡単なログといくつかのページを設定しなければならなかった

success: function(data) { 
if (data=="Error") { 
$("#Error").html('ERROR MSG HERE').show(); 
} else { 
$("#Success").html('SUCCESS MSG HERE').show(); 
} 

:このようなjQueryの検証(これは擬似コードである)とのMSGをトリガ。繰り返しますが、これは簡単です!

<?php 
$username = "foo"; 
$password = "bar"; 
if ($_POST['username'] != $username || $_POST['password'] != $password) { 
?> 
<!DOCTYPE> 
<html> 
<head></head> 
<body> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" > 
</body> 
</html> 
<?php 
} 
else { 
?> 
<!DOCTYPE> 
<html> 
<head></head> 
<body>Logged in user sees this content</body> 
</html> 
<?php 
} 
?> 

ので、私の問題は、私は私が最初の2つのコードブロックで行ったように、フォーム上のエラーメッセージをトリガするメッセージをエコーする方法を見つけ出すように見えることはできません。この
です。

明らか

<?php 
$username = "foo"; 
$password = "bar"; 
if ($_POST['username'] != $username || $_POST['password'] != $password) { 
**echo "Error";** 
?> 

だけで、ページの読み込みに "エラー" を表示します。誰かが間違ったユーザー名やパスワードでログインした場合、サーバーから返されたデータをシミュレートする方法を理解する必要があります。このフォームは自分自身に送信され、適切なメッセージ(ユーザー名やパスワードが間違っています)を表示します。 私はお詫び申し上げます ありがとう!

答えて

2

PHPは、JavaScriptの前に処理されます。これにより、表示するJavaScriptを書き出すことができます。これは長すぎるため、私はすべてのjsを切り捨てました。

if ($_POST['username'] != $username || $_POST['password'] != $password) { 
?> 
<script> 
$(document).ready(function() { 

    $("#Error").html('ERROR MSG HERE').show(); 

}); 
</script> 
<?php } ?> 
+1

ちょうどメモとして:このような何かは、あなたが欲しいものを行う必要があります。あなたはHEADまたはBODYタグでこれを入れていることを確認してください – cwallenpoole

+0

@Cfreakを - 私はあげることショットTHA nks!それを他の検証用のものと統合するには、試行錯誤が必要です。私はペーストビンで何が起こっているのかを見ていきます。ありがとう男 –

+0

@Cfreakとcwalenpoole - 私は何かが欠けている必要があります。私のPHPの "検証"がdoctypeの上にあります - もし私がJSをPHPで本体や頭に出力したら、$ usernameや$ passwordが間違っているという条件にどのように結び付けますか? –

関連する問題