Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Niezdefiniowane indeksy w formularzu
mlodygda
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 22.08.2012

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


Witam, to mój pierwszy post na forum. Po zapoznaniu się z FAQ i przeszukaniu tematów stwierdziłem, że zadam pytanie bo nigdzie takiego nie znalazłem. Chodzi mianowicie o lepki formularz na stronie. Kod php wygląda następująco:

  1. if (isset($_POST['wyslij'])) {
  2. $problem=FALSE;
  3.  
  4. if (empty($_POST['uzytkownik'])){
  5. $problem=TRUE;
  6. print '<p>Wpisz nazwe uzytkownika</p>';
  7. }
  8.  
  9. if (empty($_POST['imie'])){
  10. $problem=TRUE;
  11. print '<p>Wpisz swoje imie.</p>';
  12. }
  13.  
  14. if (empty($_POST['email'])){
  15. $problem=TRUE;
  16. print '<p>Wpisz swojego emaila!</p>';
  17. }
  18.  
  19. if (empty($_POST['haslo1'])){
  20. $problem=TRUE;
  21. print '<p>Proszę podać hasło!</p>';
  22. }
  23.  
  24. if ($_POST['haslo1']!=$_POST['haslo2']){
  25. $problem=TRUE;
  26. print '<p>Twoje hasła się nie zgadzają.</p>';
  27. }
  28.  
  29. if (!$problem){
  30.  
  31. print '<p>zarejestrowales sie!</p>';
  32. } else {
  33. print 'Sprobuj jeszcze raz!';
  34. }
  35. }


Przy tym wyrzuca mi taki błąd:

  1. Notice: Undefined index: uzytkownik in C:\xampp\htdocs\mojestrony\strona2\rejestracja.php on line 56
  2.  
  3. Notice: Undefined index: imie in C:\xampp\htdocs\mojestrony\strona2\rejestracja.php on line 57
  4.  
  5. Notice: Undefined index: email in C:\xampp\htdocs\mojestrony\strona2\rejestracja.php on line 58


Pytanie jest raczej natury czysto upiększającej, bo poradziłem sobie z tym problemem na dwa sposoby, jednak nie wiem do końca jakie niosą ze sobą skutki. Pytanie do was który lepszy. A więc:

1. Zadeklarować zmienne na początku kodu jako puste miejsca
Problem: jeśli będzie dużo zmiennych to dużo..syzyfowej pracy.

2. error_reporting (E_ALL & ~E_NOTICE);
Problem: nie wiem co moge przegapić, jeśli nie będzie pokazywało błędów typu NOTICE.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Kod co tu pokazałeś nie odpowiada za te błędy.

Zanim dobierzesz się do indeksu tablicy, najpierw należy sprawdzić, czy ten indeks istnieje. Do tego używa się isset() lub !empty()

Cytat
2. error_reporting (E_ALL & ~E_NOTICE);
Problem: nie wiem co moge przegapić, jeśli nie będzie pokazywało błędów typu NOTICE.
Najgorsze co możesz zrobić. Tu wyjaśniam dlaczego:
http://nospor.pl/notice-wyswietlac-czy-nie.html
Go to the top of the page
+Quote Post
mlodygda
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 22.08.2012

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


Cytat(nospor @ 22.08.2012, 12:30:35 ) *
Kod co tu pokazałeś nie odpowiada za te błędy.


aj, faktycznie. błedy wywala przy formularzu html.

Cytat(nospor @ 22.08.2012, 12:30:35 ) *
Zanim dobierzesz się do indeksu tablicy, najpierw należy sprawdzić, czy ten indeks istnieje. Do tego używa się isset() lub !empty()


rozumiem ze tu indeksami tablicy są moje zmienne (uzytkownik, imie i mail) ?

Cytat(nospor @ 22.08.2012, 12:30:35 ) *
Najgorsze co możesz zrobić. Tu wyjaśniam dlaczego:
http://nospor.pl/notice-wyswietlac-czy-nie.html


Dzięki. Czyli deklaracja ich na poczatku jako pustych miejsc jest...poprawnym rozwiązaniem?
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: 4.10.2025 - 22:38