Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php](mail)[javascript]
Forum PHP.pl > Forum > Po stronie przeglądarki
Raffal
Witam nie znam javascript dlatego siegnalem po gotowca i mam problem java miala mi posluzyc do sprawdzenia formatu mail'a no i niby sprawdza i wszystko ok ale nie wysyla wiadomosci (a bez tego wysylala)

kodzik mam taki
w sekcji head

  1. <script type="text/javascript">
  2. function sprawdz(adres) {
  3. if (adres != "") {
  4. var re = new RegExp("[^@]{1,}[@]{1}[^@.]{1,}[.]{1}[^@]{1,}","gi");
  5. var wynik = re.test(adres);
  6. if (wynik == true) {
  7. window.alert("Adres prawidłowy, wysyłam formularz.");
  8. return true;
  9. }
  10. if (wynik == false) {
  11. window.alert("Nieprawidłowy adres e-mail.");
  12. return false;
  13. }
  14. }
  15. }



no i includuje

  1. <div align=left style="margin: 40px">
  2. <font face='Garamond' size=3>
  3. <? 
  4. if ($imie!="" and $wiadomosc!="" and $mail!="") 
  5. { 
  6. echo "Dziekuje za wiadomosc"; 
  7. $tresc = "Imie: ".$imie."nWiadomosc: ".$wiadomosc."nnadawca: ".$adres; 
  8. mail("raffffal@gmail.com","Wiadomosc od ".$imie,$tresc,$mail); 
  9. } 
  10. else 
  11. { 
  12. ?> 
  13. <!-- formularz --> 
  14.  
  15. <font 'face=garamond' size=3>Prosze wypełnić formularz i wysłać wiadomość</font>
  16. <form onsubmit="return sprawdz(adres.value)" action="<? echo $PHP_SELF; ?>" method="post" { margin: 0; padding: 0; } > 
  17.  
  18. <table>
  19. <tr>
  20. <td>
  21. <font 'face=garamond' size=2>Twoje imię:</font><br></td>
  22. <td >
  23. <input type=text name=imie>
  24. </td>
  25. </tr>
  26. <tr><td><font 'face=garamond' size=2>e-mail:</font></td><td><input type=text name=adres></td></tr>
  27. <tr>
  28. <td><font 'face=garamond' size=2>Wiadomość:</font></td>
  29. <td>
  30. <textarea rows=6 cols=30 name=wiadomosc></textarea>
  31. </td>
  32. </tr>
  33. <tr><td colspan=2 align="center"><input type="submit" name="submit" value="wyslij" align="right"> </td></tr>
  34. </table>
  35. </form> 
  36. <? 
  37. } 
  38. ?> 
  39.  
  40. </font>
  41. </div>


no i nie dziala i nie wiem co jest nie tak prz gotowcu pisalo zeby umiescic
odwolanie do javascript w formie ale byl jeden input a ja mam 3 moze przez to

prosilbym o pomoc smile.gif
JaRoPHP
Kod języka JavaScript działa prawidłowo (ale dopuszcza np. taką wartość adresu: imie@domena.pl@cosik) - jak adres email jest prawidłowo napisany (według tej funkcji), to formularz zostaje przesłany dalej.
Ale czy kod php jest prawidłowy?
W formularzu definiujesz pola o nazwach imie, adres, wiadomosc, a sprawdzasz, czy zmienne $imie, $wiadomosc, $adres[EDIT]$mail mają przypisane wartości. Zakłądając, że sprawdziłeś wcześniej dane, i przypisałeś ich do tych zmiennych, jest ok, ale mam wątpliwości...
Powinieneś odwoływać się do zmiennych wysłanych formularzem poprzez $_POST['nazwa_zmiennej'] (ew. $_GET['']).
Kolejna sprawa, sprawdzając, czy zmienna istnieje, i czy ma wartość używaj funkcji isset(), oraz empty().

I uwaga do kodu HTML/XHTML, wartości atrybutów podawaj w cudzysłowach (apostrofach), czyli np:
  1. <input type='text' name='wiadomosc' />


Czym się objawia "nie działanie"?

EDIT: Java to nie jest to samo co JavaScript!
Raffal
No ale to co w koncu nie dziala wczesniej za nim dodalem sprawdzanie poprawnosci maila to wszystko dzialalo super a teraz nie wysyla poprawnie sparawdza ale nie wysyla
JaRoPHP
Dodałeś tylko sprawdzenie maila poprzez JavaScript i przestało działać? Nic innego nie dodawałeś / nic nie zmieniałeś?

W kodzie php wpisz:
  1. <?php
  2. if(isset($_POST['imie'])) {
  3.  echo var_dump($_POST);
  4. ?>

I napisz jakie otrzymałeś wyniki po przesłaniu formularza.
Raffal
no zmienilem jeszcze nazwe pola txt z email na adres

no a problem jest w tym (przynajmniej mi sie tak wydaje ) formularz sie nie przesyla bo jakby sie przeslal to by maila wyslal a nie wyslal winksmiley.jpg sad.gif
JaRoPHP
Cytat
no a problem jest w tym (przynajmniej mi sie tak wydaje ) formularz sie nie przesyla bo jakby sie przeslal to by maila wyslal a nie wyslal
No niekoniecznie, bo być może warunek który sprawdzasz zwraca FLASE, i program nie wchodzi do tej części kodu (zakładam, że funkcja mail() działa prawidłowo).
Ale napisz to o co prosiłem, i pochwal się wynikami zwróconymi przez php.

[EDIT]
Masz w formularzu pola o nazwach imie, wiadomosc i adres, i sprawdzasz warunek dla zmiennych $imie, $wiadomosc oraz $adres?
Bez względu na to, do zmiennych przesłanych w formularzu odwołuj się poprzez tablicę $_POST[], czyli np.: $_POST['imie']!
Raffal
po wprowadzeniu
  1. <?php
  2. echo $imie;
  3. echo $tresc;
  4. echo $adres;
  5. ?>

nie wyswietla sie $tresc

o to chodzilo?


wychodzi na to ze gdzies w php sie walnalem sprawdzilby ktos? smile.gif
JaRoPHP
Prawidłowo wyświetla dane, czyli formularz jest wysłany i skrypt języka JS działa.
Jaka znowu zmienna $tresc? Kiedy ją wprowadziłeś?

A tekst "Dziekuje za wiadomosc" po przesłaniu formularza sie wyświetla?
Raffal
Nie napis nie wyswietla sie wraca do formularza
JaRoPHP
Czyli funkcja if zwaraca FALSE...
To teraz zastosuj wskazówki umieszczone w pierwszej mojej odpowiedzi, i powinno być oki...
Raffal
jejku przecierz tam wystarczylo zmienic wartosc $mail na $adres w warunku if smile.gif dziala juz dzieki za pomoc:)
JaRoPHP
Cytat
jejku przecierz tam wystarczylo zmienic wartosc $mail na $adres w warunku if

To napisałem w pierwszej odpowiedzi. Rada na przyszłość - czytaj odpowiedzi i stosuj się do nich, a być może ułatwi to życie 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.