Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Skrypt na dodawanie liczb a błędy, których nie rozumien
aniadp
post 13.04.2015, 09:52:30
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.04.2015

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


Skrpt jest poniżej i działa. Nie wiem tylko dlaczego mam takie błędy:
Notice: Undefined index: l1 in C:\xampp\htdocs\form2.php on line 22
pierwsza liczba:

Notice: Undefined index: l2 in C:\xampp\htdocs\form2.php on line 23
druga liczba:

Notice: Undefined index: l1 in C:\xampp\htdocs\form2.php on line 27

Notice: Undefined index: l2 in C:\xampp\htdocs\form2.php on line 27
Wynik działania= 0



Proszę o wyjaśnienie.

<!DOCTYPE html>
<html>
<body>
<form method="post" action="form2.php">
<table>
<tr>
<td>Wpisz pierwszą liczbę </td>
<td><input type="number" name='l1' /></td>
</tr>
<tr>
<td>Wpisz drugą liczbę </td>
<td><input type="number" name="l2" /></td>
</tr>
<tr>
<td><input type="hidden" name="wylicz" value="tak" /></td>
<td><input type="submit" name="wyslij" /></td>
</tr>
</table>
</form>

  1. <?php
  2. echo 'pierwsza liczba: '.$_POST['l1']."<br />";
  3. echo 'druga liczba: '.$_POST['l2']."<br />";
  4.  
  5.  
  6.  
  7. $wy=$_POST['l1']+$_POST['l2'];
  8. echo "Wynik działania= ". $wy;
  9.  
  10.  
  11.  
  12.  
  13. ?>

</body>
</html>
Go to the top of the page
+Quote Post
nospor
post 13.04.2015, 09:54:27
Post #2





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




Komunikat bledu jest dosc wyraźny: odwolujesz sie do indeksow, ktore nie istnieją...
O to: $_POST['l1'] pojawia sie dopiero po wysłaniu forma. A ty sie dobierasz do tego przed wyslaniem forma stad bledy


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

"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
Turson
post 13.04.2015, 09:55:16
Post #3





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

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


Masz błędy (to raczej ostrzeżenia), bo kod się wykonuje jak wejdziesz tylko na stronę i nawet nie prześlesz jeszcze formularza. Zapoznaj się z isset
Go to the top of the page
+Quote Post
nospor
post 13.04.2015, 09:57:52
Post #4





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




Cytat
(to raczej ostrzeżenia)
Nie, nazywajmy rzeczy po imieniu. To są Błędy. Odwoływanie sie do czegoś czego nie ma, jest błędem.


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

"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
aniadp
post 13.04.2015, 10:23:21
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.04.2015

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


Dziękuję! Ostatecznie, wysyłam zawartość formularza to innego skyptu i tam dokonuję obliczeń i wyświetlenia wyniku.

Ten post edytował aniadp 13.04.2015, 12:43:16
Go to the top of the page
+Quote Post
Turson
post 13.04.2015, 10:29:18
Post #6





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

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


Cytat(nospor @ 13.04.2015, 10:57:52 ) *
Nie, nazywajmy rzeczy po imieniu. To są Błędy. Odwoływanie sie do czegoś czego nie ma, jest błędem.

I tak i nie. Nie przerywa wykonywania dalszego kodu i tłumacząc komunikat nie ma słowa o stricte błędzie. Z drugiej strony dobre praktyki do czegoś zobowiązują, żeby pisać dobry kod, a PHP po prostu sporo wybacza.

Ten post edytował Turson 13.04.2015, 10:32:13
Go to the top of the page
+Quote Post
nospor
post 13.04.2015, 10:34:00
Post #7





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




To, ze nie przerywa wykonywania kodu, nie znaczy ze nie dana rzecz nie jest błędem. Idąc Twoim tokiem rozumowania to tylko FATAL ERRORY są błędami...
W normalnym jezykach, jak sie dobierasz do czegos, czego nie ma, jest błędem. I to, że developerzy php takim rzeczom nadali najnizszy priorytet, i chcieli "sporo wybaczać" nadal nie zmenia sytuacji, że to jest błąd. Czasami mniejszy, czasami wiekszy, zależy od sytuacji.


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

"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
Turson
post 13.04.2015, 10:42:31
Post #8





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

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


Nie mówię, że tylko fatal errory są błędami, ale PHP nie traktuje błędów typu notice jako okropieństwo. Właśnie w tych normalnych językach takie coś jest niedopuszczalne. Więc mówię, że dla PHP to nic pozornie nieszkodliwego. Suma sumarum nie polecam tego ignorować w żadnej sytuacji.

Ten post edytował Turson 13.04.2015, 10:42:52
Go to the top of the page
+Quote Post
aniadp
post 13.04.2015, 12:43:28
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.04.2015

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


A jest inny sposób (niż wykorzystanie formularzy) na wprowadzenie liczb przez użytkownika i wykonanie na nich działań?
Go to the top of the page
+Quote Post
johny_s
post 13.04.2015, 12:46:01
Post #10





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


javascript i prompt
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 01:29