• 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">?

Object Storage Arubacloud
0 głosów
120 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,300 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,510 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 168 wizyt
0 głosów
1 odpowiedź 600 wizyt
0 głosów
3 odpowiedzi 1,405 wizyt

92,625 zapytań

141,483 odpowiedzi

319,825 komentarzy

62,006 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...