php operatoren

  • PHP

    Beste mensen hier ben ik met de volgende vraag.


    ik heb twee invul velden
    veld1 =getal1
    veld2 =getal2


    daaronder heb ik vier buttons button +,-,*,/


    als ik in veld1 10 zet en in veld2 10 zet
    en ik druk op + telt hij het al bij elkaar op.


    maar nu, wil ik als je op - druk dat hij min gaat doen ik laat jullie de code zien tot hoever ik hem heb.


    index.php


    verwerk.php


    op de verwerk pagina zien julle onder: de som is de volgende code ik roep de som op de is ingevuld in veld1 en veld2 plus welke knop er is ingedrukt.


    maar nu!! onder de uitkomst staat het belangrijke waar ik beetje vast loop.


    ik heb er nu deze regels staan


    PHP
    <?php $som =  $_POST["submit"] = $_POST["getal1"] + $_POST["getal2"];?>


    ik dacht dus als ik nu de dezelfde code eronder zet maar dan de plus inplaats van de -. zie hier

    PHP
    <?php $som =  $_POST["submit"] = $_POST["getal1"] - $_POST["getal2"];?>


    dan doet ie alleen de - ook al druk je op de plus knop hij rekent dan telkens de min uit. wat ik dus wil weten is.


    hoe krijg ik het voor elkaar als ik op de plus knop drukt dat hij de code leest voor de +


    en zo ook voor de -,*,/


    ik ben beginnende u hoeft mij niet de code er neer te zetten maar ik zou het fijn vinden als u mij opweg kunt helpen

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Citaat van Maviose

    name="getal2" je name altijd andere waarden geven.
    $_POST["getal2"] alsook voor je post.


    beste maviose,


    ik heb nu zo


    index.php

    PHP
    Kies hier wat u wilt:<br/> optellen,aftrekken, vermenigvuldigen of delen.<br/>
    	<input type="submit" name="submit1" value="+" />
    	<input type="submit" name="submit2" value="-" />
    	<input type="submit" name="submit3" value="x" />
    	<input type="submit" name="submit4" value="/" />


    verwerk.php


    PHP
    Som is: 
    <?php echo $_POST["getal1"];?>  <?php echo $_POST["submit1"];?>  <?php echo $_POST["getal2"];?><br>
    <?php echo $_POST["getal1"];?>  <?php echo $_POST["submit2"];?>  <?php echo $_POST["getal2"];?><br>
    De uitkomst is:
    <?php $som =  $_POST["submit1"] = $_POST["getal1"] + $_POST["getal2"];?>
    <?php $som =  $_POST["submit2"] = $_POST["getal1"] - $_POST["getal2"];?>
    <?php echo $som;?>


    het werkt nog niet helemaal


    maar dan nog heb ik steeds de fout dat hij de plus nit meer leest:

  • Ik zou zelf persoonlijk werken via een switch vb.


    Dit is een voorbeeld begin code voor de verwerking maar zal niet precies werken hoe jij het zou willen.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Citaat van Maviose

    name="getal2" je name altijd andere waarden geven.
    $_POST["getal2"] alsook voor je post.


    ik heb het nu bijna voorelkaar. ik heb als ik een getal invoer zeg maar 20 en 20 en ik druk op de + knop word de uitkomst 40 maar als ik zeg maar 20 en 20 invoer en ik druk op de - knop doet ie nog steeds plus, als ik weet hoe dat moet kan ik het afmaken


  • denk is logisch na en kijk wat je 2 keer doet ;)
    je doet getal1 + getal2 2 maal.


    maar ik geef je ff 1 tip:



    ik denk dat je het zo makkelijker en beter leert.


    ik zie ook dat je de versnelde traject if en else doet.
    maar je moet het allebei wel goed kennen. ;)
    maar jou probleem is gewoon dat je bij submit2 gewoon het volgende moet doen:


    PHP
    <?php $som =  $_POST["submit2"] = $_POST["getal1"] - $_POST["getal2"];?>


    kijk goed wat ik heb veranderd de + naar -! ;)

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Ik zie dat niels het al heeft opgelosten. Ik wil nog een stukje op dat van Niels toevoegen probeer ook gebruik te maken van beveilings. Bijvoorbeeld Real Escape String.


    Edit voor jannick: Excuses, schamend ik had het helemaal niet goed doorgelezen. Zie inderdaad de tips van jannick.

    This is ten percent luck, twenty percent skill
    Fifteen percent concentrated power of will
    Five percent pleasure, fifty percent pain
    And a hundred percent reason to remember the name!

  • @RiiCky Waarom [func]mysql_real_escape_string[/func] gebruiken? Ik zie nergens een verbinding met een database; met [func]strip_tags[/func] en [func]htmlentities[/func] kom je er makkelijker, en hoef je geen MySQL-functies te gebruiken ;)

  • Gebruik voor cijfer dan gewoon int en double sorry maar dat is nog veiliger dan als je dat gebruikt.
    hoezo zou je een getal moet escapen of moet strippen? :S
    gewoon kijken of het wel getal is wel belangrijker

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Beste mensen ik heb ff wat zitten kloten thuis met het script


    als ik het via wamp bekijk werkt het volgende: als ik getal invoer en dat doe ik + dan geeft ie het wel goed weer.


    maar doe ik een getal - krijg ik de volgende error P.S. hij rekent de som wel uit maar de error moet weg.


    Som is:
    Notice: Undefined index: submit1 in C:\wamp\www\verwerk.php on line 14
    20-5
    De uitkomst is:
    Notice: Undefined index: submit1 in C:\wamp\www\verwerk.php on line 23
    15


    u ziet dat hij wel de som goed uitrekent.


    ik laat u de script zien hoe ik het heb ik heb het nu gemaakt doormiddel van if en else.


    index.php


    verwerk.php


    ik heb dit scriptje ook gepost op een betaalde host.
    http://rbvhoogeveen.nl/school/ en hier krijg ik de error niet.
    en ik heb het liefst dat het wel goed werkt in samp want daar moet ik mee werken op school


    dus wat ik denk is als ik een getal invoer en je drukt op de - butten (submit2) dat hij ook denkt en (submit1) dan. zoiets denk ik

  • Index.php


    Verwerk.php


    Veel netter, werkt en geeft als het goed is geen errors. Doe jezelf een plezier, en kijk aandachtig naar de code en zoek op internet op wat bepaalde functies en operatoren doen.

  • alles werkt nu maar bij mijn script hoefde ik eigenlijk alleen isset toe te voegen en dan werkte die van mij ook maar nu heb ik nog een klein probleempje bij het delen


    als ik zeg maar 30 en 5 invoer en druk op / berekent hij het goed maar voer ik niks in krijg ik deze error


    Warning: Division by zero in C:\wamp\www\verwerk.php on line 53


    ik weet dat dit te maken heeft met: omdat je niks invoert dus gaat ie uit van 0 en de regel is delen door 0 is flauwkeul. maar hoe zorg ik er nu voor dat als je niks invoert en toch op de / drukt dat de error niet komt.



    verwerk.php

  • Beronne, misschien als je de reacties van je voorgangers leest, leer je er ook nog wat van.

    Nieuwe reactie samengevoegd met originele reactie op 01.10.10 16:45:19:
    Beter nog: Zet dit eens in verwerk.php met die index.php van me :P


    PHP
    <?php
    $operators = array("+", "-", "*", "/");
    (isset($_POST['getal']) && isset($_POST['operator']) && ctype_digit($_POST['operator']) && $_POST['operator'] <= 3 && $_POST['operator'] >= 0 && !($operators[$_POST['operator']] == '/' && $_POST['getal'][1] == 0) && count($_POST['getal']) == 2) or exit("Invalid input detected");
    
    
    echo "Som is: " . $_POST['getal'][0] . " " . $operators[$_POST['operator']] . " " . $_POST['getal'][1] . "<br />\r\nDe uitkomst is: " . eval('return ' . $_POST['getal'][0] . $operators[$_POST['operator']] . $_POST['getal'][1] . ';');


    Dit is zo minimalistisch mogelijk, maar toch veilig.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!