Předmět Autor Datum
http://blassenweb.net/clanky/odeslani-mailu-s-pril ohou/313
lex 15.06.2011 17:56
lex
Tento jsem zkoušel, ale štve mě že to posílá napsané údaje které nechci. [http://pc.poradna.net/file…
Guest 15.06.2011 18:29
Guest
<?php if (isset($_FILES['fupload'])) { // Read POST request params into global vars $to = "zde zadej…
Wordpres 15.06.2011 18:31
Wordpres
Můžeš mi prosím tě poslat ještě soubor HTML? Dík
Guest 15.06.2011 18:42
Guest
Je to na rychlo uprav si to podle sebe. <h2>Kontaktní formulář</h2> <form id="contacts-form" action…
Wordpres 15.06.2011 18:49
Wordpres
Víš o tom že tohle HTML (kvůli name input prvkům) nebude s tím PHP fungovat až na ten soubor? Simulo…
martin.developer 15.06.2011 19:54
martin.developer
Stejně už jsem to našel tady: http://www.phpbuilder.com/board/showthread.php?t=1 0375743 Akorát js… poslední
Guest 15.06.2011 19:58
Guest
<?php
 if (isset($_FILES['fupload']))
    {
    // Read POST request params into global vars
$to      = "zde zadej svůj mail"; // zde napiš svuj mail 
$from    = $_POST['from'];
$subject = $_FILES['fupload']['name'];
$message = $_POST['message'];

// Obtain file upload vars
$fileatt      = $_FILES['fupload']['tmp_name'];
$fileatt_type = $_FILES['fupload']['type'];
$fileatt_name = $_FILES['fupload']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
  // Read the file to be attached ('rb' = read binary)
  $file = fopen($fileatt,'rb');
  $data = fread($file,filesize($fileatt));
  fclose($file);

  // Generate a boundary string
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  
  // Add the headers for a file attachment
  $headers .= "\nMIME-Version: 1.0\n" .
              "Content-Type: multipart/mixed;\n" .
              " boundary=\"{$mime_boundary}\"";

  // Add a multipart boundary above the plain message
  $message = "This is a multi-part message in MIME format.\n\n" .
             "--{$mime_boundary}\n" .
             "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
             "Content-Transfer-Encoding: 7bit\n\n" .
             $message . "\n\n";

  // Base64 encode the file data
  $data = chunk_split(base64_encode($data));

  // Add file attachment to the message
  $message .= "--{$mime_boundary}\n" .
              "Content-Type: {$fileatt_type};\n" .
              " name=\"{$fileatt_name}\"\n" .
              //"Content-Disposition: attachment;\n" .
              //" filename=\"{$fileatt_name}\"\n" .
              "Content-Transfer-Encoding: base64\n\n" .
              $data . "\n\n" .
              "--{$mime_boundary}--\n";
}

// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {  
  $bl="index.php"; 
  header("location: $bl"); ;
} else {
  echo "<p>Mail nemohl být odeslán!</p>";
}
}
?>

Je to na rychlo uprav si to podle sebe.

<h2>Kontaktní formulář</h2>
<form id="contacts-form" action="send.php" method="post">
  <fieldset>
    <div class="field">
      <label>Vaše jméno:</label>  
       <input name="Vaše_jméno" value=""/>
    </div>
    <div class="field">
      <label>Váš E-mail:</label>
      <input name="Váš_Email" value=""/>
    </div>
    <div class="field">
      <label>Vaše www stránky:</label>
      <input name="Vaše_www_stránky" value=""/>
    </div>
    <div class="field">
      <label>Antispamová otázka 1+1=</label>
      <input name="spam" value=""/>
    </div> 
    <div class="field">
      <label>Vaše zpráva:</label>
      <textarea name="Vaše_zpráva" cols="1" rows="1"></textarea>
    </div>
    <input type="file" name="fupload">
    <div class="alignright"><a href="#" onclick="document.getElementById('contacts-form').submit()" class="link">Odeslat Vaši zprávu!</a></div>
  </fieldset>
</form>

Víš o tom že tohle HTML (kvůli name input prvkům) nebude s tím PHP fungovat až na ten soubor?
Simulování, v takto lehkém formuláři, submitu přes JS je celkem prasárna.

Poté některé prvky jsou tam úplně zbytečné, protože je PHP nezpracuje, když pominu ty špatné jména - spam "ochrana", jméno odesílatele, www stránky.

Nemluvě o tom PHP scriptu.

Možná budu vypadat že jenom "nadávám" a nic neudělám, ale nedá mi to na tyto věci upozornit.

Zpět do poradny Odpovědět na původní otázku Nahoru