Proszę o pomoc

PHP to skryptowy język wykonywany po stronie serwera. Forum przeznaczone na pytania dot. programowania obiektowego, wzorców projektowych itp.
Awatar użytkownika
obcy1991
Posty: 1
Rejestracja: 10 mar 2015, 23:47

Proszę o pomoc

Post autor: obcy1991 » 10 mar 2015, 23:52

napisałem taki o to kalkulator bardzo prosty a mimo to wywala mi błąd :
błąd jest taki " Notice: Undefined index: opcja in C:\xampp\htdocs\nauka\a.php on line 69 "

a skrypt wygląda w ten sposób
"

Kod: Zaznacz cały

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">


  <title> NaukaPHP </title>


</head>
<body>

	
	<article>
	
	<center>	<h2>::Menu::</h2> </center>
		<p><b>Wybierz cos z opcji </b> </p>	
	
	</article>



<form method="POST" action="">
<select name="opcja" value="opcja" >
			<option value="d">dodaj</option>
			<option value="o">odejmij</option>
			<option value="m">mnozenie</option>
</select>


<br>

<lable><b>Podaj Pierwsza liczbe</b> <input type="text" name="liczba1"> </lable><br>
<lable><b>Podaj druga liczbe</b> <input type="text" name="liczba2"> </lable><br>
<lable><input type="submit" value="przelicz"> </lable><br>
</form>

<br>


<?php
			
	function dodaj($liczba1,$liczba2 )
	{
	
		return $_POST['liczba1'] + $_POST['liczba2'];

		}
	
	function odejmij($liczba1,$liczba2)
	{
	
		return $_POST['liczba1'] - $_POST['liczba2'];

		}
		
			
	function mnozenie($liczba1,$liczba2)
	{
	
		return $_POST['liczba1'] * $_POST['liczba2'];

		}	
		

	$opcja;
			
			switch($_POST["opcja"]){
				case 'd':
					echo " Dodawanie = " . dodaj($_POST['liczba1'],$_POST['liczba2']);
					 break;
					
			  case 'o':
				  echo "Odejmij = ". odejmij($_POST['liczba1'], $_POST['liczba2']); 
				   break;
			
			  case 'm':
				 echo "Mnozenie = ". mnozenie($_POST['liczba1'], $_POST['liczba2']);
					break;
				
	
	}

?>

</body>
</html>
"
bardzo proszę o pomoc i z góry dziękuje ;)

Awatar użytkownika
Ibalyx
Posty: 2
Rejestracja: 07 mar 2015, 11:09

Re: Proszę o pomoc

Post autor: Ibalyx » 14 mar 2015, 19:01

akurat błędy "Notice" są mało ważne, ale mnie też denerwują.

w linii 69 sprawdzasz co zawiera klucz "opcja" z tablicy $_POST. a na początku nie ma jej w ogóle, dlatego wywala taki błąd.

albo musisz nadać jakąś wartość (może być null), albo musisz najpierw sprawdzić czy istnieje (warunek if).

ODPOWIEDZ