私はあなたの質問を 100% 理解しているわけではありませんが、答えるために最善を尽くします。PHPを介してフォーム送信時に値を検証する方法について言及していると思います。
標準の POST または GET を使用して、jQuery なしでこれを行うことができます。
form.html
<html>
<head>
<title>Form Page</title>
</head>
<body>
<form action="validation.php" method="POST">
<input type="text" name="email" />
</form>
</body>
</html>
検証.php
<?php
$email = $_POST['email'];
//any validation here (this validates if email has @ sign)
$is_valid = strpos($email, "@");
if($is_valid === false){
//@ sign is not in string thus email is invalid, send message
echo "Error";
} else{
//is valid
echo "Valid";
}
?>
$_POST は、ポストされた変数を受け取るために使用されます。$_GET は、GET メソッドで送信される変数を受け取るために使用されます。GET メソッドは、URL を介してクエリ文字列としてデータを送信します。したがって、セキュリティ リスクが生じるため、機密情報には使用しないでください。
AJAX を使用して最新の jQuery メソッドを使用することもできるため、ページ全体を再読み込みして検証することはありません。
form_jquery.html
<html>
<head>
<title>Form Page</title>
<script src="http://code.jquery.com/jquery-1.9.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(){
//do javascript validation here
//do php validation here
$.post("validation.php", {email: $("#email").val()}, function(data){
alert(data); //validation msg
}, "text");
});
});
</script>
</head>
<body>
<form>
<input id="email" type="text" name="email" />
</form>
</body>
</html>
クライアントで JavaScript が無効になっている場合、JavaScript クライアント検証または jQuery を使用できません (jQuery は JavaScript フレームワークです)。サーバー側のみ使用できます。
このコードへの応答:
if(isset($code) && $code == 1)
isset は、$code に値がある (つまり、null でない) かどうかをチェックし、$code == 1 は、$code が 1 に等しいかどうかを評価するためにチェックします。その条件が満たされた場合、CSS クラス「エラー」を入力テキスト ボックスに赤い枠線を付けます。
あなたの例を適用すると、jQuery が最適です。
name_jquery.html
<html>
<head>
<title>Form Page</title>
<script src="http://code.jquery.com/jquery-1.9.0.min.js" type="text/javascript"></script>
<style type="text/css">
.error{border:1px solid red; }
</style>
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(){
//do javascript validation here
//do php validation here
$.post("validation.php", {email: $("#name").val()}, function(data){
if(data.error == "1"){ //1 means error
$("#name").addClass("error");
$("body").append("<p id=\"error\">"+data.message+"</p>");
} else{
alert('your form is valid');
//clear css error class in case was invalid before
$("#name").removeClass("error");
$("#error").remove();
}
}, "json");
});
});
</script>
</head>
<body>
<form>
<input id="name" type="text" name="name" />
</form>
</body>
</html>
検証.php
<?php
$name=trim($_POST["name"]);
if(empty($name)) {
$error= "error : You did not enter a name.";
$code= "1" ;
} else{
$code = "0";
}
echo json_encode("error"=> $code, "message"=>$error);
?>