Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyslanie formularza
trucksweb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


Ostatnio mam problem z banalnymi problemami (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
mam formularz w ktorym jest kilka pol input. Dane przed wyslaniem sa zapamietywane, np. gdyby wprowadzone dane byly bledne zostaja przywrocone bez wpisywania od poczatku.
Wszyskto dziala, tylko jak zrobic aby gdy wszystko jest OK i formularz zostanie juz wyslany a dane zapisane do bazy powrocic do pustego formularza ? Czy trzeba tworzyc kolejny przypadek do funkcji if ?

moj przypadek:
  1. //sprawdzenie czy formularz zostal wyslany
  2. if (isset($_POST['submitted'])) {
  3.  
  4.  $errors = array(); //tablica bledow
  5.  
  6.  //sprawdzenie nazwy
  7.  if (empty($_POST['user_name'])) {
  8.  $errors[] = '<script type="text/javascript" language="Javascript"> alert ("Musisz podać imie !")</script>';
  9.  } else {
  10.  $un = trim($_POST['user_name']); 
  11. }
  12.  
  13.  //sprawdzenie email'a
  14.  if (empty($_POST['user_email'])) {
  15.  $errors[] = '<script type="text/javascript" language="Javascript"> alert ("Podaj swój adres e-mail !")</script>';
  16.  } elseif ($ue = (!eregi ('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+.[a-z]{2,4}$', stripslashes(trim($_POST['user_email']))))) {
  17.  $errors[] = '<script type="text/javascript" language="Javascript"> alert ("Podaj prawidlowy adres e-mail !")</script>';
  18.  } else {
  19. $ue = trim($_POST['user_email']);
  20. }
  21.  
  22. //
  23. if ($un && $ue) { //wszystko ok
  24. $query = "SELECT user_id FROM news_users WHERE user_email='$ue'";
  25. $result = mysql_query ($query) or trigger_error("blad");
  26.  if (mysql_num_rows($result) == 0) {//jest wolny
  27. $query = "INSERT INTO news_users (user_id, user_name, user_email, date)".
  28.  " VALUES ('user_id', '$un', '$ue', NOW() )";
  29. $result = mysql_query ($query);
  30. if ($result) {
  31. echo '<script type="text/javascript" language="Javascript"> alert ("Dziękujemy za dokonanie wpisu do biuletynu. Informacja o rejestracji został
    a wysłana na Twój e-mail.")</script>';
  32.  
  33. mysql_close();}  
  34. }//zamkniecie wolnego
  35. else { echo'<script type="text/javascript" language="Javascript"> alert ("Podany e-mail widnieje już w naszej bazie.")</script>'; }
  36.  
  37. } //zamkniecie wszystko ok
  38. else {
  39. foreach ($errors as $msg) { //wyswietlenie bledow
  40. echo "$msg";
  41. }
  42.  
  43. }
  44. //  
  45. }
  46. ?>
  47. <form action="newsletter.php" method="post">
  48. <table width="300" border="1">
  49. <tr><td>Imię:</td><td><input type="text" name="user_name" size="15" maxlength="15" value="<?php if (isset($_POST['user_name'])) echo $_POST['user_name']; ?>" /></td></tr>
  50. <tr><td>e-mail:</td><td><input type="text" name="user_email" size="20" maxlength="40" value="<?php if (isset($_POST['user_email'])) echo $_POST['user_email']; ?>" /><p></td></tr>
  51. <tr><td colspan="2" align="right"><input type="submit" value="Zapisz" />
  52. <input type="hidden" name="submitted" value="TRUE" /></td></tr>
  53. </table>
  54. </form>


I drugie pytanie przy okazji (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
czesto uzywam alertow javascript do wyswietlania bledow(nie mam miejsca na stronie, zeby publikowac bledy w postaci tekstu):
  1. <script type="text/javascript" language="Javascript"> alert ("Podany e-mail widnieje już w naszej bazie.")</script>


Jak zrobic nowa linie? np.
Cytat
Podany e-mail widnieje już w naszej bazie.
Wprowadz inny !
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trucksweb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


z tym znakiem nowej linii (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) jakos nie wpadlem

co do metody $_POST, fakt jak pisalem myslalem tylko nad informacja dla uzytkownika a nie na zabezpieczeniem przed hiakerem (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

dzieki za pomoc
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: 23.08.2025 - 12:56