Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在html表单中仅重新输入某些值_Php_Html - Fatal编程技术网

Php 在html表单中仅重新输入某些值

Php 在html表单中仅重新输入某些值,php,html,Php,Html,我正在制作一个html表单,其中我从用户那里获取某些输入,包括姓名、照片和其他详细信息。我还在验证字段(例如,检查输入的选定文件是否为图像) 问题是,每当用户选择错误类型的文件时,只有在单击“提交”按钮后才会选中该文件 我不希望用户再次输入表单的所有详细信息——只需要他或她输入错误的字段 这就是我尝试过的: <form action="abc.php" method = "POST" enctype="multipart/form-data"> <input type="te

我正在制作一个html表单,其中我从用户那里获取某些输入,包括姓名、照片和其他详细信息。我还在验证字段(例如,检查输入的选定文件是否为图像)

问题是,每当用户选择错误类型的文件时,只有在单击“提交”按钮后才会选中该文件

我不希望用户再次输入表单的所有详细信息——只需要他或她输入错误的字段


这就是我尝试过的:

<form action="abc.php" method = "POST" enctype="multipart/form-data">
<input type="text" name="detail" value=<?php echo $_POST['detail']; ?> >


使用php isset检查三元比较中是否存在post变量:

<input type="text" name="detail" value="<?php echo isset($_POST['detail']) ? $_POST['detail'] : ''; ?>" />
像下面这样使用

<form action="abc.php" method = "POST" enctype="multipart/form-data">
<input type="text" name="detail" value=<?php if(isset($_POST['detail'])){ echo $_POST['detail']; } ?> >


Javascript用于在客户端验证表单。以便您可以在发布数据之前停止提交(在按下提交按钮之前)

这是最佳实践,因为这样可以避免不必要的服务器调用

请按照以下链接上的教程完成任务:

将$\u POST替换为$\u会话,并在处理提交表单数据的脚本中,将有效数据存储在$\u会话变量中。感谢您的建议。我现在就来试试<代码>测试表单必须在“abc.php”中创建“session”变量,然后“header”返回包含表单的页面。“xyz.php”包含表单,提交表单时跳转到“abc.php”,这里$\u POST在$\u会话中转换,然后调用“header”跳转回“xyz.php”。始终验证服务器端。客户端验证很容易被绕过。不,它不起作用。我不知道为什么它一直打印错误条件,即“请添加完整代码”。我相信您提交表单的脚本与显示表单的脚本不同。
<form action="abc.php" method = "POST" enctype="multipart/form-data">
<input type="text" name="detail" value=<?php if(isset($_POST['detail'])){ echo $_POST['detail']; } ?> >