Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Formularz kontaktowy
Forum PHP.pl > Forum > Przedszkole
rossco
Mam taki formularz:

  1. <form method="post" action="wyslij.php" name="kontakt">
  2. <div><li><label for="nick">Imię: </label><ul><input type="text" class="text" id="nick" name="nick" ></div>
  3. <div><li><label for="temat">Temat: </label><ul><input type="text" name="temat" class="text" id="temat" ></div>
  4. <div><li><label for="mail">Twój adres e-mail: </label><ul><input type="text" name="mail" class="text" id="mail" ></div>
  5. <div><li><label for="tresc">Treść: </label><ul><textarea name="tresc" id="tresc" rows="5" cols="50" ></textarea></div>
  6. <div><ul><input type="submit" value="Wyślij" /></div>
  7. </form>


  1. <?php
  2. if (!nick || !mail || !temat || !tresc)
  3. {    
  4. echo "Nie uzupełniłeś wszystkich rubryk.";
  5. exit;  
  6. }
  7.  
  8. $wiadomosc =
  9. "Imie: ".$_POST['nick']."
  10.  
  11. e- mail: ".$_POST['mail']."
  12.  
  13. Tresc: ".$_POST['tresc']."  ";
  14.  
  15. $tematyka = "Nazwa twojej strony - ".$temat;
  16.  
  17.  
  18. mail ("kontakt@adres.pl", $tematyka, $wiadomosc );
  19. echo "Dziekujemy za wysłanie do nas wiadomości,";
  20. echo "<ul>o treści: <ul />";
  21. echo "Twoje imię: <strong>".$nick."</strong><ul />";
  22. echo "Temat: <strong>".$temat."</strong><ul />";
  23. echo "Twój adres e-mail: <strong>".$mail."</strong><ul />";
  24. echo "Treść: <strong>".$tresc."</strong><ul />";
  25. ?>


Czy mozna zrobić ten formularz w jednym pliku? i jak to zrobić:))
nithajasz
Po prostu napisz to w jednym pliku i akcje formularza przekieruj właśnie do tego pliku.
Cezar708
1. można:


  1. <?php
  2. if(count($_POST)) {
  3.  // twój php
  4. }
  5. else {
  6. ?>
  7. <!-- twój HTML -->
  8. <?php
  9. }


2. drugie pytanie: po co? rodzielenie tego przyniesie więcej zysków.

Pozddrawiam
Cezar708
rossco
Cytat
Po prostu napisz to w jednym pliku i akcje formularza przekieruj właśnie do tego pliku.


ale jak to zrobic? jestem kompletnie zielona w php:)
zaaap
Cytat(rossco @ 5.12.2008, 16:05:32 ) *
ale jak to zrobic? jestem kompletnie zielona w php:)


Kod
<form method="post" action="wyslij.php" name="kontakt">

w action ustawiasz adres strony, z której to wywolujesz, zeby odwolywalo sie do siebie
q3d
Jako wartość argumentu action, znacznika form, wpisz nazwę tego samego pliku w którym masz formularz z ewentualną ścieżka dostępu do tego pliku. Zawartość z kodem php przenieść do pliku z formularzem i umieść nad formularzem. Nie zapomnij o

  1. <?php
  2. if(count($_POST)) {
  3. // twój php
  4. }
  5. else {
  6. ?>
  7. <!-- twój HTML -->
  8. <?php
  9. }


jak napisał powyżej @Cezar708.
rossco
  1. <?php if(count($_POST)) {
  2. <?php
  3. if (!nick || !mail || !temat || !tresc)
  4. {
  5. echo "Nie uzupełniłeś wszystkich rubryk.";
  6. exit;
  7. }
  8.  
  9. $wiadomosc =
  10. "Imie: ".$_POST['nick']."
  11. e- mail: ".$_POST['mail']."
  12. Tresc: ".$_POST['tresc']." ";
  13.  
  14. $tematyka = "Nazwa twojej strony - ".$temat;
  15.  
  16.  
  17. mail ("kontakt@adres.pl", $tematyka, $wiadomosc );
  18. echo "Dziekujemy za wysłanie do nas wiadomości,";
  19. echo "<ul>o treści: <ul />";
  20. echo "Twoje imię: <strong>".$nick."</strong><ul />";
  21. echo "Temat: <strong>".$temat."</strong><ul />";
  22. echo "Twój adres e-mail: <strong>".$mail."</strong><ul />";
  23. echo "Treść: <strong>".$tresc."</strong><ul />";
  24. ?>
  25. }
  26. else {
  27. ?>
  28. <form method="$_POST" name="kontakt">
  29. <div><li><label for="nick">Imię: </label><ul><input type="text" class="text" id="nick" name="nick" ></div>
  30. <div><li><label for="temat">Temat: </label><ul><input type="text" name="temat" class="text" id="temat" ></div>
  31. <div><li><label for="mail">Twój adres e-mail: </label><ul><input type="text" name="mail" class="text" id="mail" ></div>
  32. <div><li><label for="tresc">Treść: </label><ul><textarea name="tresc" id="tresc" rows="5" cols="50" ></textarea></div>
  33. <div><ul><input type="submit" value="Wyślij" /></div>
  34. </form>
  35. <?php }


zrobilam w ten sposob ale jest chyba zle
q3d
  1. <?php  if(count($_POST)) {
  2. <?php
  3. // ....
  4. ?>


wywal to drugie <?php.

  1. <?php
  2. ?>
  3. }
  4. else {
  5. ?>


wywal pierwsze ?>

  1. </form>
  2. <?php }
  3. ?>


wywal <?php

Nie daje gwarancji czy będzie dobrze, bo mam wrażenie, że mało czasu poświęcasz na SAMODZIELNE znalezienie rozwiązania, a przypadkowe rozwiązania w programowaniu należą do rzadkości.
rossco
poprawilem ale po kliknieciu wyslij przechoszi mi na strone
  1. http://adresstrony.pl/index.php?nick=&temat=&mail=&tresc=
q3d
W tym miejscu masz koejną bzdurkę:

  1. <form method="$_POST" name="kontakt">


Ponieważ jest to bzdurka zostaje wybrana domyślna metoda przesyłania skryptu: GET, co oznacz, że wartości z pól formularza przesłane sa do skryptu z argumentu action pod postacią adresu, w którym masz nazwę skryptu: index.php i listę zmiennych po '?' oraz ich wartość po '='. Zmienne są rozdzilone znakiem '&', a ich wartość w skrypcie dostępna jest w tablicy $_GET

Powinno być:

  1. <form action="NAZWA_SKRYPTU_KTORY_TO_OBRABIA.php" method="post">


Jeżeli nie masz włączonych zmennych globalnych to musisz się do nich w skrypcie odwoływać np. tak
  1. <?php
  2. $_POST['nick']
  3. ?>
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.