Php 文件上载和输入文本字段在一起

Php 文件上载和输入文本字段在一起,php,html,Php,Html,我的表单中有文件上载和文本输入字段,我想在同一页上显示文件上载的错误消息,如果有错误,不要转到下一页…如果文件上载有错误,也将文本字段的值返回到同一页。。。我怎么做? <form action="send.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="submited" value="true" /><br> <label for="file"

我的表单中有文件上载和文本输入字段,我想在同一页上显示文件上载的错误消息,如果有错误,不要转到下一页…如果文件上载有错误,也将文本字段的值返回到同一页。。。我怎么做?

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>


选择照片:
名字:
姓氏:
选择用户名:
年龄:
这是用于文件上传的php代码…我将从
将数据插入数据库,但我现在没有用于此的代码

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>
    <?php
ini_set( "display_errors", 0);
if(isset($_REQUEST['submited'])) {

// your save code goes here

$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2097152)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "";

if (file_exists("images/" . $_FILES["file"]["name"]))
{
echo "<font color='red'><b>We are sorry, the file you trying to upload already exists.</b></font>";
  }

else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"images/" . $_FILES["file"]["name"]);
echo "<font color='green'><b> Success! Your photo has been uploaded.</b></font>";
}
}
}
else
{
echo "<font color='red'><b>We are sorry, the file you trying to upload is not an image or it exceeds 2MB in size.</b></font><br><font color='blue'><i>Only images under size of 2MB are allowed</i></font>.";
}
}
?>

如果出现错误,只需让您的PHP使用填写的字段(即值属性)重新生成表单。

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>
要使其保持在同一页上,您可以删除该操作

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>
send.php

<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>
然后在同一个文件中添加此处显示的html和php代码。执行该文件时,它将保持在同一页上。


<form action="send.php" method="post"  enctype="multipart/form-data">
<input type="hidden" name="submited" value="true" /><br>
<label for="file">Choose Photo:</label>
<input type="file" name="file" required><br>
First Name:<input type="text" name="fname" required><br>
Last Name:<input type="text" name="lname" required><br>
Choose Username:<input type="text" name="username" required><br>
Age:<input type="text" name="age" required><br>
<input type="submit" value="Submit" name="submit" >

</form>
</body>
</html>
<?php
    if (!empty($_POST)){
        //send.php code
    }
?>

<form action="send.php" method="post"  enctype="multipart/form-data">
    <input type="hidden" name="submited" value="true" /><br>
    <label for="file">Choose Photo:</label>
    <input type="file" name="file" required><br>
    First Name:<input type="text" name="fname" required><br>
    Last Name:<input type="text" name="lname" required><br>
    Choose Username:<input type="text" name="username" required><br>
    Age:<input type="text" name="age" required><br>
    <input type="submit" value="Submit" name="submit" >
</form>

选择照片:
名字:
姓氏:
选择用户名:
年龄:

就我个人而言,我会将PHP封装在一个函数中,并使用AJAX进行文件上传调用,这将允许javascript解析响应(返回语句)。然后,如果出现错误,您可以使用javascript来显示错误,还可以使用异步上传而不是普通的文件上传!我可以这样做,但问题是无论图像上传成功与否,它都会将文本数据发送到数据库..我希望文本字段中的数据与图像一起发送..如果上传图像时出错,文本数据将不会发送到数据库如果我理解你的意思,你可以尝试以下操作:if($\u FILES['logo']['name']==“”){//没有选择要上载的文件,您的(重新)操作将在此处执行}