Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]formularz
Forum PHP.pl > Forum > Przedszkole
szogo89
Witam !

Męczę się cały dzień z formularzem i nie potrafie go napisać w php. Chciał bym żeby wszystkie informacje zapisały się na serwerze.

Byłbym wdzięczny, gdyby ktoś dla mnie oprawił go w php smile.gif

link:
http://www.mmj.pl/~dzikteam/dzik/rekrutacja.php

a oto kod html:

  1. <tr>
  2. <td width="150px">
  3. Nickname:* </td>
  4. <td width="230px;"><input type="text" name="nick" style="width: 200px;" /></td>
  5. </tr>
  6. <tr>
  7. <td>
  8. Klasa:* </td>
  9. <td>
  10. <input type="radio" name="klasa" value="light">light<BR>
  11. <input type="radio" name="klasa" value="medium">medium<BR>
  12. <input type="radio" name="klasa" value="heavy">heavy<BR>
  13. <input type="radio" name="klasa" value="sniper">sniper<BR>
  14. <input type="radio" name="klasa" value="mg">mg<BR>
  15. <input type="radio" name="klasa" value="rocket">rocket<BR>
  16. </td>
  17. </tr>
  18. <tr>
  19. <td>
  20. e-mail:* </td>
  21. <td><input type="text" name="mail"></td>
  22. </tr>
  23. <tr>
  24. <td>
  25. gg:* </td>
  26. <td><input type="text" name="gg"></td>
  27. </tr>
  28. <tr>
  29. <td>
  30. skype: </td>
  31. <td><input type="text" name="skype"></td>
  32. </tr>
  33. <tr>
  34. <td>
  35. steam login:* </td>
  36. <td><input type="text" name="login"></td>
  37. </tr>
  38. <td>
  39. STEAM ID: </td>
  40. <td><input type="text" name="SteamID"></td>
  41. </tr>
  42. <tr>
  43. <td>
  44. O sobie:* </td>
  45. <td><textarea name="opis" style="width: 200px; height: 100px;">Napisz tu dlaczego powinniśmy cię przyjąć
  46. </tr>
  47. <tr><td>
  48. dodaj zdjęcie 120x100 px:
  49. </td>
  50. <td>
  51. <INPUT TYPE="file" NAME="zdjecie">
  52. </td>
  53. </tr>
  54. <tr>
  55. <td>Pola ozaczone gwiazdką (*) są wymagane</td>
  56. <td>
  57. <input type="submit" value="wyślij">
  58. <input type="reset" value="reset"> </td>
  59. </tr>
  60. </form>


z góry dziękuję wszystkim za pomoc exclamation.gif
misiek172
ojejq musi być zdefiniowane w forum, action i method i potem zbierasz zmienne $_POST i zapisujesz...
Cienki1980
Gotowca raczej nikt Ci nie da ( chociaż zawsze znajdzie się jakiś nadgorliwiec smile.gif ) ale pomóc pomożemy.

Musisz zapisać formularz w pliku php w takiej postaci:
  1. <?php
  2. echo "<form action="plik.php" method="post">";
  3. echo "<input type="text" name="imie">";
  4. echo "<input type="submit" value="zapisz">";
  5. echo "</form>";
  6. ?>

To jest tylko przykład

Taki formularz po zatwierdzeniu prześle do pliku plik.php dane z formularza gotowe do odczytania z tablicy $_POST ( czyli $_POST['imie'] będzie miała wartość wpisaną do formularza )

W pliku plik.php możesz zrobić z tymi danymi co chcesz ... zapisać do pliku, do bazy danych albo po prostu wyświetlić.

