rekenmachine foutmelding

Status
Niet open voor verdere reacties.

dreamweaverfan

Gebruiker
Lid geworden
16 jun 2010
Berichten
226
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>202J1</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
html 1:<br>
Met dit kleine scriptje wordt de datum op de pagina geplaats.<br>
<br>
<br>
<?php
//php 1: Datum:
echo date("d:M:Y");
?>
<br>
<br>
html 2:<br>
Dit (gekleurde klokje) is onderdeel van php 2:<br>
<br>
<br>
<?php
//php 2: Gekleurd klokje

$seperator =":";

$hour = date("G");
$minute = date("i");
$second = date("s");

$red = $hour / 24 * 255;
$green = $minute / 60 * 255;
$blue = $second / 60 * 255;

$red = dechex($red);
$green = dechex($green);
$blue = dechex($blue);

echo "<font color=\"$red$green$blue\">$hour$seperator$minute$seperator$second</font>\n";
?>
<br>
<br>
html 3:Dit zijn meerdere functies, die een aantal berekeningen met getallen uitvoeren.<br>
Het is hierbij mogelijk de interpunctie in de getallen aan te brengen. (zoals 10.000 ipv 10000). <br>
<br>
<br>
<?PHP
//php 3: Functie definiëren
function aftrekken($getal_1, $getal_2)
{
print('De door jouw ingevulde getallen zijn:<br />' . "\n" . '
getal 1: ' . $getal_1 . '<br />getal_2: ' . $getal_2 . '<br /><br />');
$absoluut_1 = sqrt(pow($getal_1, 2));
$absoluut_2 = sqrt(pow($getal_2, 2));
$verschil = $absoluut_1 - $absoluut_2;
$absoluut_verschil = sqrt(pow($verschil, 2));
$absoluut_verschil = interpunctie($absoluut_verschil);
print('Het verschil tussen de twee getallen is: ' . $absoluut_verschil . '<br />');
if(!$getal_1 < 0) {
$wortel_1 = sqrt($getal_1);
$wortel_1 = interpunctie($wortel_1);
print('De wortel van $getal_1 is ' . $wortel_1 . '<br />');
}
if(!$getal_2 < 0) {
$wortel_2 = sqrt($getal_2);
$wortel_2 = interpunctie($wortel_2);
print('De wortel van $getal_2 is ' . $wortel_2 . '<br />');
}
$deel_1 = $getal_1 / $getal_2;
$deel_1 = interpunctie($deel_1);
print('$getal_1 / $getal_2 is ' . $deel_1 . '<br />');
$deel_2 = $getal_2 / $getal_1;
$deel_2 = interpunctie($deel_2);
print('$getal_2 / $getal_1 is ' . $deel_2 . '<br />');
$vermenigvuldig = $getal_1 * $getal_2;
$vermenigvuldig = interpunctie($vermenigvuldig);
print('$getal_1 x $getal_2 is ' . $vermenigvuldig . '<br />');
$macht_1 = bcpow($getal_1, $getal_2);
$macht_1 = interpunctie($macht_1);
print('$getal_1 tot de macht $getal_2 is: ' . $macht_1 . '<br />');
$macht_2 = bcpow($getal_2, $getal_1);
$macht_2 = interpunctie($macht_2);
print('$getal_2 tot de macht $getal_1 is: ' . $macht_2 . '<br />');
}

function interpunctie ($getal)
{
if(is_double($getal))
{
$skip = 'nu!';
$array = $getal;
}
$aantal_origineel = strlen($getal);
$aantal = $aantal_origineel / 3;
$aantal = ceil($aantal);
if(!isset($getallen)) $getallen = 1;
if(!isset($begin)) $begin = -3;
if(!isset($resterend)) $resterend = $aantal;
$voltooid = 0;
while($resterend <= $aantal && $resterend > 0 && !isset($skip))
{
$begin_abs = abs($begin);
if($resterend === $aantal)
{
if($aantal_origineel <= 3)
{
$array = $getal;
$voltooid++;
$done = 'yes';
}
else
{
$array = '';
$three = substr($getal, $begin, 3);
$array = $three . $array;
$voltooid++;
}
}
elseif($resterend == 1 && !isset($done))
{
$array = '.' . $array;
$voltooid_maal = $voltooid * 3;
$rest = $aantal_origineel - $voltooid_maal;
$three = substr($getal, 0, $rest);
$array = $three . $array;
$last = 'yes';
}
else
{
$three = substr($getal, $begin, 3);
$array = '.' . $array;
$array = $three . $array;
$voltooid++;
}
$begin = $begin - 3;
$getallen ++;
$resterend --;
}
$getal = $array;
return $getal;
}
//functie aanroepen
if(isset($_POST['getal_1']) || isset($_POST['getal_2']))
aftrekken($_POST['getal_1'],$_POST['getal_2']);

//invoerformulier
if(!isset($_POST['getal_1']) || !isset($_POST['getal_2']))
{
?>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
getal 1: <input type="text" name="getal_1"><br />
getal 2: <input type="text" name="getal_2"><br />
<input type="submit" name="Submit" value="Submit">
</form>

<?php
}
?>


</body>

</html>
 
Laatst bewerkt:
Lijkt mij weinig mis met regel 160, er wordt immers het IF-statement van regel 150 afgesloten.

"Undefined variable" betekent dat je een variabele aanroept die nog niet eerder gedeclareerd is/niet bekend is.
 
Je eerste fout, deze moet je omdraaien :) Hieronder staat hij goed, in je script staat hij verkeerd om, hij kent $vermenigvuldig nog niet namelijk en die geef je mee aan de functie interpuntie(). Je moet eerst de getallen met elkaar vermenigvuldigen en die dan meegeven aan de functie interpunctie().

