Vraag & Antwoord

Webprogrammeren & scripting

[PHP] berekening uit form direct uitvoeren

6 antwoorden
  • Wat ik wil doen, is dat een gebruiker van het formulier een berekening kan invoeren in een textfield (bijv.: 10-3*6) en dat php dat bij de post opvangt als $uitvoeren = "10-3*6" en dat dan meteen uitvoert. Ik heb al geprobeerd dit te doen: [code:1:ceae594b8d] <?php if (isset($_POST['doen'])) { $uitvoeren = $_POST['uitvoeren']; $resultaat = return($uitvoeren); echo $resultaat; } ?> <form method="post" action"dezelfde pagina"> <input type="text" size="15" name="uitvoeren" /> // Hier kan dan bijvoorbeeld 10 - 6 worden ingevuld <input type="hidden" name="doen" value=1 /> <input type="submit" /> </form> [/code:1:ceae594b8d] ...en dat werkt niet: ik denk dat ik de return functie dus niet helemaal heb begrepen. Hoe kan ik dit wel voor elkaar krijgen? Alvast bedankt!
  • Je moet hier [url=http://php.net/eval]eval()[/url] voor gebruiken. Hoewel ik je dat afraad, want als iemand "normale" php-code invoert en je vangt dat niet af heb je een groot probleem.
  • Is het misschien niet slimmer om dit met javascript te doen? Die berekening dus.
  • [quote:300b9aa17d="Stijn."]Je moet hier [url=http://php.net/eval]eval()[/url] voor gebruiken. Hoewel ik je dat afraad, want als iemand "normale" php-code invoert en je vangt dat niet af heb je een groot probleem.[/quote:300b9aa17d] ...Daarvoor heb je dan strip_slashes(), strip_tags() en bijvoorbeeld str_replace() of preg_replace(). Lijkt me niet het grootste probleem. Wel gevaarlijk als het er idd doorkomt... Dit is wat ik nu heb, maar het werkt alsnog niet: [code:1:300b9aa17d] <?php $command = $_POST['cmd']; str_replace("bindec","bin2dec",$command); eval($command); echo $command; ?> [/code:1:300b9aa17d] Wat doe ik nu fout? [quote:300b9aa17d="gerben"]Is het misschien niet slimmer om dit met javascript te doen? Die berekening dus.[/quote:300b9aa17d] Nee, want ik wil immers ook COS, TAN, SIN, exponenten en nog andere wetenschappelijke berekeningen kunnen uitvoeren, en dat gaan met PHP betrekkelijk eenvoudig... Anders was dat zeker een optie (lekker snel ook). Alleen staat dit probleempje me nu dus even in de weg...
  • je zou bijvoorbeeld met ajax iets kunnen uitwerken, kun je php scripts gebruiken terwijl de client side al geladen is. Het is maar een ideetje.
  • Ja, maar dan stuit je als nog op de topic-vraag :wink: Niemand heeft een idee hoe dit kan?? :(

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.