douqi4673 2016-03-22 22:15
浏览 37

PHP文件提交表单

Alright, I have got my form pretty much 90% complete (Name, email etc...)

However, when a user attempts to upload a file on the form it only shows the name of the file in my email, I cannot download it, like I want to be able to. Could you guys assist ?

No need to go through all of this just the file inputs etc...

This is my HTML form code:

<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>

This is my PHP submission code:

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" . "
";
        $headers .= "Content-type:text/html;charset=UTF-8" . "
";
        // More headers
        $headers .= 'From:'.$name.' <'.$email.'>' . "
";
        //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;
  • 写回答

1条回答 默认 最新

  • dongse7261 2016-03-22 22:19
    关注

    Edit your form:

    <form action="" method=POST id=uploadform autocomplete=off>
    

    to

    <form action="" method="POST" id="uploadform" autocomplete="off" accept-charset="UTF-8" enctype="multipart/form-data">
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料