PHP:
$vermenigvuldig = $getal_1 * $getal_2;
$vermenigvuldig = interpunctie($vermenigvuldig);


Je gebruikt print('...'); Je ziet dat gewoon $getal_1 er blijft staan.

PHP:
print('De wortel van $getal_1 is ' . $wortel_1 . '<br />');

wordt:

PHP:
print("De wortel van ".$getal_1." is ".$wortel_1."<br />");


Je doet het bij $wortel_1 wel goed, maar bij $getal_1 niet... Ik heb sowieso zelf (persoonlijk) de voorkeur bij de dubbel quotes " ipv de single quotes '... Dit is niet de enige, er zijn nog een aantal van die print() dingen die hetzelfde bevatten.



De fout: Notice: Undefined variable: array in C:\Users\jeroen\Desktop\Voor Docent\LOI\PHP 5\usb webserver\root\switch.php on line 142

komt omdat $array niet is 'gedefinieerd' in de code, als de code die in while($resterend <= $aantal && $resterend > 0 && !isset($skip)) niet wordt bereikt... Je kan boven de while beter een:

$array = ""; zetten, zodat je die fout niet krijgt.
 
beste SumBeam

En alle anderen

Hartstikke bedankt voor jullie adviezen
over die arrays snap ik nog helemal niks

ik heb dit gedaan

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>202J1</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
html 1:<br>
Met dit kleine scriptje wordt de datum op de pagina geplaats.<br>
<br>
<br>
  <?php
  //php 1: Datum:
echo date("d:M:Y");
?>
<br>
<br>
html 2:<br>
Dit (gekleurde klokje) is onderdeel van php 2:<br>
<br>
<br>
<?php
//php 2: Gekleurd klokje

$seperator =":";

$hour = date("G");
$minute = date("i");
$second = date("s");

$red = $hour / 24 * 255;
$green = $minute / 60 * 255;
$blue = $second / 60 * 255;

$red = dechex($red);
$green = dechex($green);
$blue = dechex($blue);

