我有一个使用以下 PHP 代码提交的在线表单。这可以正常工作,并根据需要创建包含提交数据的电子邮件。
现在我在表单中添加了一个简单的文件上传按钮并添加enctype="multipart/form-data"
到表单标签中,并尝试在同一个 PHP 页面上上传文件。不幸的是,这不起作用,但是当我在单独的表单上测试文件上传时它工作正常,所以我假设我没有使用正确的代码来获取文件数据。
到目前为止,在会话开始后,我有以下代码和有问题的行。有没有办法可以成功组合它,以便它提交表单数据并同时上传文件?(我不需要附加到电子邮件的文件,如果它被上传到服务器就足够了)。
<?php
session_start();
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "uploads/" . $_FILES["fileToUpload"]["name"]);
$varSender = $_SESSION['email'];
require_once('class.email.php');
$message="<span style='font-family: Arial, Helvetica, Sans-Serif; font-size:11pt; color: #00457c;'>";
$message.="Email from: " . $_SESSION['email'] . " - ID: " . $_POST['EID'] . "<br /><br />";
$message.="<strong>User name:</strong> " . htmlentities($_POST['userName']) . "<br />";
$message.="<strong>Line 1:</strong> " . $_POST['line1'] . "<br />";
$message.="<strong>Line 2:</strong> " . $_POST['line2'] . "<br />";
$message.="<strong>Line 3:</strong> " . $_POST['line3'] . "<br />";
$message.="<strong>Details:</strong> <br />";
$message.="" . $_POST['details'] . "<br />";
$message.="</span>";
$objMail= new SendMail;
$objMail -> setTo($varSender)
-> setTo($_POST['recipient'])
-> setFrom('"Web Mail" <XXX@company.com>')
-> setSubject('Web Request - ' . date('Y-m-d') . ' - ' . htmlentities($_POST['userName']))
-> sendHTMLEmail($message);
echo "<strong>Thank you for your request.</strong><br /><br />";
echo "Your email has been submitted successfully - your ID is: <strong>" . $_POST['EID'] . "</strong>.<br />";
echo "<a href='javascript:window.close();'>Close Window</a><br />";
?>