als ik het rekenmachine opstart in IE dan geeft hij de foutmelding :

"Notice: Undefined variable: berekening in C:\Program Files\EasyPHP 2.0b1\www\rekenmachine.php on line 118"

hij geeft dan aan dat hij nog geen berekening heeft kunnen maken maar hoe haal ik die foutmelding weg zodat hij nog niet uitkekend en pas gaat uitrekenen als ik op de knop druk van berekenen

 
<?php function bestaat($key) 

	{	

		if(isset($_POST[$key])) 
		{
			echo $_POST[$key];	
		}
	} 

	function bestaat2($key, $value)
	{

		if(isset($_POST[$key])) 
		{		
			if($_POST[$key] == $value) 
			{			
				return "selected = selected";		
			}	
		}
	} 

if(isset($_POST['Submit'])) 
	{	
			
		if($_POST['bewerkingen'] == "product")	
		{		
			$berekening = $_POST['getal1'] * $_POST['getal2'];	
		}  	
			
		elseif($_POST['bewerkingen'] == "quotiënt" && $_POST['getal2'] == 0) 	
		{		
			echo "Je kan een getal niet door nul delen";	
		}  	
			
		elseif($_POST['bewerkingen'] == "plus") 	
		{		
			$berekening = $_POST['getal1'] + $_POST['getal2'];	
		}  	
			
		elseif($_POST['bewerkingen'] == "min") 	
		{		
			$berekening = $_POST['getal1'] - $_POST['getal2'];	
		} 	
			
		elseif($_POST['bewerkingen'] == "kwadraat") 	
		{		
			$berekening = $_POST['getal1'] * $_POST['getal1'];	
		} 	
		elseif($_POST['bewerkingen'] == "delen") 	
		{		
			$berekening = $_POST['getal1'] / $_POST['getal2'];	
		} 
	} 	
		
$bewerkingen = array("product" => "*","min" => "-","plus" => "+","kwadraat" => "x²","delen" => "/")
?>

<html>
<head>
<title>Rekenmachine PHP</title>
</head>
<body>
    <div align="left">
      <blockquote>&nbsp;</blockquote>
    </div>
    <table width="462" height="272" border="2" cellpadding="0" cellspacing="0">
  <tr>
    <th align="left" valign="top" scope="col"><p><font size="+3">Rekenmachine </font></p>
      <form name="rekenmachine" method="post">
        <table width="400" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td scope="col">Getal 1:
            <input type="text" name="getal1" value="
<?php 
bestaat("getal1"); 
?>
"></td>
          </tr>
          <tr>
            <td>
              <div align="center">
                 <blockquote>
                   <blockquote>
                     <blockquote>
                       <blockquote>
                         <blockquote>
                           <p name="bewerkingen">
                             <select name="bewerkingen">
                               <?php 				
foreach($bewerkingen as $k => $v)
echo '<option value="' . $k . '" ' . bestaat2("bewerkingen", $k) . '>' . $v . '</option>';			
?>
                                                                                   </select>
                           </p>
                         </blockquote>
                       </blockquote>
                     </blockquote>
                   </blockquote>
                 </blockquote>
            </div></td>
          </tr>
          <tr>
            <td>Getal 2:
            <input type="text" name="getal2" value="
<?php bestaat("getal2"); 
?>
"></td>
          </tr>
          <tr>
            <td><font color="black">
              <input type="submit" name="Submit" value="Bereken"  onMouseOver="klick"/>
</font></td>
          </tr>
        </table>
        <p><font color="black">Resultaat:
            <?php 
echo $berekening; 


?>
</font></p>
        </form>      
    </th>
  </tr>
</table>
</body>
if( $_SERVER['REQUEST_METHOD'] == "POST") gebruiken ipv if(isset($_POST['Submit']))
Verder: [php]isset[/php].
probleem is er nog steeds
En wat heb je dan aangepast?
if( $_SERVER['REQUEST_METHOD'] == "POST")

erin gezet ipv

if(isset($_POST['Submit']))


Dat dacht ik al, daarom:
Karl schreef op 26.06.2008 12:49
Verder: [php]isset[/php].
wat bedoel je daarmee dan?
erik schreef op 26.06.2008 13:06
wat bedoel je daarmee dan?

erik schreef op 26.06.2008 12:44
"Notice: Undefined variable: berekening in C:\Program Files\EasyPHP 2.0b1\www\rekenmachine.php on line 118"

php.net
isset — Determine whether a variable is set


Ik ga niet alles voorzeggen.
erik schreef op 26.06.2008 13:06
wat bedoel je daarmee dan?

Je controleert te weinig.

Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Reageren