Wilt Bijlage meesturen alleen werkt niet wat mis ik nog?

Status
Niet open voor verdere reacties.

R2012

Nieuwe gebruiker
Lid geworden
23 feb 2012
Berichten
2
Beste allemaal,

Kan iemand mij helpen om dit script correct te maken ik zie door de bomen het bos niet meer. Wil een bijlage mee sturen alleen die wordt niet mee verzonden de inhoud wel.

Met vriendelijke groet;
Remco
PHP:
<?php
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method
if((isset($_POST["naam"]) == FALSE) OR (isset($_POST["adres"]) == FALSE) OR (isset($_POST["postcode"]) == FALSE) OR (isset($_POST["woonplaats"]) == FALSE) OR (isset($_POST["telefoonnummer"]) == FALSE) OR (isset($_POST["email"]) == FALSE) OR (isset($_POST["opmerkingen"]) == FALSE))
{
?>

<?php
}
else
{
  function slashes($tekst)
  {
    if(get_magic_quotes_gpc() == TRUE)
    {
    $tekst = stripslashes($tekst);
    }
  return trim($tekst);
  }
 
$aan = "remcodegeus@live.nl"; // vul hier het emailadres in waar u het formulier naar toe wilt zenden, eventueel kunt u meerdere emailadressen scheiden met een komma
$naam_aan = "Remco de Geus"; // evt de naam van de ontvanger
$onderwerp = "JAJAJA"; // de naam dat u wilt hebben in de onderwerp van de email
$body = "TRALALALA\n\n"; // de naam die boven de email komt te staan

//================================ scriptING DEEL =====================================\
$naam = slashes($_POST["naam"]);
$adres = slashes($_POST["adres"]);
$postcode = slashes($_POST["postcode"]);
$woonplaats = slashes($_POST["woonplaats"]);
$telefoonnummer = slashes($_POST["telefoonnummer"]);
$email = slashes($_POST["email"]);
$opmerkingen = slashes($_POST["opmerkingen"]);
$melding = "";
  if(isset($_POST[""]) == FALSE)
  {
  }
 
  if($naam == "")
  {
  $melding .= "<li>U heeft geen naam ingevuld</li>";
  }

  if($adres == "")
  {
  $melding .= "<li>U heeft geen adres ingevuld</li>";
  }

  if($postcode == "")
  {
  $melding .= "<li>U heeft geen postcode ingevuld</li>";
  }

  if($woonplaats == "")
  {
  $melding .= "<li>U heeft geen woonplaats ingevuld</li>";
  }
 
  if($telefoonnummer == "")
  {
  $melding .= "<li>U heeft geen telefoonnummer ingevuld</li>";
  }
  elseif(ctype_digit($telefoonnummer) == FALSE)
  {
  $melding .= "<li>U heeft een ongeldig telefoonnummer ingevuld</li>";
  }
 
  if($email == "")
  {
  $melding .= "<li>U heeft geen e-mailadres ingevuld</li>";
  }
  elseif(preg_match("/^([a-zA-Z0-9-_\\.]+)(@){1}([a-zA-Z0-9\\.-_]+)(\\.){1}([a-zA-Z]){2,3}$/Us",$email) == FALSE)
  {
  $melding .= "<li>U heeft een ongeldig e-mailadres ingevuld</li>";
  }

 
  if($melding != "")
  {
  echo "De volgende gegevens zijn nog niet ingevuld<br>";
  echo $melding;
  echo "<br><b>Klik <a class=\"main\" href='javascript:history.back(1)'><i>hier</i></a> om het nog eens te proberen</b>";
  }
  else
  {

  $aanhef = slashes($_POST["aanhef"]);
  $body .= "\n\nAanhef: " . $aanhef . "\nNaam: " . $naam . "\nAdres: " . $adres . "\nPostcode: " . $postcode . "\nWoonplaats: " . $woonplaats . "\nTelefoonnummer: " . $telefoonnummer . "\nEmail: " . $email . "\n";
    if($opmerkingen != "")
    {
    $body .= "Opmerkingen:\n" . $opmerkingen . "\n";
    }
    
  $headers .= "From: " . $naam . " <" . $email . ">\n";
  $headers .= "Reply-To: " . $naam . " <" . $email . ">\n";
  $headers .= "MIME-Version: 1.0\r\n";
  //email bestaat uit meerdere  bestanden dus vertel wat de scheidings teken is en dat het een multipart is
  $headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\n";
  //als bijlage toegevoegd
  $headers .= "Content-disposition: attachment\n";
  //readfile
  $fp = fopen($_FILES['file']['tmp_name'],'r');
  $bestand = fread($fp,$_FILES['file']['size']);
  fclose($fp);
  //create body
  //generenen een body. Dit is een multi part gezeik
  $body.= "This is a multi-part message in MIME format.\n";
  $body.= "\n";
  //boundary
  $body.= "--".bound."\n";
  //content type + charater set (iso in dit geval)
  $body.= "Content-Type: text/plain; charset=iso-8859-1\n";
  //codering (7 bit)
  $body.= "Content-Transfer-Encoding: 7bit\n";
  $body.= "\n";
  //het bericht
  $body.= "Aanhef: " . $_POST['aanhef'] ."\n";
  $body.= "Naam: " . $_POST['naam'] ."\n";
  $body.= "Adres: " . $_POST['adres'] ."\n";
  $body.= "Postcode: " . $_POST['postcode'] ."\n";
  $body.= "Woonplaats: " . $_POST['woonplaats'] ."\n";
  $body.= "Telefoonnummer: " . $_POST['telefoonnummer'] ."\n";
  $body.= "E-mailadres: " . $_POST['email'] ."\r\n";
  $body.= "Opmerkingen: " . $_POST['opmerkingen'] ."\n";
  $body .= "\n_____________________________________________\n";
  $body .= (date("d-m-y h:i:s") . "     |     " . $_SERVER["REMOTE_ADDR"]);
  //boundary
  $body.= "--".bound."\n";
  //content type + naam bestand (database.sql)
  $body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\n";
  //codering
  $body .= "Content-Transfer-Encoding: base64\n";
  //als bijlage toegevoegd
  $body.= "Content-disposition: attachment\n";
  $body .= "\n";
  //de inhoud van het bestand
  $body .= chunk_split(base64_encode($bestand )) . "\n";
    if(@mail($aan,$onderwerp,$body,$headers,$file) == FALSE)
    {
    echo "Er is een fout opgetreden.\n";
    }
    else
    {
    echo "<div align=\"center\">\n";
    echo "<b><font size=4>Bedankt voor het invullen van het contactformulier!</size></b><br>\n";
    echo "Wij nemen zo spoedig mogelijk contact met u op.";
    echo "<br \> <br \>";
    echo "<br \> <br \>";
    echo "<b><legend>Met vriendelijke groet;</legend></b>";
    echo "<br \>";
    echo "Adequaat Facilitair Salescenter B.V.";
    echo "</div>\n";
    }
  }
}
?>

