2016-03-22 12 views
0

Tamam, benim formu, bir kullanıcı form üzerinde bir dosyayı karşıya yüklemeden komple hemen hemen% 90 (Ad, e-posta vb ...) AncakPHP Dosya gönderme formu

, var sadece gösteriyor E-posta adresimdeki dosyanın adı, indirmek istemediğim gibi indiremiyorum. Yardımcı olabilir misiniz?

tüm bu sadece dosya girişleri vb geçmesi gerek yok ...

Bu benim HTML formu kodudur: Bu benim PHP gönderme kodu

<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 protected]" 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> 

geçerli:

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; 
+0

için E-posta adresiniz. –

+0

Bunun yerine $ _POST değerini $ _FILES olarak değiştirdim. –

cevap

0

düzenleyin formu:

ya da sunucuya kaydedin ve kendinize bir bağlantıyı e-posta veya eki olarak içeriğini gömebilirsiniz -
<form action="" method=POST id=uploadform autocomplete=off> 

Sen `$ _FILES [ 'file']` dan okumak gerekir

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

Sidenote: 'enctype' önemlidir, 'accept-charset' dosya yüklemeleri için uygun değildir. –

+0

Hayır, bu, çalışmanın yakınında bir yer değildi. –