2011-03-24 18 views
2

私はPHPとWebに慣れています。私はPHPでjavascriptとサーバーによってクライアントの登録フォームを検証するタスクを持っています。私はその意味を理解していません。登録フォームを検証するクライアントサイドでjavascriptとサーバサイドでPHPを

私は、レジスタ形をした、とJavaScript

<form name="register" onSubmit="return validateForm()"> 
//...code display form here... 
<input type="submit" name="Submit" value="Submit"> 
</form> 

<script language="javascript"> 
//...validate function here... 
function validateForm() { 
//... 
} 
</script> 

ですべてのフィールドを検証し、私はregister.phpに上記のコードを置きます。そして今、PHPサーバ側でどのように検証を行うのですか?私は新しいPHPファイルを作成し、このregister.phpから新しいものにデータを渡すためにpostメソッドを使う必要がありますか?検証後、エラーがあれば登録するためにデータをポストしますか?

私はPHPで検証フォームを知っていますが、JavaScript検証済みクライアントフォームをPHPフォーム検証サーバフォームに接続する方法はわかりません。

また、何か問題がある場合は、ページをリロードしてユーザーにエラーを表示する必要があります。入力されたデータはすべて永続化する必要があります。

これも私はそれを行う方法がわかりません。どのようにするか、または非常に簡単なコードスニペットを教えてください。ヘルプは本当に感謝しています。前もって感謝します。

答えて

0

アンオール・イン・ワンのファイル形式ハンドラは次のようなものになります。もちろん、

<?php 

$errors = array() 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (isset($_POST['name']) && !empty($_POST['name'])) { 
     $name = $_POST['name']; 
    } else { 
     $errors[] = "Please provide your name"; 
    } 
} 
?> 

<html> 

<head> 
    <title>Name Form</title> 
</head> 

<body> 
<?php if (count($errors) > 0) { ?> 
<ul> 
    <li><?php echo implode("</li>\n\t", $errors); ?></li> 
</ul> 
<?php } else { ?> 
<p>Pleased to meet you, <?php echo htmlspecialchars($name) ?></p> 
<? } ?> 

<form method="POST" action=""> 
<p>Please enter your name: <input type="text" size="20" name="name" value="<?php echo htmlspecialchars($name) ?>" /></p> 

<input type="submit" value="Submit" /> 

</form> 

を、これはすべての違反Webアプリケーションを設計するための「ベストプラクティス」ですが、フォームを提示し、サーバー側でデータ検証を行うすべての段階を実証しています。

+0

あなたの詳細なコードは私を助けました。ありがとうMarc。私はJavaScriptのクライアント側をPHPサーバー側に接続することができましたが、投稿後にフォームを保持する方法を理解しなくてはなりませんでした...とにかくMarcに感謝します。 – PeteMerry

0

私はちょうどデータを入力することができると信じています。明らかにこれは単なる擬似コードです:

validateForm() { 

    if (typeof formData === 'duck') 
     // do logic here 
} 
+0

ダックタイプのデータはどういう意味ですか?私は既にjavascriptを使ってクライアント側で検証部分を行っていました。今私はどのようにクライアント側のJavaScriptをサーバー側のPHPに接続する方法に立ち往生しています。あなたの答えをさらに説明できますか?前もって感謝します。 – PeteMerry

0

まあ、私の最初の考えは、フォームと呼び出し方法=「POST」またはメソッド=「GET」からのonSubmitメソッドをドロップすることです。次に、特定のフィールドを検証するためにjavascript関数を呼び出す各フォームフィールドにonBlurを使用します。最後に、action = 'validate.php'またはPHP検証コードを含む他のファイル名を設定します。成功すると、行きたい場所にリダイレクトされます。エラーが発生した場合は、$ _SOSSION変数に一時的に設定して、$ _POST変数または$ _GET変数を一時的に設定してページをリフレッシュします。

myfile.php:

関連する問題