HTML:
<form action="contactformulier.php" method="post" enctype="multipart/form-data">
  <table align="center" cellspacing="0" bordercolor="#660000" bordercolorlight="#008040" cellpadding="5">
    <tr> 
      <fieldset><td nowrap align="right" valign="middle"><legend><font face="Arial" size="2"><b>Velden met een</font> <font face="Arial" size="4">*</font> <font face="Arial" size="2">zijn verplicht!</legend></b></font></td>
      <td align="left"><input type="radio" name="aanhef" value="Man"><font size="2" face="Arial">Man</font>
       <input type="radio" name="aanhef" value="Vrouw"><font size="2" face="Arial">Vrouw</font></td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">* Naam</font></div></td>
      <td align="left"> <input type="text" name="naam"> </td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">* Adres</font></td>
      <td align="left"> <input type="text" name="adres"> </td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">* Postcode</font></td>
      <td align="left"> <input type="text" name="postcode" maxlength="6"> </td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">* Woonplaats</font></td>
      <td align="left"> <input type="text" name="woonplaats"> </td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">* Telefoonnummer</font></td>
      <td align="left"> <input type="text" name="telefoonnummer" maxlength="10"> </td>
    </tr>
    <tr> 
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Verdana" size="2">* E-mailadres</font></div></td>
      <td align="left"> <input type="text" name="email"> </td>
    </tr>
    <tr>
        <td><font face="Verdana" size="2"><label for="file">* CV uploaden:</label></font></td>
      <td align="left"> <input type="file" name="files" id="files" /> </td>
    </tr>
    <tr>
      <td nowrap align="right" valign="middle"> <div align="left">
        <font face="Arial" size="2">Opmerkingen</font> </div></td>
      <td align="left" rowspan="2"> <div align="right"><b> 
          <textarea name="opmerkingen" cols="36" rows="5"></textarea>
          </b> </div></td>
    </tr>
    <tr> 
      <th nowrap align="right" valign="middle"> <div align="right"></div></th>
    </tr>
    <tr> 
      <td colspan="2"> <div align="center"> 
          <font face="Arial"> 
          <input type="submit" name="send" value="Verzenden"> <input type="reset" name="reset" value="Wissen"><font size="2">
            </font></font>
        </div></td>
    </tr>
  
</form>
  <table align="center" cellspacing="0" bordercolor="#660000" bordercolorlight="#CCCCCC" cellpadding="5" id="table1">
    <tr valign="middle" align="center"> 
      <td valign="middle" align="left" height="22"> 
        <p style="margin-top: 0; margin-bottom: 0"><font face="Arial"></font></td>
    </tr>
  </table>
</form>
 
Laatst bewerkt:
Je gebruikt $_FILES['file'], terwijl je de input als name "files" hebt gegeven.
 
Het enige dat ik zie dat niet helemaal klopt is dat "bound" op regel 129 niet op een nieuwe regel staat, al zie ik niet in hoe dat je probleem kan verklaren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan