Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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 表单到电子邮件、文件上传困难_Php_Forms_File_Email_Upload - Fatal编程技术网

Php 表单到电子邮件、文件上传困难

Php 表单到电子邮件、文件上传困难,php,forms,file,email,upload,Php,Forms,File,Email,Upload,我对php比较陌生,但我会边学边学。我正在为我的企业创建一份租户申请表,并已将该表与基本文本、下拉字段等一起使用。现在我需要将文件上传到该表,并将其发送到我的电子邮件 任何人都可以抽出时间来添加文件上传作为附件,因为我已经尝试了一些不同的代码片段,但与之斗争 表单的HTML非常长,如果需要,我会发布它,但我已将enctype=“multipart/form data”添加到form选项卡中,inout的名称是file\u upload 这是我的表单处理程序,它可能需要很长的一段时间,但它目前可以

我对
php
比较陌生,但我会边学边学。我正在为我的企业创建一份租户申请表,并已将该表与基本文本、下拉字段等一起使用。现在我需要将文件上传到该表,并将其发送到我的电子邮件

任何人都可以抽出时间来添加文件上传作为附件,因为我已经尝试了一些不同的代码片段,但与之斗争

表单的
HTML
非常长,如果需要,我会发布它,但我已将
enctype=“multipart/form data”
添加到
form
选项卡中,inout的名称是file\u upload

这是我的表单处理程序,它可能需要很长的一段时间,但它目前可以工作

if(isset($_POST['email'])) { 
    $email_to = "REMOVED";
    $email_subject = "TENANT APPLICATION";

    function died($error) {

        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }

    $property = $_POST['property'];  
    $title = $_POST['title']; 
    $first_name = $_POST['first_name']; 
    $last_name = $_POST['last_name']; 
    $dateofbirth = $_POST['dateofbirth']; 
    $nationality = $_POST['nationality']; 
    $email_from = $_POST['email']; 
    $telephone = $_POST['telephone'];
    $natins = $_POST['natins'];
    $smoker = $_POST['smoker'];
    $bankrupt = $_POST['bankrupt'];
    $ccj = $_POST['ccj']; 
    $currentaddress = $_POST['currentaddress']; 
    $tenancy = $_POST['tenancy'];
    $timeataddress = $_POST['timeataddress']; 
    $employmentstatus = $_POST['employmentstatus']; 
    $company = $_POST['company']; 
    $positionheld = $_POST['positionheld']; 
    $salary = $_POST['salary']; 
    $timeatemployer = $_POST['timeatemployer']; 
    $selfemployedinfo = $_POST['selfemployedinfo']; 
    $selfemployedincome = $_POST['selfemployedincome'];
    $otheroccupantsover18 = $_POST['otheroccupantsover18'];
    $otheroccupantsunder18 = $_POST['otheroccupantsunder18'];
    $pets = $_POST['pets']; 


    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';

    if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
    }

    $string_exp = "/^[A-Za-z .'-]+$/";

    if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
    }

    if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
    }

    if(strlen($error_message) > 0) {
    died($error_message);
    }

    $email_message = "Form details below.\n\n";


    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    $email_message .= "Property applied for: ".clean_string($property)."\n\n";

       $email_message .= "APPLICANT DETAILS.\n\n";

    $email_message .= "Title: ".clean_string($title)."\n";
    $email_message .= "First name: ".clean_string($first_name)."\n";
    $email_message .= "Last name: ".clean_string($last_name)."\n";
    $email_message .= "Date of birth: ".clean_string($dateofbirth)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
    $email_message .= "National insurance : ".clean_string($natins)."\n";
    $email_message .= "Smoker : ".clean_string($smoker)."\n";
    $email_message .= "Bankrupt : ".clean_string($bankrupt)."\n";   
    $email_message .= "CCJ's : ".clean_string($ccj)."\n\n";


      $email_message .= "CURRENT ADDRESS DETAILS.\n\n";

    $email_message .= "Current address: ".clean_string($currentaddress)."\n";
    $email_message .= "Type of tenancy: ".clean_string($tenancy)."\n";
    $email_message .= "Time at current address: ".clean_string($timeataddress)."\n\n";

      $email_message .= "PREVIOUS ADDRESS DETAILS.\n\n";

    $email_message .= "Previous address 1: ".clean_string($previousaddressone)."\n";
    $email_message .= "Previous address 2: ".clean_string($previousaddresstwo)."\n\n";

      $email_message .= "EMPLOYMENT.\n\n";

    $email_message .= "Employment status: ".clean_string($employmentstatus)."\n\n";

       $email_message .= "EMPLOYED DETAILS.\n\n";

    $email_message .= "Company: ".clean_string($company)."\n";
    $email_message .= "Position held: ".clean_string($positionheld)."\n";
    $email_message .= "Salary: ".clean_string($salary)."\n";
    $email_message .= "Time with employer: ".clean_string($timeatemployer)."\n\n";

       $email_message .= "SELF EMPLOYED DETAILS.\n\n";

    $email_message .= "Details of self employment: ".clean_string($selfemployedinfo)."\n";
    $email_message .= "Average net income of past 3 years: ".clean_string($selfemployedincome)."\n\n";


       $email_message .= "OTHER OCCUPANTS.\n\n";

    $email_message .= "Other occupants OVER 18: ".clean_string($otheroccupantsover18)."\n";
    $email_message .= "Other occupants UNDER 18: ".clean_string($otheroccupantsunder18)."\n";
    $email_message .= "Details of any pets: ".clean_string($pets)."\n\n";



    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    @mail($email_to, $email_subject, $email_message, $headers);  
    ?>

    <?php include 'thankyouapplicationform.php';?>


    <?php

    }
