Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]formularz
szogo89
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
misiek172
post
Post #2





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


ojejq musi być zdefiniowane w forum, action i method i potem zbierasz zmienne $_POST i zapisujesz...


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
Cienki1980
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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


--------------------
404
Go to the top of the page
+Quote Post
szogo89
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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.


--------------------
404
Go to the top of the page
+Quote Post
misiek172
post
Post #6





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


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.


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #7





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
szogo89
post
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:26