我正在制作一个html表单,我正在从用户那里获取某些输入,包括姓名,照片和其他详细信息。我也在验证字段(例如,检查输入的选定文件是图像)。
问题是当用户选择错误类型的文件时,只有在点击提交按钮后才会检查它!
我不希望用户再次输入表格的所有细节 - 只需要输入他或她输入错误的字段。
这就是我的尝试:
<form action="abc.php" method = "POST" enctype="multipart/form-data">
<input type="text" name="detail" value=<?php echo $_POST['detail']; ?> >
但它产生了这个错误:
未定义变量:详细信息
我甚至尝试过:
<input type="text" name ="detail" value="<?php if($_POST['detail'])
$test=$_POST['detail'];
else $test='';
echo $test; ?>">
答案 0 :(得分:1)
使用php isset来检查post变量是否存在于三元比较中:
<input type="text" name="detail" value="<?php echo isset($_POST['detail']) ? $_POST['detail'] : ''; ?>" />
答案 1 :(得分:-1)
使用如下
<form action="abc.php" method = "POST" enctype="multipart/form-data">
<input type="text" name="detail" value=<?php if(isset($_POST['detail'])){ echo $_POST['detail']; } ?> >
所以每当你的表单加载时。然后在价值中我们需要先检查是否设置了$ _POST [“detail”]?那么只有我们应该打印它。 所以通过使用isset(),您可以避免此类错误。
答案 2 :(得分:-1)
Javascript用于验证客户端上的表单。这样您就可以在发布数据之前停止提交(在按下“提交”按钮之前)
这是最好的做法,因为这样可以避免不必要的服务器调用。
请按照下面给出的链接上的教程来完成您的任务: this simple JSFiddle