• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd po powtórnym naciśnięciu <input type="submit">?

VPS Starter Arubacloud
0 głosów
132 wizyt
pytanie zadane 8 lipca 2018 w PHP przez kubusop Początkujący (420 p.)

Gdy nie wstawię nic w pole ,,Ile pączków" lub w pole ,,Ile grzebieni" i kliknę na input ,,Wyślij zamówienie"  wyskakuje komunikat ,,Warning: A non-numeric value encountered in ... ". Pojawią się on także gdy po wprowadzeniu wartości klikam powtórnie ww. przycisk. Moje pytania to: Dlaczego tak się dzieje? I jak temu zaradzić?

 

<?php

	error_reporting(E_ALL ^ E_NOTICE);
	
	$paczki=$_POST['paczki'];
	$grzebienie=$_POST['grzebienie'];
	$suma = 0.99*$paczki+1.29*$grzebienie;	


	
echo<<<END
												<table border="1" cellpadding="10" cellspacing="0">
												<tr>
												<td>Pączek(0.99PLN/szt)</td><td>$paczki</td>
												</tr>
												
												<tr>
												<td>Grzebień (1.29PLN/szt)</td><td>$grzebienie</td>
												</tr>
												
												<tr>
												<td>SUMA</td><td>$suma PLN</td>
												</tr>
											
												</table>
END



?>

 

1 odpowiedź

+1 głos
odpowiedź 8 lipca 2018 przez Mariusz08 Maniak (62,280 p.)
Błąd powstaje dlatego, że skrypt próbuje operować na zmiennych, które są puste (z formularza nie przyszło nic). Jak temu zaradzić? Po prostu sprawdzać czy dana zmienna istnieje. Poczytaj o isset()

http://php.net/manual/pl/function.isset.php
1
komentarz 8 lipca 2018 przez Tomek Sochacki Ekspert (227,490 p.)
Plus do tego warto pomyśleć o walidacji client-side aby w porę poinformować usera o błędach w formularzu i nie angażować niepotrzebnie serwera.
komentarz 8 lipca 2018 przez kubusop Początkujący (420 p.)
Ok dzięki
komentarz 10 lipca 2018 przez kubusop Początkujący (420 p.)

@Mariusz08, A więc zrobiłem ,,ifa" z isset na razie tylko próbnie dla jednej zmiennej, ale kiedy zrobię ,,else" to wyskakuje mi taki błąd Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\xampp\htdocs\ .... on line 96. 

if(isset($_POST['[paczki']))
	{		
echo<<<END
												<table border="1" cellpadding="10" cellspacing="0">
												<tr>
												<td>Pączek(0.99PLN/szt)</td><td>$paczki</td>
												</tr>
												
												<tr>
												<td>Grzebień (1.29PLN/szt)</td><td>$grzebienie</td>
												</tr>
												
												<tr>
												<td>SUMA</td><td>$suma PLN</td>
												</tr>
											
												</table>
END
	}
	else{
		echo "Podaj liczbę pączków!";
		$paczki=1;
		$grzebienie=1;
	}

 

Podobne pytania

0 głosów
3 odpowiedzi 196 wizyt
0 głosów
1 odpowiedź 730 wizyt
0 głosów
3 odpowiedzi 1,510 wizyt

92,973 zapytań

141,938 odpowiedzi

321,180 komentarzy

62,301 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...