次の 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 />";
?>