Żeby jeszcze ułatwić całą sprawę i nie pisać echo i szukając gdzie musisz wstawić " lub\" możesz zastosować taką składnie : link do manuala
szogo89
zgodnie z twoimi wskazówkami zrobiłem tak:

  1. <?php
  2.  
  3. $formularz = <<<ID1
  4. <br><form action="rekrutacja.php" method="post">
  5. <table>
  6. <tr>
  7. <td width="150px">
  8. Nickname:* </td>
  9. <td width="230px;"><input type="text" name="nickname" style="width: 200px;" /></td>
  10. </tr>
  11. <tr>
  12. <td>
  13. Klasa:* </td>
  14. <td>
  15. <input type="radio" name="klasa" value="light">light<BR>
  16. <input type="radio" name="klasa" value="medium">medium<BR>
  17. <input type="radio" name="klasa" value="heavy">heavy<BR>
  18. <input type="radio" name="klasa" value="sniper">sniper<BR>
  19. <input type="radio" name="klasa" value="mg">mg<BR>
  20. <input type="radio" name="klasa" value="rocket">rocket<BR>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td>
  25. e-mail:* </td>
  26. <td><input type="text" name="mail"></td>
  27. </tr>
  28. <tr>
  29. <td>
  30. gg:* </td>
  31. <td><input type="text" name="gg"></td>
  32. </tr>
  33. <tr>
  34. <td>
  35. skype: </td>
  36. <td><input type="text" name="skype"></td>
  37. </tr>
  38. <tr>
  39. <td>
  40. steam login:* </td>
  41. <td><input type="text" name="steamlogin"></td>
  42. </tr>
  43. <td>
  44. STEAM ID: </td>
  45. <td><input type="text" name="steamid"></td>
  46. </tr>
  47. <tr>
  48. <td>
  49. O sobie:* </td>
  50. <td><textarea name="osobie" style="width: 200px; height: 100px;">Napisz tu dlaczego powinni&para;my cię przyj&plusmn;ć
  51. </textarea></td>
  52. </tr>
  53. <tr>
  54. <td>Pola ozaczone gwiazdk&plusmn; (*) s&plusmn; wymagane</td>
  55. <td>
  56. <input type="submit" value="wy&para;lij">
  57. <input type="reset" value="reset"> </td>
  58. </tr>
  59. </table>
  60. </form>
  61. ID1;
  62.  
  63.  
  64.  
  65. $nickname = trim($_POST['nickname']);
  66. $klasa = trim($_POST['klasa']);
  67. $mail = trim($_POST['mail']);
  68. $gg = trim($_POST['gg']);
  69. $skype = trim($_POST['skype']);
  70. $steamlogin = trim($_POST['steamlogin']);
  71. $steamid = trim($_POST['steamid']);
  72. $osobie = trim($_POST['osobie']);
  73.  
  74. if(empty($nickname) and empty($klasa) and empty($mail) and empty($gg) and empty($skype) and empty($steamlogin) and empty($steamid) and empty($osobie)) {
  75.  
  76. echo $formularz;
  77. }
  78. else {
  79.  $dane = " | nickname:".$nickname." | klasa:".$klasa." | mail:".$mail." | gg:".$gg." | skype:".$skype." | steamlogin".$steamlogin." | steamid".$steamid." | osobie".$osobie."n";
  80.  $file = "rekrutacja.txt";
  81.  $fp = fopen($file, "a");
  82.  flock($fp, 2);
  83.  fwrite($fp, $dane);
  84.  flock($fp, 3);
  85.  fclose($fp);
  86.  
  87.  echo '<p>Dziękujemy za wypełnienie ankiety rekrutacji!</p>';
  88. }
  89.  
  90. ?>


ale chciałbym zablokować wysyłanie gdy pola z gwiazdką nie są wypełnione prawidłowo np. żeby w adresie e-mail nie pojawił się login lub żeby nie był on pusty.

Wiem że trzeba wykorzystać funkcję if ale nie wiem jak sad.gif pomorzesz ?
Cienki1980
No takiej osobie to sama przyjemność pomagać. biggrin.gif

Warunki możesz zrobić na dwa sposoby :
1. Sprawdzając każdą wartość pola z gwiazdką czyli:
  1. <?php
  2. $zapisz=1;
  3. if($nickname=='')
  4. {
  5.  echo "nie wpisałeś nick'a";
  6.  $zapisz=0;
  7. }
  8. ?>

Robisz tak dla każdej zmiennej przychodzącej z formularza Potem sprawdzasz czy $zapisz==1. Jeżeli tak to zapisujesz do pliku dane.

2. Sprawdzasz wszystkie pola z gwiazdką w jednym if'ie
  1. <?php
  2. if($nickname!='' && $klasa!='' ) // itd itd
  3. {
  4.  //zapisujesz do pliku
  5. }
  6. else
  7. {
  8.  // nie zapisujesz
  9. }
  10. ?>


PS. Mam nadzieje że się nie pomyliłem ... jeżeli tak to pomysł powinien być jasny.
misiek172
takie sprawdzenie lepiej zrobić w JavaScript, wtedy będzie mógł zweryfikować dane jeszcze przed wysłaniem, więc nie bedziesz musiał odświeżać strony.
JaRoPHP
Cytat(misiek172 @ 21.03.2007, 11:54:12 ) *
takie sprawdzenie lepiej zrobić w JavaScript, wtedy będzie mógł zweryfikować dane jeszcze przed wysłaniem, więc nie bedziesz musiał odświeżać strony.
Na opewno?
W PHP i tak należy dokonać sprawdzenia, natomiast JavaScript można dodać, zwiększając funkcjonalność strony.
szogo89
Zrobiłem tak jak poradziłeś !

Efekt można sprawdzić tutaj: http://www.mmj.pl/rekrutacja.php

Cienki1980 dzięki za pomoc wszystko działa bez zarzutów 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.