各フィールドが空でないことを検証するこのコードがあります。問題は、すべてのフィールドが入力されたときに、フォームを送信するために送信を 2 回押す必要があることです。
<table>
<form method ="post" <?php
if(!empty($_POST['Firstname']) &&
!empty($_POST['Lastname']) &&
!empty($_POST['Email']) &&
!empty($_POST['Comments'])){
echo 'action="messagesent.php"';}
else if(isset($_POST['Firstname']) ||
isset($_POST['Lastname']) ||
isset($_POST['Email']) ||
isset($_POST['Comments'])) {
echo 'action="contact.php"';}?> >
<tr>
<td><label>Firstname:</td><td><input name ="Firstname" type ="text" size ="30" <?php if(!empty($_POST['Firstname'])){$Firstname=$_POST['Firstname'];echo "value=$Firstname";} ?> /></td><td><?php if(empty($_POST['Firstname'])){echo "<font color='blue'>*</font>";}?></td>
</tr>
<tr>
<td><label>Lastname:</td><td><input name="Lastname" type ="text" size ="30" <?php if(!empty($_POST['Lastname'])){$Lastname = $_POST['Lastname'];echo "value=$Lastname";}?> /></td><td><?php if(empty($_POST['Lastname'])){echo "<font color='blue'>*</font>";}?></td>
</tr>
<tr>
<td><label>E-mail:</td><td><input name="Email" type ="text" size ="30" <?php if(!empty($_POST['Email'])){$Email = $_POST['Email'];echo "value=$Email";}?> /></td><td><?php if(empty($_POST['Email'])){echo "<font color='blue'>*</font>";}?> </td>
</tr>
<tr>
<th colspan="2"><label>Your Message</th>
</tr>
<tr>
<td colspan="2"><textarea name= "Comments" rows="10" cols="34"><?php $Comments=$_POST['Comments'];if(!empty($_POST['Comments'])){echo "$Comments";} ?> </textarea></td><td><?php if(empty($_POST['Comments'])){echo "<font color='blue'>*</font>";}?> </td>
</tr>
<tr>
<td><input type="submit" value = "SUBMIT"/> </td>
</tr>
</form>
</table>