Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Co zrobić żeby zmienna z pola select się nie pojawiała w przychodzącym mejlu?
Forum PHP.pl > Forum > Przedszkole
alano
Witam,

Dodałem do formularza nowe pole select, zrobiłem tak żeby zależnie od wybranej np. osoby mejl szedł do przypisanego jej mejla i wygląda to jak poniżej, ale problem jest taki że na mejla mi przychodzi oprocz podanego imienia i telefonu wartosci z pola select tj. "recipient - > Tomek", a tego nie chcę. Co zrobićquestionmark.gif?

  1. <form name="New_Form" action="formtoemail.php" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return New_Form_CF();">
  2. <p class='formtext'>Imię:</p><input type="text" name="Imię" value="" maxlength="55" style="width: 240px" />
  3. <p class='formtext'>Telefon (max. 9 cyfr):</p><input type="text" name="Telefon" value="" maxlength="9" style="width: 240px" />
  4. <div align="left" style="padding-left: 6px; padding-top: 6px;"><input type="submit" id="button" value="Wyślij" /></div>
  5.  
  6. <select name="recipient">
  7. <option value="">Wybierz osobę</option>
  8. <option value="recipient_1">Tomek</option>
  9. <option value="recipient_2">Jacek</option>
  10. <option value="recipient_3">Paweł</option>
  11.  
  12. </form>


  1. while (@list($var,$val) = @each($_POST)) {
  2. if (is_array($val)){
  3. $temp = '';
  4. foreach($val as $newval){
  5. $temp .= "$newval ";
  6. }
  7. $message .= "$var: $temp\n";
  8. } else {
  9. $message .= "$var: $val\n";
  10. }
  11. }
  12.  
  13. $recipients = array(
  14.  
  15. 'recipient_1' => 'asz0988@hotmail.com',
  16. 'recipient_2' => 'aszestakowski@gmail.com',
  17. 'recipient_3' => 'aszestakowski@gmail.com'
  18.  
  19. );
  20.  
  21. $your_email = $recipients[$_REQUEST['recipient']];
  22.  
  23. // send the email
  24. mail($your_email, $subject, $message, "From: $name <$email>\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8");
Lewiatan
  1. while (@list($var,$val) = @each($_POST)) {
  2. if (is_array($val)){
  3. $temp = '';
  4. foreach($val as $newval){
  5. $temp .= "$newval ";
  6. }
  7. $message .= "$var: $temp\n";
  8. } else {
  9. $message .= "$var: $val\n";
  10. }
  11. }


Skoro pętla przegląda całe $_POST to pewnie przy okazji dodaje do wiadomości pole select. Wyświetl sobie po kolei każdą dodawaną linijkę i zobaczysz w którym momencie dodaje Ci select, a potem napisanie odpowiedniego ifa to już raczej formalność winksmiley.jpg Stawiałbym na coś w stylu
  1. if($val != 'recepient')
winksmiley.jpg

Btw. co do pierwszej linijki. Z tego co się orientuję, to aby wytłumić komunikaty błędów wystarczy jeden '@' (najlepiej na początku linii) i wtedy tłumi ci całą linijkę winksmiley.jpg
Fifi209
Cytat(Lewiatan @ 3.02.2010, 16:37:46 ) *
Stawiałbym na coś w stylu
  1. if($val != 'recepient')
winksmiley.jpg


recipient przyjmuje różne wartości (na końcu) więc raczej strpos smile.gif
Lewiatan
Cytat(fifi209 @ 3.02.2010, 16:39:54 ) *
recipient przyjmuje różne wartości (na końcu) więc raczej strpos smile.gif

Mój błąd, chodziło mi o $var. Jeśli dobrze zinterpretowałem ten kod to $var przechowuje indeks z $_POST
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.