Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd przy definiowaniu zmiennej
Forum PHP.pl > Forum > Przedszkole
folt3k
Witam,

Stworzyłem prosty skrypt i wszystko działa poprawnie ale pokazuje się błąd w miejscu definiowania zmiennej.

Nie wiem dlaczego tak jest, register_globals mam włączone.

  1. @$a = $_GET['a'];
  2. @$h = $_GET['h'];]


Jak widać , muszę umieszczać przed nim znak "@", dopiero wtedy błąd nie wyskakuje.
nospor
nie istnieje w $_GET to czegu szukasz, to logiczne ze pluje bledem..... stosowanie @ to bardzo brzydkie rozwiazanie.
Zanim cos bedziesz bral z tablicy to najpierw sprawdz czy tam jest przy pomocy isset()
nospor
Bo zanim wyslesz forma, to w GET nic nie ma..... w GET pojawi sie po wyslaniu forma.
folt3k
  1. <form action="" method="get">
  2. <input name="la" type="text" />
  3. <input name="lb" type="text" /><br /><br />
  4. <input name="dodawanie" type="radio" value="" />dodawanie
  5. <input name="odejmowanie" type="radio" value="" />odejmowanie
  6. <input name="mnozenie" type="radio" value="" />mnożenie
  7. <input name="dzielenie" type="radio" value="" />dzielenie
  8. <br /><br />
  9.  
  10.  
  11. <input name="submit" type="submit" value="Oblicz" />
  12.  
  13. </form><br />
  14.  
  15. <?php
  16.  
  17. @$la = $_GET['la'];
  18. @$lb = $_GET['lb'];
  19. @$dodawanie = $_GET['dodawanie'];
  20. @$odejmowanie = $_GET['odejmowanie'];
  21. @$mnozenie = $_GET['mnozenie'];
  22. @$dzielenie = $_GET['dzielenie'];
  23.  
  24. @$wynik_dod = $la + $lb;
  25. @$wynik_ode = $la - $lb;
  26. @$wynik_mno = $la * $lb;
  27. @$wynik_dzi = $la / $lb;
  28.  
  29. if (isset($_GET['la']) && ($_GET['lb'])) {
  30.  
  31. if ("dodawanie") {
  32. echo $wynik_dod;
  33. }
  34. else if ("odejmowanie") {
  35. echo $wynik_ode;
  36. }
  37. else if ("mnozenie") {
  38. echo $wynik_mno;
  39. }
  40. else if ("dzielenie") {
  41. echo $wynik_dzi;
  42. }
  43. } else {
  44. echo "Wprowadź liczbe do powyższych pól i kliknij \"Oblicz\"";
  45. }
  46.  
  47. ?>


Przepraszam, wrzuciłem zły kod wcześniej. Tak wygląda aktualny.

To co powinienem zrobić, aby nie pokazywało tych błędów?
Turson
  1. <input name="dodawanie" type="radio" value="" />dodawanie
  2. <input name="odejmowanie" type="radio" value="" />odejmowanie
  3. <input name="mnozenie" type="radio" value="" />mnożenie
  4. <input name="dzielenie" type="radio" value="" />dzielenie

wszędzie powinieneś mieć ten sam name, np "dzialanie", a w value w zależności od działania - "odejmowanie" lub "dodawanie" itd.

  1. if(isset($_GET['la']) && isset($_GET['lb']) && isset($_GET['dzialanie'])){
  2. if($_GET['dzialanie']==="dodawanie") echo $_GET['la']+$_GET['lb'];
  3. }
folt3k
Dziękuje, cały skrypt teraz faktycznie działa idealnie, ale został jeden, wydaję mi się, że niewielki problem.

Gdy wrzucam ten skrypt na serwer hostingowy to nie ma żadnych błędów odnośnie definiowania tych zmiennych.
Ale na lokalnym serwerze WAMP ten błąd wyskakuje przy każdym zdefiniowaniu zmiennej.

Wina leży w niepoprawnej konfiguracji WAMP-a, czy na lokalnym serwerze zawsze będzie ten błąd wywalał?
com
który błąd? tzn po tych zmianach masz dalej błąd czy jak? na serwerze jak włączysz raportowanie błędów to będziesz miał to samo wink.gif
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.