Note that there are some explanatory texts on larger screens.

plurals
  1. POphp uploaded file won't send
    primarykey
    data
    text
    <p>I'm trying to use my php script to send form data and an uploaded file. I get the error message "Upload your file" when I'm trying to send it. The message did I created to see if the user uploaded a file. </p> <p>Code:</p> <pre><code>$error_fnamn = ''; $error_artistlink = ''; $error_email = ''; $error_enamn = ''; $error_downloadlinks = ''; $artistlink = ''; $downloadlinks = ''; $email = ''; $enamn = ''; $fnamn = ''; $data = ''; $formfield_data = ''; $streamlink = ''; $releasedate = ''; $error_data = ''; $formfield_steamlink = ''; ############################################################## // FELMEDDELANDEN PHP // visar felmeddelanden när du testar dina script ini_set('display_errors', 1); // visar alla felmeddelanden men INTE "E_NOTICE" (standardvärdet i php.ini) // error_reporting(E_ALL ^ E_NOTICE); // visar alla felmeddelanden // error_reporting(E_ALL); //stäng av eventuella felrapporter //error_reporting(0); ############################################################## // CSS-formatering av formulärfält om inget felmeddelande visas $formfield_fnamn = 'formfield'; $formfield_enamn = 'formfield'; $formfield_email = 'formfield'; $formfield_artistlink = 'formfield'; $formfield_streamlink = 'formfield'; $formfield_downloadlinks = 'formfield'; $formfield_releasedate = 'formfield'; // om submitknappen använts if(isset($_POST['submit'])){ // kontrollerar om magic_quotes_gpc är aktiverat if(get_magic_quotes_gpc()){ $email = stripslashes(trim($_POST["email"])); $fnamn = stripslashes(trim($_POST["artist"])); $enamn = stripslashes(trim($_POST["trackname"])); $artistlink = stripslashes(trim($_POST["artistlink"])); $streamlink = stripslashes(trim($_POST["streamlink"])); $downloadlinks = stripslashes(trim($_POST["downloadlinks"])); $releasedate = stripslashes(trim($_POST["releasedate"])); } else{ $email = $_POST["email"]; $fnamn = $_POST["artist"]; $enamn = $_POST["trackname"]; $artistlink = $_POST['artistlink']; $streamlink = $_POST['streamlink']; $downloadlinks = $_POST['downloadlinks']; $releasedate = $_POST['releasedate']; } ######################################################################## // FELMEDDELANDEN - kontrollerar om formulärfält i ifyllda // anger en variabel som lagrar felmeddelanden $errors = array(); // kontrollera om ett Förnamn angivits if (empty($fnamn)) { // felmeddelandet (array) $errors[] = 'Ange ditt &lt;strong&gt;f&amp;ouml;rnamn&lt;/strong&gt;.'; // formulärfältet $error_fnamn = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_fnamn = 'error_formfield'; } // kontrollera om ett Efternamn angivits if (empty($enamn)) { // felmeddelandet (array) $errors[] = 'Ange ditt &lt;strong&gt;efternamn&lt;/strong&gt;.'; // formulärfältet $error_enamn = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_enamn = 'error_formfield'; } // kontrollera om en E-postadress angivits if (empty($email)) { // felmeddelandet (array) $errors[] = 'Ange din &lt;strong&gt;e-postadress&lt;/strong&gt;.'; // formulärfältet $error_email = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_email = 'error_formfield'; } if (empty($artistlink)) { // felmeddelandet (array) $errors[] = 'Ange din &lt;strong&gt;artistlink&lt;/strong&gt;.'; // formulärfältet $error_artistlink = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_artistlink = 'error_formfield'; } if (empty($downloadlinks)) { // felmeddelandet (array) $errors[] = 'Ange din &lt;strong&gt;downloadlinks&lt;/strong&gt;.'; // formulärfältet $error_downloadlinks = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_downloadlinks = 'error_formfield'; } if (empty($data)) { // felmeddelandet (array) $errors[] = 'Upload your file.'; // formulärfältet $error_data = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_data = 'error_formfield'; } // kontrollera om E-postadress är korrekt $emailcheck = trim($_POST["email"]); if(!preg_match("/^[a-z0-9\å\ä\ö._-]+@[a-z0-9\å\ä\ö.-]+\.[a-z]{2,6}$/i", $emailcheck)) { // felmeddelandet (array) $errors[] = 'Du har angivit en felaktig &lt;strong&gt;e-postadress&lt;/strong&gt;!'; // formulärfältet $error_email = '&lt;span class="error_text"&gt;*&lt;/span&gt;'; $formfield_email = 'error_formfield'; } // kontrollerar den (extra) maximala filstorleken foreach($_FILES as $userfile){ // sparar filinformation om temporärt filnamn, filtyp, filnamn och filstorlek $size = $userfile['size']; if ($size &gt; $max_file_size ) { // felmeddelandet (array) $errors[] = '&lt;strong&gt;Filstorleken&lt;/strong&gt; p&amp;aring; en bifogad fil ('.$size.' byte) &amp;auml;r st&amp;ouml;rre &amp;auml;n till&amp;aring;ten storlek ('.$max_file_size.' byte). V&amp;auml;lj en fil med mindre storlek!'; } } ######################################################################## // om felaktig information angivits visas felmeddelandet (array) if (count($errors)&gt;0){ echo ' &lt;div id="error"&gt;'; foreach($errors as $fel) echo $fel.'&lt;br /&gt;'; echo '&lt;/div&gt; '; } // formmail-scriptet anropas om inga felmeddelanden visas else { // hämtar datum, IP och tid $ip = $_SERVER["REMOTE_ADDR"]; $datum = date("Y-m-d"); $time_local = date('H:i'); ######################################################################## // meddelandets innehåll $mailmessage = "". " ------------------------------------------------ avsändare: ".$fnamn." ".$enamn." e-post: ".$email." artist links: ".$artistlink." stream links: ".$streamlink." download or purchase links: ".$downloadlinks." release date: ".$releasedate." datum: ".$datum." tid: ".$time_local." IP: ".$ip." "; ######################################################################## // lagrar informationen i HEADERS $multipart_info = "This is a multi-part message in MIME format.\nIf you are reading this, consider upgrading your e-mail client to a MIME-compatible client.\n"; $boundary = md5(uniqid(time())); $headers = "From: $email \r\n"; $headers .= 'MIME-Version: 1.0' ."\n"; $headers .= 'Content-Type: multipart/mixed; boundary="'.$boundary .'"' . "\n\n"; $headers .= $multipart_info . "\n"; // Infogar en gräns (boundary) $headers .= '--'.$boundary."\n"; // Kodning för textinnehåll $headers .= 'Content-Type: text/plain; charset=ISO-8859-1' ."\n"; $headers .= 'Content-Transfer-Encoding: 7bit'. "\n\n"; // Infogar meddelandets textinnehåll $headers .= $mailmessage . "\n"; // START slinga för att bifoga flera filer foreach($_FILES as $userfile){ // sparar filinformation om temporärt filnamn, filtyp, filnamn och filstorlek $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size']; // kontrollerar att filen laddats upp if (file_exists($tmp_name)){ // kontrollerar att det är den uppladdade filen som lagrats i variabeln $tmp_name if(is_uploaded_file($tmp_name)){ // öppnar filen för att läsas binärt $file = fopen($tmp_name,'rb'); // hämtar filinnehållet till en variabel $data = fread($file, filesize($tmp_name)); // stänger filen fclose($file); // chunk_split — delar en sträng i mindre bitar för att sedan konvertaras till base64_encode // base64_encode - kodar innehållet med 7 bitars kod stället för 8 bitars kod // Används för att transportera data genom olika system där alla inte använder 8 bitars kod som tex olika mailklienter $data = chunk_split(base64_encode($data)); } // Infogar en gräns (boundary) $headers .= '--'.$boundary."\n"; $headers .= 'Content-Type: '.$type.'; name="'.$name.'"' ."\n"; // Anger kodning för den bifogade filen $headers .= 'Content-Transfer-Encoding: base64'. "\n"; // Anger att en bifogad fil finns $headers .= 'Content-Disposition: attachment; filename="'.$name.'"' ."\n\n"; // Infogar filen uppdelad i mindre bitar med chunk_split och base64_encode $headers .= $data. "\n\n"; } } // SLUT slinga för att bifoga flera filer // Infogar en gräns (boundary) //$headers .= '--'.$boundary."\n"; ######################################################################## // om meddelandefältet för avsändarens e-post inte är tomt skickas meddelandet if (!empty($_POST["email"])) { // Mailfunktionen som skickar meddelandet $send = mail($to, $subject, '', $headers); if ($send) { echo ' &lt;div id="confirmation"&gt; &lt;h1&gt;Tack '.$fnamn.'!&lt;/h1&gt; &lt;p&gt;Ditt meddelande enligt nedan har skickats till oss. &lt;/p&gt;'; // Om en fil bifogats visas namn och storlek på filen foreach($_FILES as $userfile){ if(!empty($userfile['name'])) { echo 'Bifogad fil: '.$userfile['name'].' ('.$userfile['size'].' byte)'; echo '&lt;br /&gt;'; } } echo '&lt;/div&gt;'; } else { echo "Det gick inte att skicka ditt meddelande. &lt;br /&gt; Gå tillbaka och prova igen!"; } } } } ob_end_flush(); if(!isset($_POST['submit']) || (count($errors)&gt;0) ){ // FORMULÄR START echo ' &lt;form action="" method="post" enctype="multipart/form-data" name="kontaktform" id="kontaktform"&gt; &lt;fieldset style="width: 500px;"&gt; &lt;legend&gt;Submit your track!&lt;/legend&gt;&lt;br /&gt; &lt;label for="artist"&gt;'.$error_fnamn.'Artist Name:&lt;/label&gt;&lt;br /&gt; &lt;input name="artist" type="text" class="'.$formfield_fnamn.'" id="artist" size="30" value="'.$fnamn.'" /&gt;&lt;br /&gt; &lt;label for="trackname"&gt;'.$error_enamn.'Track Name:&lt;/label&gt;&lt;br /&gt; &lt;input name="trackname" type="text" class="'.$formfield_enamn.'" id="trackname" size="40" value="'.$enamn.'" /&gt;&lt;br /&gt; &lt;label for="email"&gt;'.$error_email.'E-mail:&lt;/label&gt;&lt;br /&gt; &lt;input name="email" type="text" class="'.$formfield_email.'" id="artistlink" size="40" value="'.$email.'" /&gt;&lt;br /&gt; &lt;label for="artistlink"&gt;'.$error_artistlink.'Artist Link:&lt;/label&gt;&lt;br /&gt; &lt;input name="artistlink" type="text" class="'.$formfield_artistlink.'" id="artistlink" size="40" value="'.$artistlink.'" /&gt;&lt;br /&gt; &lt;label for="streamlink"&gt;Stream Link (if applicable):&lt;/label&gt;&lt;br /&gt; &lt;input name="streamlink" type="text" class="'.$formfield_streamlink.'" id="streamlink" size="40" value="'.$streamlink.'" /&gt;&lt;br /&gt; &lt;label for="releasaedate"&gt;Release Date (if applicable):&lt;/label&gt;&lt;br /&gt; &lt;input name="releasedate" type="text" class="'.$formfield_releasedate.'" id="releasedate" size="40" value="'.$releasedate.'" /&gt;&lt;br /&gt; &lt;label for="downloadlinks"&gt;'.$error_downloadlinks.'Purchase or Download Links:&lt;/label&gt;&lt;br /&gt; &lt;textarea name="downloadlinks" id="downloadlinks" style="width: 450px; height: 50px; padding: 5px;" class="'.$formfield_downloadlinks.'" "&gt;'.$downloadlinks.'&lt;/textarea&gt;&lt;br /&gt; &lt;br /&gt; &lt;label for="filenamn"&gt;'.$error_data.'Bild eller fil som ska bifogas meddelandet:&lt;/label&gt;&lt;br /&gt; &lt;input type="file" name="filename1"'.$formfield_data.'" id="filename1" size="60"'.$data.'" /&gt;&lt;br /&gt; </code></pre> <p>Do anyone of you have any idea what could be the problem? </p> <p>Regards, Adam</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload