Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz..., sprawdzenie, czy rządane pola są wypełnione
k0b3
post
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


Witam!

Jestem nowy na forum i dopiero zaczynam uczyć sie php...

Robie stronkę i mam problem z formularzem. Czytałem dużo postów na ten temat, były zbliżone odpowiedzi, ale skrypty caly czas nie działały, albo ja je zle zamieszczałem w kodzie.

Stworzyłem dwa pliczki

form.php
  1. <form action="post.php" method="post">
  2.  
  3.  
  4. <table border="0" cellpadding="3" cellspacing="1" width="700">
  5. <tr>
  6. <th colspan="2">Formularz ustanowienia meczu </th>
  7. </tr>
  8. <tr>
  9. <td height="22" colspan="2" class="nav2" align="center"><i> Chcesz zagrac z nami spara? Napisz do nas!</i></td>
  10. </tr>
  11.  
  12. <tr>
  13. <td class="row1" width="23%"><span class="explaintitle">Nazwa Klanu: </span>*</td>
  14. <td class="row2" width="77%">
  15. <input type="text" class="post" style="width:530px" name="clanname" size="50" maxlength="50" /></td>
  16. </tr>
  17.  
  18. <tr>
  19. <td height="32" class="row1"><span class="explaintitle">Ades e-mail:</span></td>
  20. <td class="row2"><input type="text" class="post" style="width:530px" name="email" size="25" maxlength="255" value="{EMAIL}" /></td>
  21. </tr>
  22. <tr>
  23. <td height="32" class="row1"><span class="explaintitle">Numer Gadu-Gadu: </span>*</td>
  24. <td class="row2"><input type="text" class="post" style="width:530px" name="gg" size="25" maxlength="255" /></td>
  25. </tr>
  26. <tr>
  27. <td height="32" class="row1"><span class="explaintitle">IP serwera</span></td>
  28. <td class="row2"><input type="text" class="post" style="width:530px" name="ip_serwera" size="25" maxlength="255" /></td>
  29. </tr>
  30. <tr>
  31. <td height="32" class="row1"><span class="explaintitle">Uwagi:</span></td>
  32. <td class="row2"><textarea name="uwagi" style="width: 530px" rows="5" cols="30" class="post"></textarea></td>
  33. </tr>
  34.  
  35. <tr>
  36. <td class="cat" colspan="2" align="center">
  37. <input type="submit" name="submit" value="Wyslij" class="mainoption" />
  38.  
  39. <input type="reset" value="Wyczysc" name="reset" class="button" />
  40. </td>
  41. </tr>
  42. </form>


oraz skrypt odpowiedzialny za wysłanie wiadomości

post.php
  1. <?php
  2. $clanname=$_POST["clanname"];
  3. $mail=$_POST["email"];
  4. $gg=$_POST["gg"];
  5. $ip_serwera=$_POST["ip_serwera"];
  6. $uwagi=$_POST["uwagi"];
  7. $tekst="<b>-=FORMULARZ USTANOWIENIA MECZU=-</b>
  8. <br /><br />
  9. <b>Nazwa Klanu:</b> <i>$clanname</i> 
  10. <br />
  11. <b>Adres e-mail:</b>  <i>$mail</i>
  12. <br />
  13. <b>Numer Gadu-Gadu:</b>  <i>$gg</i>
  14. <br />
  15. <b>IP Serwera:</b>  <i>$ip_serwera</i>
  16. <br />
  17. <b>Uwagi:</b>
  18. <br /><i>$uwagi</i>";
  19. $subject = "$clanname -> chce sie umowic na spara! :rn";
  20. $headers = "MIME-Version: 1.0rn".
  21.  "Content-type: text/html; charset=iso-8859-2rn".
  22.  "From: <".$from.">rn".
  23.  "Date: ".date("r")."rn";
  24. $result=mail("kobemat@o2.pl", $subject, $tekst, $headers);
  25. IF ($result) {
  26.  
  27. include "wyslano.html";
  28.  
  29. }
  30.  
  31. else {
  32.  
  33. include "error.html";
  34.  
  35. }
  36.  
  37.  
  38. ?>


