好的,我的表格几乎完成了90%(姓名,电子邮件等...
但是,当用户尝试在表单上上传文件时,它只会在我的电子邮件中显示文件的名称,我无法下载它,就像我希望能够下载的那样。你们能帮忙吗?
无需经历所有这些,只需文件输入等...
这是我的HTML表单代码:
<form action="" method=POST id=uploadform autocomplete=off>
<div class=top-row>
<div class=field-wrap>
<input id="sender" type="text" value="<?php echo !empty($name)?$name:''; ?>" placeholder="Your name" name="name" required>
</div>
<div class=field-wrap>
<input id=senderEmail type="email" value="<?php echo !empty($email)?$email:''; ?>" placeholder="Email@domain.com" name="email" required>
</div>
</div>
<div class=top-row>
<div class=field-wrap>
<input id="sender" type="text" value="<?php echo !empty($videolink)?$videolink:''; ?>" placeholder="Video Link" name="videolink">
</div>
<div class=field-wrap>
<input id="file" type="file" value="<?php echo !empty($file)?$file:''; ?>" name="file">
</div>
</div>
<textarea id=message type="text" placeholder=Description name=message required><?php echo !empty($message)?$message:''; ?></textarea>
<div class="g-recaptcha" data-sitekey="My google site verification would be here"></div>
<div class=boxcheckauth>
<span class=checkboxdescription>By uploading, you agree to the TOS and privacy policy.</span>
</div>
<?php if(!empty($errMsg)): ?><div class="errMsg"><?php echo $errMsg; ?></div><?php endif; ?>
<?php if(!empty($succMsg)): ?><div class="succMsg"><?php echo $succMsg; ?></div><?php endif; ?>
<center><input type=submit name=submit class="button button-block" value="Upload"/></center>
</form>
这是我的PHP提交代码:
if(isset($_POST['submit'])):
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])):
//your site secret key
$secret = 'My google site verification would be here';
//get verify response data
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
$name = !empty($_POST['name'])?$_POST['name']:'';
$email = !empty($_POST['email'])?$_POST['email']:'';
$videolink = !empty($_POST['videolink'])?$_POST['videolink']:'';
$file = !empty($_POST['file'])?$_POST['file']:'';
$message = !empty($_POST['message'])?$_POST['message']:'';
if($responseData->success):
//contact form submission code
$to = 'My email would be here';
$subject = 'Upload form submission';
$htmlContent = "
<h1>Upload form submission</h1>
<p><b>Name: </b>".$name."</p>
<p><b>Email: </b>".$email."</p>
<p><b>Video link: </b>".$videolink."</p>
<p><b>File: </b>".$file."</p>
<p><b>Message: </b>".$message."</p>
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "'r'n";
$headers .= "Content-type:text/html;charset=UTF-8" . "'r'n";
// More headers
$headers .= 'From:'.$name.' <'.$email.'>' . "'r'n";
//send email
@mail($to,$subject,$htmlContent,$headers);
$succMsg = 'Your mail request have submitted successfully.';
$name = '';
$email = '';
$videolink = '';
$file = '';
$message = '';
else:
$errMsg = 'Robot verification failed, please try again.';
endif;
else:
$errMsg = 'Please complete the reCAPTCHA form.';
endif;
else:
$errMsg = '';
$succMsg = '';
$name = '';
$email = '';
$videolink = '';
$file = '';
$message = '';
endif;
编辑表单:
<form action="" method=POST id=uploadform autocomplete=off>
自
<form action="" method="POST" id="uploadform" autocomplete="off" accept-charset="UTF-8" enctype="multipart/form-data">