Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Mail
Forum PHP.pl > Forum > PHP
Randallmaster
Mam poniżej kod wysyłania maila z załącznikiem który chciałbym mieć w tym samym pliku natomiast za każdym razem kiedy wejdę na tą stronę odrazu wysyła mi pustego maila?? czyli skrypt od razu działa po wejściu na stronę ;/ jak usunąć ten błąd??

  1. <?php
  2. $_GET['stanowisko'] = mysql_escape_string($_GET['stanowisko']);
  3. $zap = mysql_query("SELECT * FROM damprace WHERE stanowisko='".$_GET['stanowisko']."' LIMIT 1;");
  4. $rek = mysql_fetch_assoc($zap);
  5. $email = $rek['email'];
  6.  
  7. //sprawdzenie czy załącznik pochodzi z formularza
  8. if ($_POST["wyslij"]==1)
  9. $nazwisko = $_POST["nazwisko"];
  10.  
  11. $imie = $_POST["imie"];
  12.  
  13. $emaila = $_POST["email"];
  14.  
  15. $tresc= $_POST["tresc"];
  16. {
  17. srand((double)microtime()*1000000);
  18. $znacznik = md5(uniqid(rand()));
  19.  
  20. // dane o odbiorcy, nadawcy
  21. $odbiorca="$email";
  22. $tytul="tytuł wiadomoscil";
  23. $nadawca = "Nadawca";
  24. $nadawca_mail="$emaila";
  25.  
  26. // treść listu
  27. $tresclistu = "
  28. Nazwisko: $nazwisko
  29. Imię: $imie
  30. email: $emaila
  31. tresc: $tresc
  32.  
  33. ";
  34.  
  35.  
  36. // definicja nagłówków
  37. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  38. $naglowki .= "MIME-Version: 1.0\n";
  39. $naglowki .= "Content-Type: multipart/mixed;\n";
  40. $naglowki .= "\tboundary=\"___$znacznik==\"";
  41.  
  42. // nagłówki listu
  43. $tresc="--___$znacznik==\n";
  44. $tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  45. $tresc .="Content-Transfer-Encoding: 8bit\n";
  46. $tresc .="\n$tresclistu\n";
  47.  
  48. // nagłówki i obsługa załącznika
  49. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  50. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  51. $plik_wielkosc = $_FILES["plik1"]["size"];
  52.  
  53. if (is_uploaded_file($plik_nazwa_tmp))
  54. {
  55. $tresc .="--___$znacznik==\n";
  56. $tresc .="Content-Type: image/gif\n";
  57. $tresc .="Content-Disposition: attachment;\n";
  58. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  59. $tresc .="Content-Transfer-Encoding: base64\n\n";
  60. $f = fopen($plik_nazwa_tmp,"rb");
  61. $dane = fread($f,filesize($plik_nazwa_tmp));
  62. fclose($f);
  63. $tresc .= chunk_split(base64_encode($dane));
  64. $tresc .="--___$znacznik==--\n";
  65. }
  66.  
  67. // wysłanie listu
  68. if (mail($odbiorca,$tytul,$tresc,$naglowki))
  69. {
  70. print "E-mail z załącznikiem został wysłany poprawnie.$email";
  71. }
  72. else
  73. {
  74. print "E-mail NIE został wysłany poprawnie.
  75. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  76. }
  77. }
  78. ?>
  79.  
  80. <FORM NAME="zalacznik" METHOD="post" ENCTYPE="multipart/form-data">
  81. Imię: <input type="text" id="nick" name="imie" ><br>
  82. Nazwisko: <input type="text" name="nazwisko" id="nazw"><br>
  83. Email:<input type="text" name="email" id="email" ><br>
  84. Tresc:<textarea name="tresc" id="tresc" rows="3" cols="20" ></textarea><br>
  85. <input type="hidden" name="wyslij" value="1" />
  86. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  87. Załącznik <INPUT type="file" name="plik1"><br><br>
  88. <INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
  89. </FORM>
patrix007
Dodaj to:
  1. if ( ($nazwisko != "") && ($imie != "") && ($emaila != "") && ($tresc != "") )

przed linijką:
  1. if (mail($odbiorca,$tytul,$tresc,$naglowki))
Randallmaster
zrobiłem inaczej i działa dzięki za podpowiedź smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.