Forum » Server-Side scripting » function probleem
Berichten: 50
avatar
Offline Stuur privebericht
beste mensen,

ik ben bezig met een opdracht maar ik loop een beetje vast
ik heb een rekenmachine gemaakt die werkt
doormiddel van een function dit werkt allemaal

op dit moment heb ik de +,- al werkend

mijn probleem is dat hij ze allebei uitrekent
ik moet dan toch iets doen met de value zodat ik controleer
welke knop hij heeft ingedrukt.

de +,-,/,* knop

hieronder de code die de som weergegeeft van de plus en de min

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php // Hier word de som plus weergegeven
function som_plus()    
{
    
$antwoord $_POST["getal1"] . $_POST["plus"] . $_POST["getal2"];
    return 
$antwoord;
}
$som som_plus();
echo 
$som;
?>

<?php // Hier word de som min weergegeven
function som_min()    
{
    
$antwoord $_POST["getal1"] . $_POST["min"] . $_POST["getal2"];
    return 
$antwoord;
}
$som som_min();
echo 
$som;
?>



hieronder de code die de som uitrekent de plus en de min

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php // Hier word de som plus uitgerekend
function uitkomst_plus()    
{
    
$uitkomst $_POST["getal1"] + $_POST["getal2"];
    return 
$uitkomst;
}
$som uitkomst_plus();
echo 
$som;
?>

<?php // Hier word de som min uitgerekend
function uitkomst_min()    
{
    
$uitkomst $_POST["getal1"] - $_POST["getal2"];
    return 
$uitkomst;
}
$som uitkomst_min();
echo 
$som;
?>


hieronder de html code

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<form action='verwerk.php' method='post'>
  <
table width=”80%” border=”1” >
    <
caption>
        <
strong>Som berekenen</strong>
    </
caption>
<
tr>
    <
tdGetal 1: </td>
    <
td> <input type="text" name="getal1" size="30" /> </td>
</
tr>

<
tr>
    <
tdGetal 2: </td>
    <
td> <input type="text" name="getal2" size="30" /> </td>
</
tr>


 </
table>
    <
br/>
    
Kies hier wat u wilt:<br/> optellen,aftrekkenvermenigvuldigen of delen.<br/>
    <
input type="submit" name="plus" value="+" />
    <
input type="submit" name="min" value="-" />
    <
input type="submit" name="keer" value="x" />
    <
input type="submit" name="delen" value="/" />
    <
input type="submit" name="procent" value="%" />
</
form>


ik weet dat alles korter kan vooral de php codes maar ik moet voor elke knop een
apparte functie maken. dus als ik eerst de plus en de min
goed werkend heb kan ik de rest afmaken.

dus ik denk zelf dat het aan de value ligt
want als ik zeg maar 4 in het eerste invul veld zet en 4 in
het andere invuld zet en druk op de knop + geeft ie de som weer
plus de uitkomst maar hij vraagt ook om de - som en weergave

Undefined index: min in C:\wamp\www\verwerk.php on line 26

ik hoop dat ik zo genoeg info heb verteld
en hoop dat u de antwoord voor mij weet

alvast harstikek bedankt!!
Laatst gewijzigd door beronne op 2010-10-27 23:27:26
27-10-2010 23:24
Dit topic is 213 keer bekeken door 48 verschillende leden
Reacties op: "function probleem"
1
Berichten: 637
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_POST['plus'])) {

    
$antwoord = ($_POST['getal1'] + $_POST['getal2']);

} elseif(isset(
$_POST['min'])) {

    
$antwoord = ($_POST['getal1'] - $_POST['getal2']);

} elseif(isset(
$_POST['keer'])) {

    
$antwoord = ($_POST['getal1'] * $_POST['getal2']);

} else {

    
$antwoord = ($_POST['getal1'] / $_POST['getal2']);

}

echo 
$antwoord;
?>
27-10-2010 23:46
Berichten: 2123
avatar
Offline Stuur privébericht
Het lijkt me helemaal geen slecht idee om dit met functions te doen. Maar zorg dan wel dat je geen globale variabele (en $_POST is een globale variabele) gebruikt in je functions, dat is ten strengste verboden!

Verder is de oplossing van Bever inderdaad correct: Je gebruikte concat (zoek er even voor op Google als je niet weet wat het is ), en dan zal hij dus geen berekeningen uitvoeren maar simpelweg alles als een string aan elkaar plakken.
28-10-2010 00:24
Webdeveloper & Programmeu
Berichten: 1000
avatar
Offline Stuur privébericht
je zou het als volgt kunnen uitvoeren:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
if(isset($_POST['plus']))
{
     echo 
som_plus($_POST['getal1'], $_POST['getal2']);
}
if(isset(
$_POST['min']))
{
     echo 
som_min($_POST['getal1'], $_POST['getal2']);
}


verder de functie zou je als volgt moeten doen:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
function som_plus($getal$getal2)
{
     
$uitkomst $getal $getal2
     return 
$uitkomst
}


Zelfde geldt voor min dat je die parameters mee geeft en deze gebruikt i.p.v de post!

Hoop dat ik je een beetje op weg heb geholpen aan de hand van stukje code.
28-10-2010 17:21
Berichten: 50
avatar
Offline Stuur privébericht
Quote: NielsB

je zou het als volgt kunnen uitvoeren:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
if(isset($_POST['plus']))
{
     echo 
som_plus($_POST['getal1'], $_POST['getal2']);
}
if(isset(
$_POST['min']))
{
     echo 
som_min($_POST['getal1'], $_POST['getal2']);
}


verder de functie zou je als volgt moeten doen:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
function som_plus($getal$getal2)
{
     
$uitkomst $getal $getal2
     return 
$uitkomst
}


Zelfde geldt voor min dat je die parameters mee geeft en deze gebruikt i.p.v de post!

Hoop dat ik je een beetje op weg heb geholpen aan de hand van stukje code.



ik ga ervanaf ff naar kijken alvast bedankt maar omdat ik een invulveld heb gebruikt "form" moet ik het toch wel posten of hoeft dat niet.

gr beronne
31-10-2010 18:39
Reageer op: "function probleem"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden