現在、私のWebサイトには、送信すると感謝のメッセージが表示された空白の画面が表示されるフォームがあります。
新しいページに移動するのではなく、ユーザーを同じページに留めておきたいと思います。ポップアップを作成し、ユーザーを同じページ内に維持するにはどうすればよいですか?
現在、私のWebサイトには、送信すると感謝のメッセージが表示された空白の画面が表示されるフォームがあります。
新しいページに移動するのではなく、ユーザーを同じページに留めておきたいと思います。ポップアップを作成し、ユーザーを同じページ内に維持するにはどうすればよいですか?
javascript検証またはHTML5を使用できます。これらの方法が必要ない場合は、ポップアップウィンドウを開いて、フォームのターゲットをそれに設定するだけです。このような :
<form method="post" action="anything.php" onsubmit="window.open('','my_form_target', 'width=300,height=200', true); this.target='my_form_target';" >
...
検証のためにこれを試してください
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$name = $_POST['uname'];
$email = $_POST['email'];
$valid_arr = array();
$error_arr = array();
if($name == ''){
$error_arr['name'] = 'Required';
}
else if(!preg_match('/^[a-zA-A]+$/',$name)){
$error_arr['name'] = 'Please put correct value';
}
else{
$valid_arr['name'] = $name;
}
if($email == ''){
$error_arr['email'] = 'Required';
}
else if(!preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$/',$email)){
$error_arr['email'] = 'Exm.- john@gmail.com';
}
else{
$valid_arr['email'] = $email;
}
if(count($error_arr) == 0){
header('location: success.php');
}
else{
echo 'Error in Loading';
}
}
?>
<html>
<head>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="POST">
<table>
<tr>
<td><label>User Name :</label></td>
<td><input type="text" name="uname" value="<?php echo $valid_arr['name'];?>"/></td>
<td class="error"><?php echo $error_arr['name'];?></td>
</tr>
<tr>
<td><label>Email :</label></td>
<td><input type="text" name="email" value="<?php echo $valid_arr['email'];?>"/></td>
<td class="error"><?php echo $error_arr['email'];?></td>
</tr>
<tr>
<td><input type="submit" name="save" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>