Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Problem z obsługą błędów
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam...
napisałem obsługę błędów dla formularza i mam 4 problemy:
1. jak zrobić aby jak spełni formularz wszystkie potrzebne rzeczy i żeby jak wyświetla "Zarejestrowano użytkownika" żeby formularza nie było widać niżej...
2. tam gdzie jest obsługa brak hasła i sprawdzanie czy są takie same hasła to bez względu czy są wpisane te hasła czy nie to wywala błędy ale mimo błędów wyświetla "Zarejestrowano użytkownika" i dodaje go bez hasła.... a jak mam pole login i nie wpisze loginu to mam błąd
3. jak zrobić aby przy wejściu do formularza wszystkich błędów nie wyświetlał...
4. Jak zrobić żeby sprawdzał czy już dany login jest w bazie...
a tutaj kod obsługi błędów formularza:
  1. <?php
  2. if (empty($_POST['userid']))
  3. {
  4. echo '- Wpisz Login<br/>';
  5. }
  6. if (empty($_POST['userpassword']))
  7. {
  8. echo '- Wpisz Hasło<br/>';
  9. }
  10. if (empty($_POST['userpassword1']))
  11. {
  12. echo '- Powtórz Hasło<br/>';
  13. }
  14. if ($_POST['userpassword'] != $_POST['userpassword'])
  15. {
  16. echo '- Wybrane i powtórzone hasła nie są identyczne<br/>';
  17. }
  18. if (strlen($_POST['userpassword']) <4)
  19. {
  20. echo '- Hasło jest zbyt krótkie<br/>';
  21. }
  22. if (empty($_POST['username']))
  23. {
  24. echo '- Wpisz Imię i Nazwisko<br/>';
  25. }
  26. if (empty($_POST['usergg']))
  27. {
  28. echo '- Wpisz Numer Gadu-Gadu<br/>';
  29. }
  30. if (empty($_POST['opis']))
  31. {
  32. echo '- Wpisz Opis<br/>';
  33. }
  34. if (empty($_POST['useradres']))
  35. {
  36. echo '- Wpisz Skąd jesteś<br/>';
  37. }
  38. if (empty($_POST['sex']))
  39. {
  40. echo '- Zaznacz Płeć<br/>';
  41. }
  42. else {
  43.  $opis = strip_tags($opis); 
  44. $connection = mysql_connect("localhost", "aikon_testowa", "xxxx");
  45. $db = mysql_select_db("aikon_testowa", $connection);
  46.  
  47. $dataur = $_POST['rok'].'-'.$_POST['miesiac'].'-'.$_POST['dzien'];
  48. $dat_r = date("d-m-Y");
  49. if($_POST[userid] && $_POST[username] && $_POST[usergg] && $_POST[opis]){
  50. $sql_add = "insert into dane(data, userid, userpassword, username, dataur, opis, usergg, useradres, sex) values('$dat_r', '$userid', '$userpassword', '$username', '$dataur', '$opis', '$usergg', '$useradres', '$sex')";
  51. $dodane = mysql_query($sql_add);
  52. }
  53. if($dodane) echo '<br/>Zarejestrowano nowego użytkownika<br/><br/>';
  54. echo '<a href="james.php">Powrót</a>';
  55. }
  56. ..................... // formularz rejestracyjny jest dalej
  57. ?>
ShadowD
Ad 1
  1. <?php
  2. if(!$dodane) 
  3. {
  4. //formularz
  5. }
  6. ?>


Ad 2
Nie zbyt rozumiem pytanie, a z tego co widze to działa wszystko ok. (Ad 2)

Ad 3
  1. <?php
  2. if(isset($_POST['userid']))
  3. {
  4. //sprawdzanie błędów
  5. }
  6. ?>


Ad 4
  1. <?php
  2. $zapytanie='SELECT id FROM rejestracja WHERE nick=\"'.$_POST[rejestracjanick].'\"';
  3. $result=mysql_query($zapytanie);
  4. $row=mysql_fetch_array($result);
  5.  
  6. if($row!==false) //Tu błąd
  7. ?>


A ogólnie bym to trochę zmienił i napisał tak, np:
  1. <?php
  2. if(isset($co&#347;))
  3. {
  4.  
  5. if($cos!==$cos) $blad='Opis błędu';
  6. if($cos2!==$cos2) $blad.='Opis błędu2';
  7. if($cos3!==$cos3) $blad.='Opis błędu3';
  8.  
  9. if(isset($blad))
  10. {
  11. echo $blad;
  12. include('formularz.php');
  13. }
  14. else
  15. {
  16. //rejestracja - wszystko ok
  17. }
  18. }
  19. include('formularz.php');
  20.  
  21. ?>
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.