这是我所得到的。谁能告诉我我错过了什么?为什么不附加文件?
这是我的pastebin文件:http://pastebin.com/ziwv9fzt
和下面文件中的代码:
<!-- form start -->
<?php
$error = false;
$sent = false;
if(isset($_POST['submit'])) {
if(empty ($_POST['order']) || empty($_POST['name']) || empty($_POST['email']) || empty($_POST['message'])) {
$error = true;
} else {
$to = "order@amezdigitaldesign.com";
$order = trim($_POST['order']);
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$file = trim($_POST['file']);
$message = trim($_POST['message']);
$subject = "order form";
$messages = "rn order: $order rn namn: $name rn epost: $email rn meddelande: $message";
$headers = "from:" . $name;
$mailsent = mail($to, $subject, $messages, $headers);
if($mailsent) {
$sent = true;
}
}
}
?>
<?php if($error == true) { ?>
<p class="error"><b>Där var ett tomt fält i formuläret.<br>var god säg till att all information fylls i korrekt.</b></p>
<?php } if($sent == true) { ?>
<p class="sent"><b>Tack, din order har skickats.<br>Vi kommer kontakta dig snarast!</b></p>
<?php } ?>
<div id="banner">
<form name="order" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<label for="order">Ärende: *<br></label>
<select name="order">
<option value="Banner">Banner</option>
</select><br><br>
<label for="name">Namn: *<br></label>
<input type="text" name="name" size="15" />
<br><label for="email">Epost: *<br></label>
<input type="email" name="email" size="25" /><br>
<label for="file">Bifoga fil:<br></label>
<input type="file" name="file"/><br><br>
<label for ="message">Meddelande: *<br>
<i>(Skriv gärna så detaljerat som möjligt hur du vill att din<br>banner ska se ut, om du inte bifogar fil.)</i></label><br>
<textarea name="message" cols="45" rows="10"></textarea><br><br>
<input type="submit" name="submit" class="submit" value="Skicka"/>
</form>
<div style="clear:both;"></div>
</div>
<!-- form end -->
文件存储在$_FILES
中,而不是在$_POST
中。因此,对于初学者,您需要确保将文件从正确的位置附加。此外,我不相信它会附上。您需要正确创建电子邮件。
诸如phpmailer之类的现有库可能会更好。如果我没记错的话,它具有将文件附加到电子邮件的设施内置。