echo "<font color=\"$red$green$blue\">$hour$seperator$minute$seperator$second</font>\n";
?>
<br>
<br>
html 3:Dit zijn meerdere functies, die een aantal berekeningen met getallen uitvoeren.<br>
Het is hierbij mogelijk de interpunctie in de getallen aan te brengen. (zoals 10.000 ipv 10000). <br>
<br>
<br>
<?PHP
//php 3: Functie definiëren
function aftrekken($getal_1, $getal_2) 
    { 
    print('De door jouw ingevulde getallen zijn:<br />' . "\n" . ' 
        getal 1: ' . $getal_1 . '<br />getal_2: ' . $getal_2 . '<br /><br />'); 
        $absoluut_1 = sqrt(pow($getal_1, 2)); 
        $absoluut_2 = sqrt(pow($getal_2, 2)); 
        $verschil = $absoluut_1 - $absoluut_2; 
        $absoluut_verschil = sqrt(pow($verschil, 2)); 
        $absoluut_verschil = interpunctie($absoluut_verschil); 
        print('Het verschil tussen de twee getallen is: ' . $absoluut_verschil . '<br />'); 
        if(!$getal_1 < 0) { 
            $wortel_1 = sqrt($getal_1); 
            $wortel_1 = interpunctie($wortel_1); 
            print('De wortel van $getal_1 is ' . $wortel_1 . '<br />'); 
            } 
        if(!$getal_2 < 0) { 
            $wortel_2 = sqrt($getal_2); 
            $wortel_2 = interpunctie($wortel_2); 
            print('De wortel van $getal_2 is ' . $wortel_2 . '<br />'); 
            } 
        $deel_1 = $getal_1 / $getal_2; 
        $deel_1 = interpunctie($deel_1); 
        print('$getal_1 / $getal_2 is ' . $deel_1 . '<br />'); 
        $deel_2 = $getal_2 / $getal_1; 
        $deel_2 = interpunctie($deel_2); 
        print('$getal_2 / $getal_1 is ' . $deel_2 . '<br />'); 
        $vermenigvuldig = $getal_1 * $getal_2;
        $vermenigvuldig = interpunctie($vermenigvuldig);
        print('$getal_1 x $getal_2 is ' . $vermenigvuldig . '<br />'); 
        $macht_1 = bcpow($getal_1, $getal_2); 
        $macht_1 = interpunctie($macht_1); 
        print('$getal_1 tot de macht $getal_2 is: ' . $macht_1 . '<br />'); 
        $macht_2 = bcpow($getal_2, $getal_1); 
        $macht_2 = interpunctie($macht_2); 
        print('$getal_2 tot de macht $getal_1 is: ' . $macht_2 . '<br />'); 
    } 
     
function interpunctie ($getal)  
    { 
    if(is_double($getal))  
        { 
        $skip = 'nu!'; 
        $array = $getal; 
        } 
    $aantal_origineel = strlen($getal); 
    $aantal = $aantal_origineel / 3; 
    $aantal = ceil($aantal); 
    if(!isset($getallen)) $getallen = 1; 
    if(!isset($begin)) $begin = -3; 
    if(!isset($resterend)) $resterend = $aantal; 
    $voltooid = 0; 
    while($resterend <= $aantal && $resterend > 0 && !isset($skip)) 
        { 
        $begin_abs = abs($begin); 
        if($resterend === $aantal) 
            { 
            if($aantal_origineel <= 3) 
                { 
                $array = $getal; 
                $voltooid++; 
                $done = 'yes'; 
                } 
            else  
                { 
                $array = ''; 
                $three = substr($getal, $begin, 3); 
                $array = $three . $array; 
                $voltooid++; 
                } 
            } 
        elseif($resterend  == 1 && !isset($done))  
            { 
            $array = '.' . $array; 
            $voltooid_maal = $voltooid * 3; 
            $rest = $aantal_origineel - $voltooid_maal;     
            $three = substr($getal, 0, $rest); 
            $array = $three . $array; 
            $last = 'yes'; 
            } 
        else 
            { 
            $three = substr($getal, $begin, 3); 
            $array = '.' . $array; 
            $array = $three . $array; 
            $voltooid++; 
            } 
        $begin = $begin - 3; 
        $getallen ++; 
        $resterend --; 
        } 
    $getal = $array; 
    return $getal; 
    } 
//functie aanroepen 
if(isset($_POST['getal_1']) || isset($_POST['getal_2'])) 
    aftrekken($_POST['getal_1'],$_POST['getal_2']); 

//invoerformulier 
if(!isset($_POST['getal_1']) || !isset($_POST['getal_2'])) 
    { 
    ?> 
    <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    getal 1:   <input type="text" name="getal_1"><br /> 
    getal 2:   <input type="text" name="getal_2"><br /> 
    <input type="submit" name="Submit" value="Submit"> 
    </form> 
     
    <?php 
    } 
?>


</body>

</html>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan