Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]formularz - chce by zwracal w mailu tekst, nie liczby
Forum PHP.pl > Forum > Przedszkole
b4ha
Ponieważ to mój pierwszy post na tym forum, witam wszystkich serdecznie smile.gif
zakładam ten wątek ponieważ mam problem, i nie bardzo nawet wiem jak wyguglać rozwiązanie (szukam już 2 dni).
Napisałam formularz, w który niektóre pozycje mają przypisane wartości liczbowe, jednak chciałabym żeby zwracał on w mailu wartości słowne.
Poniżej wklejam kawałki kodu o które mi chodzi:

  1. <script language="JavaScript" type="text/javascript">
  2. <!--
  3. function SchowajWszystkie()
  4. {
  5. for(i=1;i<=2;i++)
  6. {
  7. document.getElementById('element'+i).style.display="none";
  8. }
  9. }
  10.  
  11. function PokazUkryj(index)
  12. {
  13. document.getElementById('element'+index).style.display=(document.getElementById('element'+index).style.display=="block"?"none":"block");
  14. }
  15.  
  16. onload=SchowajWszystkie;
  17. -->
  18. </script>



  1. <p>
  2.  
  3. Konstrukcja budynku:    <select name="konstrukcja_budynku" onchange="SchowajWszystkie();PokazUkryj(this.value);" style="background-color: #FFF; width: 200px; border-style: solid; border-color: #000000; border-width: 1px">
  4. <option value="null">wybierz</option>
  5. <option value="1">Niepalna</option>
  6. <option value="2">Palna</option>
  7. </select><br />
  8. <div id="element1" style="display: block;">
  9.  
  10. </div>
  11. <div id="element2" style="display: none;">
  12. <br />Szczegóły konstrukcji:    <select name="szczegoly_konstrukcji" style="background-color: #FFFFFF; width: 350px; border-style: solid; border-color: #000000; border-width: 1px">
  13. <option value="null">wybierz</option>
  14. <option>Konstrukcja szkieletowa drewniana</option>
  15. <option>Z bali drewnianych</option>
  16. <option>Konstrukcję nośną stanowią słupy drewniane</option>
  17. <option>Więcej niż jeden strop jest drewniany</option>
  18. <option>Ściany zew. niepalne, palna konstrukcja i poszycie dachu</option>
  19. <option>Inne niż wyżej wymienione</option>
  20. </select><br /></div>


  1. <?php
  2. if (count($_POST))
  3. {
  4.    $email = 'xxxxxxxxxx@gmail.com';    
  5.    $subject = 'GRUPA UBEZPIECZEŃ MAJĄTKOWYCH - DOM - zamówienie oferty';    
  6.    $message = 'Dziękujemy za wypełnienie i wysłanie formularza.';    
  7.    $error = 'Wystąpił błąd podczas wysyłania zapytania';    
  8.    $charset = 'utf-8';    
  9.    
  10.    $head =
  11.        "From: $email \nContent-Type:".
  12.            ' text/plain;charset="utf-8"'.
  13.            "\nContent-Transfer-Encoding: 8bit";
  14.    $body = '';
  15.    foreach ($_POST as $name => $value)
  16.    {
  17.        if (is_array($value))
  18.        {
  19.            for ($i = 0; $i < count($value); $i++)
  20.            {
  21.                $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "r\n\n";
  22.            }
  23.        }
  24.        else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n\n";
  25.    }
  26.    echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  27. }
  28. else
  29. {
  30. ?>




Wszystko działa, chodzi tylko o to żeby wynik formularza był
konstrukcja_budynku=Palna
a nie
konstrukcja_budynku=2

podejrzewam że da się to zrobić w php. Czy mogę prosić was o pomoc? Może chociaż jakieś hasło które powinnam wyguglać i obczytać?
kipero
Jeśli te dane mają być tylko wysyłane mailem, to ja bym dał w formularzu:
  1. <option value="niepalna">niepalna</option>

I to samo do wszystkich pól.
b4ha
ale wtedy nie dziala funkcja ukrywajaca divy sad.gif
wookieb
To zrób w js prostego switcha z zamiana wartosci numerycznych na prawidłowe.

Kod
switch(zmienna)
{
case 1: zmienna='cos'; break;
...
}
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.