Wszystko działa. Po wypełnieniu formularza dostaje maila na pocztę.. jest oK! (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Chciałbym by pola oznaczone * czyli clanname oraz email nie byly puste. Jak ktos ich nie wypełni pojawi sie strona z tym samym formularzem i a nad nią mala tabelka z informacja: Nie wypełniłeś wymaganych pol...


Z góry dzięki za pomoc...

Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dawhol
post
Post #2





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $data = date('Y-m-d H:i:s');
  4. $email = addslashes($_POST[email]);
  5. $nick = addslashes($_POST[nick]);
  6. $www = addslashes($_POST[www]);
  7. $wpis = addslashes($_POST[wpis]);
  8.  
  9. $sprawdz[1] = stristr($email, "@");
  10. $sprawdz[2] = stristr($email, ".");
  11.  
  12.  
  13.  
  14. if ($sprawdz[1] == FALSE || $sprawdz[2] == FALSE)
  15. {
  16.  $mail='';
  17. }
  18. else
  19.  $mail=$email; 
  20. //================================================================================
    ==========//
  21.  
  22. $zapytanie = "INSERT INTO cms_gbook (data, nick, email, www, wpis ,ip) VALUES ('$data', '$nick', '$mail', '$www', '$wpis', '$ip')";
  23.  
  24. //================================================================================
    ==========//
  25. if (empty($nick) OR empty($mail) OR empty($wpis)) 
  26. {
  27. echo ("Nie wypełniles poprawnie wszystkich pól");
  28. echo ('<form action="gbook_dodaj.php" method="post">');
  29. //================================================================================
    ==========//
  30. if (empty($nick)) 
  31. {
  32. echo ('Imie/Nick:<br />');
  33. echo ('<input type="text" size="20" name="nick" /><br />');
  34. } 
  35. else 
  36. echo ('Imie/Nick:<br /><input type="text" size="20" name="nick" value="'.$nick.'" /><br />');
  37. //================================================================================
    ==========//
  38. if (empty($mail))
  39. {
  40. echo ('Adres e-mail:<br />');
  41. echo ('<input type="text" size="20" name="email" /><br />');
  42. } 
  43. else 
  44. echo ('Adres e-mail:<br /><input type="text" size="20" name="email" value="'.$mail.'" /><br />');
  45. //================================================================================
    ==========//
  46. if (empty($wpis)) 
  47. {
  48. echo ('Twój wpis:<br /><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual"></textarea><br>');
  49. } 
  50. else 
  51. echo ('Twój wpis:<br /><textarea cols="40" rows="10" name="wpis" ENCTYPE="text/plain" wrap="virtual">'.$wpis.'</textarea><br />');
  52. echo ('<input type="submit" name="send" value="Wyslij" /><input type="reset" value="Wyczysc" /></form>');
  53.  
  54. } 
  55. else 
  56. //================================================================================
    ==========//
  57. if (mysql_query ($zapytanie)) 
  58. {
  59. echo ("Dane zostały dodane");
  60. } 
  61. else 
  62.  
  63. ?>


Wzrouj sie na tym to moj skrypcik do ksiegi gosci jest tam dokladnie to co chesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wglab sie i zobaczysz ze nie jest to trudne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Tak dla zrozumienia jeszcze wysjanie ten fragment:
  1. <?php
  2. $sprawdz[1] = stristr($email, "@");
  3. $sprawdz[2] = stristr($email, ".");
  4.  
  5.  
  6.  
  7. if ($sprawdz[1] == FALSE || $sprawdz[2] == FALSE)
  8. {
  9.  $mail='';
  10. }
  11. else
  12.  $mail=$email;
  13. ?>

Sprawdza czy wpisany adres e-mail ma poprawna forme tzn czy zawiera @ i . (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) banalne ale jako tako broni przed wpisaniem np. slowa BRAK (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 00:07