我创建了一个PHP注册表单,供访问者填写和提交,询问他们的基本信息。
我正在努力完成以下两项任务;
- 添加图像/文件上载字段
- 将他们重定向到确认页面
我一直无法使它发挥作用。以下是我所拥有的。
我的代码
HTML表单
<form name="form1" method="post" action="signup.php">
Username: <input type="text" name="user">
<br>Email: <input type="text" name="mail">
<br>Experience: <select name="exp"> <option value="beginner">Beginner</option>
<option value="intermediate">Intermediate</option> <option value="advanced">Advanced</option>
</select><br> <input type="submit" name="Submit" value="Sign Up">
</form>
注册.php
<?php
$username = $_POST['user'];
$email = $_POST['mail'];
$experience = $_POST['exp'];
//the data
$data = "$username | $email | $experience'n";
//open the file and choose the mode
$fh = fopen("users.txt", "a");
fwrite($fh, $data);
//close the file
fclose($fh);
print "User Submitted";
?>
在HTML中似乎缺少一个输入字段。这里有一个上传文件的表单示例。
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
一旦你完成了,你还没有完全完成,因为你的文件存储在一个临时文件夹中,你需要将文件移动到你的上传文件夹,如下所示:
$target_file = "uploads/" . basename ($_FILES["fileToUpload"]["name"]);
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)
我希望这能有所帮助!
Ta添加一个上传-您需要将enctype="multipart/form data"添加到表单标记中,然后添加上传字段。对于电子邮件字段,将类型更改为HTML5 type="Email",这将进行一点验证,以检查其格式是否正确。如果一切顺利,在php文件的底部添加一个位置头。您可以将所有内容放在一个文件中,并在顶部添加if语句。您还应该净化您的输入
这是一个上传文件脚本,它将遍历文件的所有数据并插入
if(isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['filename']['name']. "uploaded successfully." . "</h1>";
}
$csv_file=$_FILES['filename']['tmp_name'];
$type=$_FILES['filename']['type'];
$handle = fopen($csv_file, "r");
$i=0;
while (($data = fgetcsv($handle)) !== FALSE) {
if($i>0) {
$import="insert into `table_name`(col1,col2,col3,col4,col5,col6,col7)values('".addslashes($data[0])."','".addslashes($data[1])."','".addslashes($data[2])."','".addslashes($data[3])."','".addslashes($data[4])."','$data[5]','$data[6]')";
mysql_query($import) or die(mysql_error());
}
$i=1;
}
echo "Success";
echo "<br>";
echo $_FILES['filename']['type'];
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="" id="">
Choose File:<br>
<input name="filename" type="file" />
<input type="submit" name="submit" value="submit" />
</form>