【发布时间】:2019-05-29 20:14:25
【问题描述】:
尝试填写表单并在每次提交时生成单独的 .csv 文件。填写表格后,页面会重新加载,但当前不生成文件。
我知道还有很多其他方法可以做到这一点,但我对此很陌生,通过这种方式,我可以比其他人更好地解决问题。
<?php
if(isset($_POST["submit"])){
//collect form data
$name = $_POST["name"];
$email = $_POST["email"];
$customer = $_POST["customer"];
$reseller = $_POST["reseller"];
$standardusers = $_POST["standardusers"];
$ucusers = $_POST["ucusers"];
$recording = $_POST["recording"];
$firewall = $_POST["firewall"];
//check name is set
if($name ==''){
$error[] = 'Name is required';
}
//check for a valid email address
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$error[] = 'Please enter a valid email address';
}
//check customer name is set
if($customer ==''){
$error[] = 'Customer Name is required and must match ConnectWise';
}
//check reseller name is set
if($reseller ==''){
$error[] = 'Reseller Name is required and must match ConnectWise';
}
//check standardusers is set
if($standardusers ==''){
$error[] = 'Number of users is required';
}
//check ucusers is set
if($ucusers ==''){
$error[] = 'Number of users is required';
}
//if no errors carry on
if(!isset($error)){
//# Title of the CSV
$Content = "Name, Email, Customer, Reseller, Standard Users, UC Users, Call Recording, Firewall\n";
//set the data of the CSV
$Content .= "$name, $email, $customer, $reseller, $standardusers, $ucusers, $recording, $firewall\n";
//# set the file name and create CSV file
$filename = "formdata-".date("d-m-y-h:i:s").".csv";
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="'.$FileName.'";');
echo $Content;
echo gethostname();
exit();
}
}
?>
提交表单后,它应该将 .csv 文件拖放到服务器,并让用户知道表单已成功提交。
【问题讨论】:
-
欢迎来到 Stack Overflow。请使用minimal, complete, and verifiable example 更新您的问题,以展示问题。向我们展示您迄今为止所做的尝试。