Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html]Formularz i skrypt w jednym pliku
Forum PHP.pl > Forum > Przedszkole
tuks
Witam
Pracuje właśnie nad formularzem kontaktowym do mojej strony. Formularz działa bez zarzutu ale jest on podzielony na dwa pliki. Pierwszy plik z czystym kodem html,a drugi to skrypt php z funkcja mail(). Zastanawiam się jaki sposób można połączyć kod html formularza ze skryptem php wysyłającym wiadomość aby całość znajdowała sie w jednym pliku. Myślałem też o tym czy zamiast wywoływania pliku ze skryptem php do przetwarzania formularza można wywołać odpowiednia funkcje bądź klasę. Poniżej zamieszczam kod obu plików:

formularz
  1. <form name="kontakt" method="post" action="silnik.php">
  2.  
  3. <label>Odbiorca
  4. <select name="odbiorca">
  5. <option>Wybierz odbiorce</option>
  6. <option value="adresemail1">Webmaster</option>
  7. <option value="adresemail2">Info</option>
  8. <option value="adresemail3">Prywatny</option>
  9. </select>
  10. </label>
  11.  
  12. <label>Imie i nazwisko
  13. <input type="text" name="imieNadawcy" />
  14. </label>
  15.  
  16. <label>Twoj adres email
  17. <input type="text" name="nadawca" />
  18. </label>
  19.  
  20. <label>Temat
  21. <input type="text" name="temat" />
  22. </label>
  23.  
  24. <label>Wiadomosc
  25. <textarea name="wiadomosc" cols="10" rows="2"></textarea>
  26. </label>
  27.  
  28. <input type="submit" value="Wyslij"/>
  29.  
  30. </form>


skrypt php
  1. <?php
  2. $odbiorca=$_POST['odbiorca'];
  3. $wiadomosc=$_POST['wiadomosc'];
  4. $temat=$_POST['temat'];
  5. $od=$_POST['imieNadawcy'];
  6. $nadawca=$_POST['nadawca']; 
  7.  
  8.  mail( $odbiorca, $temat, $wiadomosc,
  9.  "From: $odrn"
  10.  ."Reply-to: $nadawca")
  11.  ?>
kossa
podziel kod na 2 funkcje

f-cja 1 skrypt wysyłający meila

f-cja 2 generowanie formularza

wykorzystaj if.. i wywoluj odpowiednia funkcje w zaleznosci od warunku, proste, dasz rade smile.gif nie pisze gotowca, skoro napisales skrypcik to podzialasz i czegos sie nauczysz, beda problemy - pisz na forum smile.gif

powodzenia,
Lukasz
tuks
Witam ponownie
Zaczalem zmieniac i zatrzymalem sie w takim miejscu

  1. <?php 
  2.  
  3. function wyslijWiadomosc($odbiorcaf, $wiadomoscf, $tematf, $odf, $nadawcaf)
  4. {
  5. $odbiorca=$odbiorcaf;
  6. $wiadomosc=$wiadomoscf;
  7. $temat=$tematf;
  8. $od=$odf;
  9. $nadawca=$nadawcaf; 
  10.  
  11.  mail( $odbiorca, $temat, $wiadomosc,
  12.  "From: $odrn"
  13.  ."Reply-to: $nadawca")
  14.  
  15. };
  16.  
  17. function wyswietlFormularz()
  18. {
  19.  ?>
  20. <form name="kontakt" method="post" action="form.php">
  21.  
  22. <label>Odbiorca
  23. <select name="odbiorca">
  24. <option>Wybierz odbiorce</option>
  25. <option value="webmaster@laholmsbk.se">Webmaster</option>
  26. <option value="info@laholmsbk.se">Info</option>
  27. <option value="piotr.czernicki@gmail.com">Prywatny</option>
  28. </select>
  29. </label>
  30.  
  31. <label>Imie i nazwisko
  32. <input type="text" name="imieNadawcy" />
  33. </label>
  34.  
  35. <label>Twoj adres email 
  36. <input type="text" name="nadawca" />
  37. </label>
  38.  
  39. <label>Temat
  40. <input type="text" name="temat" />
  41. </label>
  42.  
  43. <label>Wiadomosc
  44. <textarea name="wiadomosc" cols="10" rows="2"></textarea>
  45. </label>
  46.  
  47. <input type="submit" value="Wyslij"/>
  48. </form>
  49.  
  50. <?php
  51.  
  52.  };
  53.  
  54. if()
  55. ?>


1. Zastanawiam sie jaki zrobic warunek, widzialem przyklad z polem hidden, wartoscia i warunkiem NOT, ale jak pozniej bede chcial dodac wiecej funkcji niekoniecznie zawierajacych formularz sposob ten nie zadziala. Jak bede chcial zastosowac dodatkowa zmienna w funkcjach to musze ja jakos z nich wydostac na zewnatrz? Moze jest jakis inny sposob ktory bedzie odpowiedniejszy do sytuacji?
2. Przekazywanie zmiennej z funkcji, mniej wiecej wiem jak stosowac parametry ale zastanawialem sie czy nie bedzie latwiej zmodyfikowac formularz i skrypt do wysylania zeby korzystaly z tablicy, nie mam tylko pojecia jak to moze wygladac.

Pozdrawiam
Lombi
Jak napisal mi kiedyś NOSPOR:

POMYSLMY chcesz wyslac mail po nacisnieciu na wyslij wiec może tak:
  1. <?php
  2. If ($_POST["wyslij"])
  3. {
  4. skrypt.php
  5. }
  6. else
  7. {
  8. formularz
  9. }
  10. ?>


  1. <input name="wyslij" type="submit" value="Wyslij"/>
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.