0
必須フィールド、数字のみ、有効な電子メールなどの検証プロセスを持つフィールドを作成しました。フォームの再検証と編集後の各入力の確認
提出後に同時にエラーを表示しますが、フィールドの1つだけを変更すると、エラーを受け入れ、もう一方を再検証しません。
例
名=エラー:必要なフィールド
電話=エラー:数字のみ
メール=エラー:いない有効なメール
私は電子メールのみを修正した後、それが受け入れ、なし提出に進みます他のものを再チェックする。 私のコードをご覧ください。事前のおかげで
<?php
include("conn/db.php");
function renderForm($name ='', $tel = '', $email ='', $error='', $error2='', $error3='')
{
?>
<html >
<head> <title>Form</title></head>
<body>
<?php
if ($error != '') {
echo $error
}
if ($error2 != '') {
echo $error2;
}
if ($error3 != '') {
echo $error3;
}
?>
<form action="" method="post">
Name : <input type = "text" class = "form-control" name = "name_text" value="<?php echo $name; ?>"> <br/>
Tel :<input type = "text" class = "form-control" name = "tel_text" value="<?php echo $tel; ?>"> <br/>
Email :<input type ="text" class = "form-control " name = "email_text" value="<?php echo $email; ?>" > <br/>
<input name= "submit" type="submit" value="Update" class = "btn btn-primary" >
</form>
</body>
</html>
<?php
}
if (isset($_POST['submit'])){
$name = $_POST['name_text'];
$tel = $_POST['tel_text'];
$email = $_POST['email_text'];
if ($name== ''){
$error = 'ERR: required field';
}
if(!is_numeric($telephone)){
$error2 = 'ERR: numbers only';
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$error3 = 'ERR: Email not valid';
}
else
{
***WILL PROCESS THE SQL QUERY ***
header("Location: main.php");
}
renderForm($name, $tel , $email ,$error, $error2, $error3);
}
else{
renderForm();
}
$con->close();
?>
'type =" email "を考慮してください。問題が何であるかをさらに説明してください。質問は不明です。 – Script47