ユーザーの詳細を取得し、ファイルをアップロードできるフォームがあります。ファイル名と情報は csv ファイルに保存されます。
ユーザーがすべてのフィールドに入力していない場合、フォームは入力して再試行するよう求めます。ユーザーが入力した値を記憶させたかったので、php を使用してフォーム フィールドのデフォルト値を設定しました。
value="<?php print $fulltitle;?>"
どこで $fulltitle = $_POST['fulltitle'];
ただし、ユーザーが送信に失敗した場合、リセットを押してもフォームはクリアされず、以前の試行が返されます。
リセット機能を動作させるにはどうすればよいですか? 使ってみたリセットボタンで
onclick="<?php $fulltitle='' ?>"
しかし、リセットを押すまでにPHPがすでに処理されているため、効果がないようです。
誰にも何か提案がありますか?
編集:
助けてくれてありがとう、提案されたように簡単なリロードでこれを解決しました。問題への答えを探している人のために:
私が入れたリセットボタンの代わりに:
<FORM METHOD="LINK" ACTION="resetform.php">
<INPUT TYPE="submit" VALUE="Reset">
</FORM>
ファイル resetform.php には次のものがあります。
<?php
$firstname = '' ;
$lastname = '' ;
$fulltitle = '' ;
$email = '' ;
// etc.
header("Location: submitfile.php");
?>
submitfile.php はフォームです
/編集
トリミングされたコードは次のとおりです...
ヘッダ:
<?php
//error_reporting(E_ALL & ~E_NOTICE);
$message = false;
if(isset($_POST['Submit'])){
//user input with commas and < stripped:
$firstname = str_replace("<","",str_replace(",",";",$_POST['firstname']));
//if values missing, dont process:
if(empty($firstname)){
$message = '<span style="color:red;text-align:center;">Please complete all required(*) fields,<br />and check the file has been selected correctly.</span>';
$aClass = 'errorClass';
}
else {
//return data array cvsData from user input
$cvsData = $firstname
fwrite($fp,$cvsData);
fclose($fp);
//reset form
$firstname = '' ;
$message = '<span style="color:blue;text-align:center;">Submission successful, thank you.</span>';
}
}
//if page reloaded, clear form:
else {
$firstname = '' ;
}
?>
体:
<form enctype="multipart/form-data" id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" >
<table>
<?php
if ($message != false)
{
print "<tr><td colspan='2'><span align='center'>" . $message . "</span></td></tr>";
}
?>
<tr>
<td width="200"><span class="texto">*First Name(s)</span></td>
<td><input type="text" name="firstname" id="firstname" value="<?php print $firstname;?>" /></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" id="Submit" value="Submit"/>
<input type="reset" name="Reset" id="Reset" value="Reset" />
</div>
</td>
</tr>
</table>