if(设置($_POST['email']){
$email_to=“已删除”;
$email\u subject=“租户申请”;
函数失效($error){
echo“非常抱歉,您提交的表单存在错误。”;
echo“这些错误出现在下面。

”; echo$错误。“

”; echo“请返回并修复这些错误。

”; 模具(); } $property=$_POST['property']; $title=$_POST['title']; $first\u name=$\u POST['first\u name']; $last_name=$_POST['last_name']; $dateofbirth=$_POST['dateofbirth']; $国籍=$_职位['国籍']; $email\u from=$\u POST['email']; $telephone=$_POST['telephone']; $natins=$_POST['natins']; $smoker=$_POST['smoker']; $破产=$_POST[“破产”]; $ccj=$_POST['ccj']; $currentaddress=$_POST['currentaddress']; $tenancy=$_POST['tenancy']; $timeataddress=$\u POST['timeataddress']; $employmentstatus=$_POST['employmentstatus']; $company=$_POST['company']; $positionhold=$_POST['positionhold']; $salary=$_POST['salary']; $timeatemployer=$_POST['timeatemployer']; $selfemployedinfo=$_POST['selfemployedinfo']; $selfemployedincome=$_POST['selfemployedincome']; $OtherOccountSover18=$_POST['OtherOccountSover18']; $OtherOccupentSunder18=$_POST['OtherOccupentSunder18']; $pets=$_POST['pets']; $error_message=“”; $email_exp='/^[A-Za-z0-9.[U%-]+@[A-Za-z0-9.-]+\[A-Za-z]{2,4}$/'; 如果(!preg_match($email_exp,$email_from)){ $error_message.=“您输入的电子邮件地址似乎无效。
”; } $string_exp=“/^[A-Za-z.-]+$/”; 如果(!preg_匹配($string_exp,$first_name)){ $error_message.='您输入的名字似乎无效。
; } 如果(!preg_匹配($string_exp,$last_name)){ $error_message.=“您输入的姓氏似乎无效。
”; } 如果(strlen($error_message)>0){ 死亡($error_message); } $email\u message=“下面的表单详细信息。\n\n”; 函数clean_string($string){ $bad=数组(“内容类型”,“密件抄送:”、“收件人:”、“抄送:”、“href”); 返回str_replace($bad,“,$string); } $email\u message.=“应用的属性:”.clean\u字符串($Property)。“\n\n”; $email\u message.=“申请人详细信息。\n\n”; $email\u message.=“Title:”.clean\u字符串($Title)。“\n”; $email\u message.=“名字:”.clean\u字符串($First\u name)。“\n”; $email\u message.=“姓氏:”.clean\u字符串($Last\u name)。“\n”; $email\u message.=“出生日期:”.clean\u字符串($dateofbirth)。“\n”; $email\u message.=“email:”.clean\u字符串($email\u from)。“\n”; $email\u message.=“电话:”.clean\u字符串($Telephone)。“\n”; $email\u message.=“国家保险:”.clean\u字符串($natins)。“\n”; $email\u message.=“吸烟者:”.clean\u字符串($Smoker)。“\n”; $email\u message.=“破产:”.clean\u字符串($bantern)。“\n”; $email\u message.=“CCJ:.clean\u字符串($CCJ)。“\n\n”; $email\u message.=“当前地址详细信息。\n\n”; $email\u message.=“当前地址:”.clean\u字符串($currentaddress)。“\n”; $email\u message.=“租赁类型:”.clean\u字符串($tenancy)。“\n”; $email\u message.=“当前地址的时间:”.clean\u字符串($timeataddress)。“\n\n”; $email\u message.=“以前的地址详细信息。\n\n”; $email\u message.=“以前的地址1:”.clean\u字符串($previousaddressone)。“\n”; $email\u message.=“以前的地址2:”.clean\u字符串($previousaddresstwo)。“\n\n”; $email\u message.=“就业。\n\n”; $email\u message.=“雇用状态:”.clean\u字符串($employmentstatus)。“\n\n”; $email\u message.=“雇用详细信息。\n\n”; $email\u message.=“公司:”.clean\u字符串($Company)。“\n”; $email\u message.=“位置保持:”.clean\u字符串($positionhold)。“\n”; $email\u message.=“工资:”.clean\u字符串($Salary)。“\n”; $email\u message.=“与雇主的时间:”.clean\u字符串($timeatemployer)。“\n\n”; $email\u message.=“自营职业详细信息。\n\n”; $email\u message.=“自营职业的详细信息:.clean\u字符串($selfemployedinfo)。“\n”; $email\u message.=“过去3年的平均净收入:”.clean\u string($selfemployeedcome)。“\n\n”; $email\u message.=“其他占用者。\n\n”; $email\u message.=“18岁以上的其他住户:”.clean\u字符串($otheroccountsover18)。“\n”; $email\u message.=“18岁以下的其他住户:”.clean\u字符串($otheroccountsunder18)。“\n”; $email\u message.=“任何宠物的详细信息:”.clean\u字符串($pets)。“\n\n”; $headers='From:'.$email\u From.\r\n。 '回复:'.$email\u from.\r\n'。 'X-Mailer:PHP/'.phpversion(); @邮件($email\u to、$email\u subject、$email\u message、$headers); ?>
请与社区分享您已经做过的尝试。我使用了一个代码片段,这本身就可以很好地工作,但是php编码与我的php处理程序的代码结构不同,这使得集成文件上载部分变得很棘手。我也是stackoverflow的新手,它不允许我在不检查字符的情况下将代码发布到回复中演员数。我可以改为编辑我的原始问题吗?你可以编辑你的问题并添加广告
'''  <?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
/*
Tested working with PHP5.4 and above (including PHP 7 )

 */
require_once './vendor/autoload.php';

use FormGuide\Handlx\FormHandler;


$pp = new FormHandler(); 

$validator = $pp->getValidator();
$validator->fields(['Name','Email'])->areRequired()->maxLength(50);
$validator->field('Email')->isEmail();
$validator->field('Message')->maxLength(6000);


$pp->attachFiles(['image']);


$pp->sendEmailTo('REMOVED'); // ↠Your email here

echo $pp->process($_POST); '''