Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Błąd przy definiowaniu zmiennej
folt3k
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 18.02.2014

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


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.

Ten post edytował folt3k 24.02.2014, 16:40:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
nospor
post
Post #2





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




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()


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
nospor
post
Post #3





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




Bo zanim wyslesz forma, to w GET nic nie ma..... w GET pojawi sie po wyslaniu forma.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
folt3k
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 18.02.2014

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


  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?


Ten post edytował folt3k 24.02.2014, 18:26:49
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  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. }
Go to the top of the page
+Quote Post
folt3k
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 18.02.2014

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


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ł?
Go to the top of the page
+Quote Post
com
post
Post #7





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:07