login  Naam:   Wachtwoord: 
Registreer je!
 Forum

form action="function()" werkt niet. waarom? (Opgelost)

Offline Jelmerholland - 24/12/2009 20:29 (laatste wijziging 24/12/2009 20:30)
Avatar van JelmerhollandPHP beginner Dit is de volledige code

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>php5 | do-while met functie</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
  6.  
  7. <?php
  8. function checkinput(){
  9. //benoem variabelen
  10. $teller = 1;
  11. $getal = $_POST['tafel'];
  12.  
  13. //vervang komma door punt
  14. $getal = ereg_replace(",",".","$getal");
  15.  
  16. //verteld wanneer een <hr> geplaatst wordt
  17. $accept = array("10","20","30","40","50","60","70","80","90");
  18. $check = 0;
  19.  
  20. echo("U wilde de tafel uit <b>$getal</b> weten <br><br>");
  21.  
  22. //do-while lus
  23. do{
  24. echo("$teller x $getal = <b>" . ($teller * $getal) . "</b><br>\n");
  25. if($teller == $accept[$check]){
  26. echo("<hr width='100px' align='left'>\n");
  27. $check++;
  28. };
  29. $teller++;
  30. }while($teller <= 100);
  31.  
  32. }
  33. ?>
  34.  
  35. </head>
  36.  
  37. <body>
  38. <form action="<?php checkinput() ?>" method="POST">
  39. Ik wil de tafel van <input type="text" maxlength="4" name="tafel"/> weten<br>
  40. <input type="submit" value="Submit"/><input type="reset" value="Opnieuw"/>
  41. </form>
  42. </body>
  43. </html>


Waarom wordt de function niet goed uitgevoerd? Ik krijg dit als error:
Citaat:
Forbidden

You don't have permission to access /Basiscursus PHP 5/H6/
(...mislukte output...)
on this server.


Als ik de function, maar dan niet als functie maar gewoon als php, in een externe file zet, en met de action="" daar naartoe verwijs, dan werkt alles perfect.

Probleem is dus:
<form target="FUNCTION()"> ...formulier </form>
werkt niet. Waarom? (zie volledige code hierboven)

Jelmer

---
Waarom het zo'n raar formulier is? Ik ben de basiscursus php5 van Peter Kassenaar aan het doen. En ik ben zelf wat aan het uitbreiden. (gewoon omdat het kan)

5 antwoorden

Gesponsorde links
Offline Wave6 - 24/12/2009 21:46
Avatar van Wave6 PHP beginner target moet een geldig pad zijn...
Offline Filip - 24/12/2009 22:06
Avatar van Filip IRC guru Action is een pagina die word opgeroepen via HTTP POST.. Misschien eens eerst leren hoe forms werken..?
Offline Jelmerholland - 24/12/2009 22:53
Avatar van Jelmerholland PHP beginner Ik weet hoe forms werken. Ik vraag gewoon een normale vraag, ik weet niet waar de fout zit. Als jullie het weten, kan je toch gewoon het antwoord geven en mijhelpen? Daarvoor zijn de forums dacht ik toch zo.

Dus als je het antwoord weet kan je het toch gewoon vertellen?

@D_0
Wat bedoel je precies? Is een functie geen geldig pad, of heb ik een foutje gemaakt?
Offline Filip - 24/12/2009 22:59 (laatste wijziging 24/12/2009 23:06)
Avatar van Filip IRC guru Het feit dat je je het afvraagt is een duidelijk signaal dat je er niet bepaald een expert in bent.. Dat is wel duidelijk.. Maar html les 1 over forms zegt duidelijk dat de action een page waar je word naar doorgestuurt.. Hoe kan je daar dan ooit een php functie inzetten?

Ten eerste word PHP server side uitgevoerd. Een form word clientside ingevult. Dus daar zit het al grondig mis.

Ten tweede moet je verwijzen naar een pagina die de afhandeling doet via $_POST als je het met php wil doen.

En ten derde verwar je volgens mij PHP met JavaScript, JS word wel clientside uitgevoerd, en daar is het dus wel mogenlijk om de afhandeling door een functie te laten gebeuren..

Ik denk ook niet dat je een tutorial zal vinden die zegt dat er een phpfunctie in de action kan staan. Indien je er wel zo een vind, negeer die maar, want het kan gewoonweg niet..

  1. <form action="afhandeling.php" method="post">

En andere optionele parameters naar keuze. Wat je submit dan doet is je browser doorsturen naar afhandeling.php met een HTTP POST request.

Je kan de afhandeling natuurlijk ook in dezelfde file doen als je html form staat. Maar dan moet je kijken of het een post request is, zoniet, echo je het formulier..
Offline Jelmerholland - 25/12/2009 00:26
Avatar van Jelmerholland PHP beginner Kijk, daar heb ik wt aan. tnx
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s