Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Notice poza formularzem
Forum PHP.pl > Forum > Przedszkole
viamarimar
Witam, dokładnie chodzi o fragmet i dalej:

  1. $ile_bledow=count($bledy);
  2. if( $ile_bledow>0)


problem w tym, że wyświetla się błąd:

  1. Notice: Undefined variable: bledy in ... on line 78
  2. Call Stack
  3. # Time Memory Function Location
  4. 1 0.0029 355344 {main}( ) ..\rejestracja.php:0
  5. Konto zostało utworzone!


tak wiem, notice to nie blad i mozna wylaczyc go raportowaniem ale nie chce tego w ten sposob, czytalem w internecie ze da sie tego pozbyc za pomoca isset lub empty tylko probuje i jakos mi to nie idzie bo z jednego komunikatu roba sie np 2..
umiem sprawdzic zmienna z formularza,ale tak jak tu tworze poza formularzem w tym przypadku nawet cos tablicowego to jak to teraz sprawdzic
nie moge objac calego kodu ponizej w ifa bo nie przejdzie w sensie
if(isset($bledy) ){
...
}
Prosze od PODPOWIEDZ jak sobie z tym poradzic, dzieki.



  1. <style>
  2. body {
  3. font-size:15px;
  4. font-family:Verdana;
  5. line-height:1.8;
  6. word-spacing:3px;
  7. }
  8. </style>
  9. <?php
  10.  
  11. $formularz = "<form method='POST' action='rejestracja.php'>
  12. <b>Login:</b> <input type='text' name='login'><br>
  13. <b>Hasło:</b> <input type='password' name='haslo'><br>
  14. <b>Powtórz hasło:</b> <input type='password' name='haslo2'><br>
  15. <b>Email:</b> <input type='text' name='mail'><br>
  16. <b>Imie:</b> <input type='text' name='imie'><br>
  17. <b>Nazwisko:</b> <input type='text' name='nazwisko'><br>
  18. <input type='submit' value='Zarejestruj' name='submit'>
  19. </form> ";
  20.  
  21.  
  22. ?>
  23.  
  24. <?php
  25. include("config.php");
  26.  
  27. function filtruj($zmienna)
  28. {
  29. $zmienna = stripslashes($zmienna); // usuwamy slashe
  30.  
  31. // usuwamy spacje, tagi html oraz niebezpieczne znaki
  32. }
  33.  
  34. if (isset($_POST['submit']))
  35. {
  36. $login = filtruj($_POST['login']);
  37. $haslo = filtruj($_POST['haslo']);
  38. $haslo2 = filtruj($_POST['haslo2']);
  39. $mail = filtruj($_POST['mail']);
  40. $imie = filtruj($_POST['mail']);
  41. $nazwisko = filtruj($_POST['mail']);
  42. $ip = filtruj($_SERVER['REMOTE_ADDR']);
  43.  
  44.  
  45.  
  46. //sprawdzamy poprawnosc loginu
  47. if(strlen($_POST['login'])>20){ $bledy[]="Login nie może być dłuższy niż 20 znaków"; }
  48. if(strlen($_POST['login'])<3){ $bledy[]="Login nie może być krótszy niż 3 znaki."; }
  49. $zap1=mysql_query("SELECT login FROM users WHERE login='".$_POST['login']."' LIMIT 1;");
  50. if(mysql_num_rows($zap1)>0) { $bledy[]="Taki login już istnieje w naszej bazie danych."; }
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. $ile_bledow=count($bledy);
  60. if($ile_bledow>0)
  61. {
  62. //sa bledy
  63. print "<span style='color: #FF0000; font-weight: bold;'>Podczas próby rejestracji wystąpiły następujące błędy:<br /></span>";
  64. for($i=1; $i<=$ile_bledow; $i++)
  65. {
  66. print "<span style='color: #FF0000;'> - ".$bledy[$i-1]."<br /></span>";
  67. }
  68.  
  69. print $formularz;
  70. }
  71. else
  72. {
  73. //rejestrujemy uzytkownika
  74.  
  75. $zapytanie="INSERT INTO `users` ( `id` , `login` , `haslo` , `email` , `imie` , `nazwisko`)
  76. VALUES ( '', '".$_POST['login']."', '".$_POST['haslo']."', '".$_POST['mail']."', '".$_POST['imie']."', '".$_POST['nazwisko']."')";
  77. mysql_query($zapytanie) or die("Wystąpił błąd" );
  78.  
  79.  
  80. echo "Konto zostało utworzone!";
  81. }
  82.  
  83.  
  84.  
  85. }
  86.  
  87. else
  88. {
  89. echo $formularz;
  90. }
  91. ?>
  92.  
  93. <?php mysql_close(); ?>
nospor
Przeciez wyraźnie napisal, że zmienna $bledy nie istnieje... To ją zdefiniuj na samym poczatku skryptu
$bledy = array();
i po problemie.
Boshi
Po co ci ten kod skoro z niego nie korzystasz?

  1. $login = filtruj($_POST['login']);
  2. $haslo = filtruj($_POST['haslo']);
  3. $haslo2 = filtruj($_POST['haslo2']);
  4. $mail = filtruj($_POST['mail']);
  5. $imie = filtruj($_POST['mail']);
  6. $nazwisko = filtruj($_POST['mail']);
  7. $ip = filtruj($_SERVER['REMOTE_ADDR']);
Pyton_000
lub
if(!empty($bledy))
viamarimar
No dobra uzylem np
  1. if(!empty($bledy))


i teraz jest notice co do
  1. Notice: Undefined variable: ile_bledow in ...\rejestracja.php on line 82


ale juz nie przechodzi?
  1. if(!empty($ile_bledow))


a jesli chodzi o definicje zmiennych typu
  1. $bledy = array();

to jak zdefiniowac ilosc bledow? tak zeby funkcjonowalo?
  1. $ile_bledow;
  2. $ile_bledow="";
kreatiff
$ile_bledow = 0.

dodane:
albo jeszcze inaczej
  1. if ( ! empty($bledy) ) $ile_bledow = count($bledy);
, bo gdy błędów nie ma wcale, $ilosc_bledow jest nam zbędna.
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.