Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PHP Form

Anoniem
Ferryk
27 antwoorden
  • Een goedemorgen allemaal,

    Ik ben bezig met het maken van een form in php.
    Ik heb het hele formulier al klaar en werk al met het verzenden van de gegevens.
    Nu zou ik alleen graag willen dat alle velden die niet ingevuld zijn (omdat ze niet verplicht zijn) niet worden meegestuurd. Dus dat eigenlijk alleen de ingevulde velden worden verzonden.
    Ik heb al gezocht op hotscripts.com onder php form processors maar kon daar niet vinden wat ik nu eigenlijk zocht.
    Heeft iemand een idee hoe ik dit zou moeten oplossen of weet iemand een site waar ik dit wel kan vinden ??

    bedankt!
  • Ongetwijfeld is er wel wat te verzinnen in javascript waarbij je "onsubmit" de properties van een form element wijzigt (bjiv. naar [i:de20e5c1d6]disabled[/i:de20e5c1d6]).
    Maar dat roept bij mij meteen de vraag op: Waarom zou je de niet ingevulde velden niet willen meesturen?

    Als je in je verwerkende script niets doet met deze lege velden (je moet toch alle gegevens valideren) dan is dat toch voldoende?
  • uhhh….sorry ben je ff kwijt.

    ik zal het proberen iets duidelijker uit te leggen wat ik heb.
    ik heb velden waar je een aantal in kan vullen.
    (is voor een bestelling van lunch)
    voorbeeld
    BROODJES PRIJS AANTAL
    broodje gezond €1,90 [ ]
    broodje kaas €1,10 [ ]
    broodje ham €1,10 [ ]
    broodje ei €1,30 [ ]
    enz.

    als mensen wat invullen en ze drukken op verzenden dan komt er een mailtje in mijn mailbox met de bestelling (op zich goed)
    maar wat nou het probleem is, is dat in dat mailtje alle velden staan die je in kan vullen (dus alle broodjes).
    Maar wat ik nou graag zou willen is dat alleen de velden (broodjes) in het mailtje komen te staan die zijn ingevuld.

    Ik hoorde weer van een kennis van me dat ik voor dit probleem een validatie pagina moet laten aanmaken (een pagina waar de geen die een bestelling doet na op de knop verzenden te drukken een pagina krijgt te zien wat hij/zij heeft besteld) en dan weer op een knop kan drukken om het echt te verzenden.

    Klopt dit, of moet het anders ?
  • [quote:4d4fcd5cc2]
    maar wat nou het probleem is, is dat in dat mailtje alle velden staan die je in kan vullen (dus alle broodjes).
    Maar wat ik nou graag zou willen is dat alleen de velden (broodjes) in het mailtje komen te staan die zijn ingevuld.
    [/quote:4d4fcd5cc2]

    veld weglaten:

    if ($broodjeham != '')
    {
    $bestelling .= "Broodje ham €1,10 : $broodjeham
    ";
    }

    de variable $bestelling is de email.

    Een validatie pagina is veel beter, daar kun je ook een totaal prijs laten zien.

    wimb

    krijg trek in een broodje kroket…
  • mmm….dit bovenstaande werkt zeker alleen maar als ik het form direct in een PHP pagina zou hebben gebouwd?

    Ik heb namelijk een HTML pagina waar het form in staat en een PHP pagina waar het naar toe word gepost en die PHP pagina zorgt er weer voor dat de form naar me mail wordt gestuurd.

    zie hier:
    [code:1:6ac82d37bc]
    <html>
    <head>
    <title>Lunch Form</title>
    <LINK REL='stylesheet' href='../style.css' type='text/css'>
    </head>
    <body>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td class="title">Lunch Form</td>
    </tr>
    </table>

    <form action="form.php" method="POST">
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="middle">
    <td class="head">BROODJES</td>
    <td width="40"><div align="right"></div></td>
    <td width="40"><div align="right"></div></td>
    </tr>
    <tr valign="middle">
    <td>&</td>
    <td width="40"><div align="right"></div></td>
    <td width="40"><div align="right"></div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje ei</td>
    <td width="40"><div align="right">1,35</div></td>
    <td width="40"><div align="right">
    <input name="Broodje ei" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje ham</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje ham" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje kaas</td>
    <td width="40"><div align="right">1,60</div></td>
    <td width="40"><div align="right">
    <input name="Broodje kaas" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje tartaar</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje tartaar" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje tartaar speciaal</td>
    <td width="40"><div align="right">2,30</div></td>
    <td width="40"><div align="right">
    <input name="Broodje tartaar speciaal" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje filet american</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje filet american" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje rosbief</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje rosbief" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje fricandeau</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje fricandeau" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje kroket</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje kroket" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje frikandel</td>
    <td width="40"><div align="right">1,60</div></td>
    <td width="40"><div align="right">
    <input name="Broodje frikandel" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje balgehakt</td>
    <td width="40"><div align="right">2,15</div></td>
    <td width="40"><div align="right">
    <input name="Broodje balgehakt" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje warmvlees</td>
    <td width="40"><div align="right">2,75</div></td>
    <td width="40"><div align="right">
    <input name="Broodje warmvlees" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje gezond</td>
    <td width="40"><div align="right">2,65</div></td>
    <td width="40"><div align="right">
    <input name="Broodje gezond" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    <p>&</p>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td>Naam<br> <input type='text' name='Name'> <br> <br>
    Email<br> <input type='text' name='Email'> <br> <br>
    Comments<br> <input type='text' name='Comments'> <br> <br>
    <input class="button" name="submit" type='submit' value='Submit'>
    </td>
    </tr>
    </table>
    <p>&</p>
    </form>

    </body>
    </html>
    [/code:1:6ac82d37bc]
  • [quote:172dc307b9="Ferryk"]Ik heb namelijk een HTML pagina waar het form in staat en een PHP pagina waar het naar toe word gepost en die PHP pagina zorgt er weer voor dat de form naar me mail wordt gestuurd.][/quote:172dc307b9]Je kan daar toch gewoon checken wat er wel en niet ingevuld is en alleen de ingevulde waardes in je mail stoppen (zoals WimB al opmerkte)?
  • maar dat houd dus in dat ik voor ieder broodje
    [code:1:6e7fdd7a6d]
    if ($broodje** != '')
    {
    $bestelling .= "Broodje ** €1,10 : $broodje**
    ";
    }
    [/code:1:6e7fdd7a6d]
    zou moeten gebruiken??

    is daar geen kortere manier voor.
    Want het zijn er nogal een aantal.
    Het voorbeeld wat ik al eerder heb geplaatst zijn namelijk niet alle broodjes ?
  • Je zou ook zoiets kunnen doen:

    [code:1:46be766f70]
    $alles=$_POST;
    $bestelling='';

    foreach ($alles as $broodje => $aantal) {
    if (strsr($broodje,'Broodje')){
    $bestelling.=$aantal."x ".$broodje;
    }
    }

    echo $bestelling; // of mailen natuurlijk
    [/code:1:46be766f70]

    Ilja

    btw: (Je moet dus wel je form als POST versturen)
    Zorg er dan wel voor dat alle inputvelden names 'Broodje' bevatten. (case sensitive!)
  • [quote:8f50b824a2="iljamaas"]Je zou ook zoiets kunnen doen:

    [code:1:8f50b824a2]
    $alles=$_POST;
    $bestelling='';

    foreach ($alles as $broodje => $aantal) {
    if (strsr($broodje,'Broodje')){
    $bestelling.=$aantal."x ".$broodje;
    }
    }

    echo $bestelling; // of mailen natuurlijk
    [/code:1:8f50b824a2]

    Ilja

    btw: (Je moet dus wel je form als POST versturen)
    Zorg er dan wel voor dat alle inputvelden names 'Broodje' bevatten. (case sensitive!)[/quote:8f50b824a2]

    Op zich begrijp ik wat je bedoelt maar zit ff met een paar dingetjes.
    ten eerste : $aantal waar komt deze vandaan???
    en ten tweede : je zegt dat alle inputvelden names 'Broodje' bevatten
    houd dat dan in dat ik dus name="Broodje_ham" name="Broodje_kaas" enz. kan gebruiken ?
    Want ik heb het geprobeerd maar krijg de volgende melding als ik op zend druk:
    Fatal error: Call to undefined function: strsr() in c:\inetpub\wwwroot\snack\test\form.php on line 6

    ik gebruik dan het volgende:

    HTML FILE
    [code:1:8f50b824a2]
    <html>
    <head>
    <title>Lunch Form</title>
    <LINK REL='stylesheet' href='../style.css' type='text/css'>
    </head>
    <body>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td class="title">Lunch Form</td>
    </tr>
    </table>

    <form action="form.php" method="POST">
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="middle">
    <td class="head">BROODJES</td>
    <td width="40"><div align="right"></div></td>
    <td width="40"><div align="right"></div></td>
    </tr>
    <tr valign="middle">
    <td>&</td>
    <td width="40"><div align="right"></div></td>
    <td width="40"><div align="right"></div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje ei</td>
    <td width="40"><div align="right">1,35</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_ei" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje ham</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_ham" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje kaas</td>
    <td width="40"><div align="right">1,60</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_kaas" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje tartaar</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_tartaar" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje tartaar speciaal</td>
    <td width="40"><div align="right">2,30</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_tartaar_speciaal" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje filet american</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_filet_american" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje rosbief</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_rosbief" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje fricandeau</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_fricandeau" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje kroket</td>
    <td width="40"><div align="right">1,70</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_kroket" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje frikandel</td>
    <td width="40"><div align="right">1,60</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_frikandel" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje balgehakt</td>
    <td width="40"><div align="right">2,15</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_balgehakt" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje warmvlees</td>
    <td width="40"><div align="right">2,75</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_warmvlees" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    <tr valign="middle">
    <td>Broodje gezond</td>
    <td width="40"><div align="right">2,65</div></td>
    <td width="40"><div align="right">
    <input name="Broodje_gezond" type="text" size="2" maxlength="3">
    </div></td>
    </tr>
    </table></td>
    </tr>
    </table>
    <p>&</p>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td>Naam<br> <input type='text' name='Name'> <br> <br>
    Email<br> <input type='text' name='Email'> <br> <br>
    Comments<br> <input type='text' name='Comments'> <br> <br>
    <input class="button" name="submit" type='submit' value='Submit'>
    </td>
    </tr>
    </table>
    <p>&</p>
    </form>

    </body>
    </html>
    [/code:1:8f50b824a2]

    PHP FILE
    [code:1:8f50b824a2]
    <?
    $alles=$_POST;
    $bestelling='';

    foreach ($alles as $broodje => $aantal) {
    if (strsr($broodje,'Broodje')){
    $bestelling.=$aantal."x ".$broodje;
    }
    }

    echo $bestelling;
    ?>
    [/code:1:8f50b824a2]

    Gr.
    Ferry
  • [quote:b3c59af906="Ferryk"]

    Fatal error: Call to undefined function: strsr() in c:\inetpub\wwwroot\snack\test\form.php on line 6
    [/quote:b3c59af906]

    Tikfoutje waarschijnlijk: de juiste functienaam is strstr().
  • Ok, het was een tik foutje. nu doet ie het wel.
    Probleem nu is dat ie als nog alle broodjes laat zien ipv alleen degene die ingevuld zijn.

    Ik heb zelf nog wat geknutseld en kwam uit op de volgende PHP FILE

    [code:1:35ba0c86de]
    <HTML>
    <HEAD>
    <TITLE>Bestelling</TITLE>
    </HEAD>
    <BODY>
    <table border="0" align="center" cellpadding="0" cellspacing="0" width="600">
    <?
    if ($_POST['Broodje_ei'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_ei']."</td>
    <td align='center'>x</td>
    <td>Broodje ei</td></tr>"; }

    if ($_POST['Broodje_ham'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_ham']."</td>
    <td align='center'>x</td>
    <td>Broodje ham</td></tr>"; }

    if ($_POST['Broodje_kaas'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_kaas']."</td>
    <td align='center'>x</td>
    <td>Broodje kaas</td></tr>"; }

    if ($_POST['Broodje_tartaar'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_tartaar']."</td>
    <td align='center'>x</td>
    <td>Broodje tartaar</td></tr>"; }

    if ($_POST['Broodje_tartaar_speciaal'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_tartaar_speciaal']."</td>
    <td align='center'>x</td>
    <td>Broodje tartaar speciaal</td></tr>"; }

    if ($_POST['Broodje_filet_american'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_filet_american']."</td>
    <td align='center'>x</td>
    <td>Broodje filet american</td></tr>"; }

    if ($_POST['Broodje_rosbief'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_rosbief']."</td>
    <td align='center'>x</td>
    <td>Broodje rosbief</td></tr>"; }

    if ($_POST['Broodje_fricandeau'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_fricandeau']."</td>
    <td align='center'>x</td>
    <td>Broodje fricandeau</td></tr>"; }

    if ($_POST['Broodje_kroket'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_kroket']."</td>
    <td align='center'>x</td>
    <td>Broodje kroket</td></tr>"; }

    if ($_POST['Broodje_frikandel'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_frikandel']."</td>
    <td align='center'>x</td>
    <td>Broodje frikandel</td></tr>"; }

    if ($_POST['Broodje_balgehakt'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_balgehakt']."</td>
    <td align='center'>x</td>
    <td>Broodje balgehakt</td></tr>"; }

    if ($_POST['Broodje_warmvlees'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_warmvlees']."</td>
    <td align='center'>x</td>
    <td>Broodje warmvlees</td></tr>"; }

    if ($_POST['Broodje_gezond'] != "" )
    { echo "<tr><td align='right'>".$_POST['Broodje_gezond']."</td>
    <td align='center'>x</td>
    <td>Broodje gezond</td></tr>"; }
    ?>
    </table>
    </BODY>
    </HTML>
    [/code:1:35ba0c86de]

    Nu heb ik deze getest en werkt top.
    Alleen de broodjes met aantal worden weergegeven.
    Maar mijn vraag nu nog blijft ……
    kan dit ook op een kortere manier, want ik heb nu als voorbeeld brodjes genomen maar er komen nog meer producten zoals patat , frikandellen, korket enz.
    Het is dus best een enorm werk om voor ieder veld zoiets aan te maken.
    Volgens mij moet het simpeler en korter kunnen ??

    wie heeft hier een idee/antwoord op?

    Gr.
    Ferry
  • Of is het misschien niet slim om een verkorte manier te gaan gebruiken als ik eigenlijk ook nog wil dat de bedragen automatisch worden opgeteld van de bestelde produkten?
  • Hier is een kortere manier. het bestaat uit dire bestanden:

    1 - broodjes.txt bevat een array met de produkt namen en prijzen.
    2 - lunchform.php om te bestellen
    3 - form.php verwerkt de bestelling

    Beide forms gebruiken de file broodjes.txt om de namen en de prijzen uit te lezen.

    In de lunchform.php worden de aantallen in een array geplaatst: <input name="broodje[]"
    Die array gaat in zijn geheel naar form.php, daar worden de lege plaatsen verwijderd.



    broodjes.txt
    [code:1:53bca4d226]
    <?php
    // ——— filename: broodjes.txt ———–
    // prijzen zijn met een PUNT, geen komma.

    // Vul $broodjenaam
    $broodjenaam = array('Broodje ei','1.35',
    'Broodje ham','1.70',
    'Broodje kaas','1.60',
    'Broodje tartaar','1.70',
    'Broodje tartaar speciaal','2.30',
    'Broodje filet american','1.70',
    'Broodje rosbief','1.70',
    'Broodje fricandeau','1.70',
    'Broodje kroket','1.70',
    'Broodje frikandel','1.60',
    'Broodje balgehakt','2.15',
    'Broodje warmvlees','2.75',
    'Broodje gezond','2.65');

    ?>
    [/code:1:53bca4d226]




    de lunchform.php
    [code:1:53bca4d226]
    <html>
    <head>
    <title>Lunch Form</title>
    </head>
    <body>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td class="title">Lunch Form</td>
    </tr>
    </table>

    <form action="form.php" method="POST">
    <table width="230" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="middle">
    <td class="head">BROODJES</td>
    <td width="40"><div align="right">prijs</div></td>
    <td width="40"><div align="right">aantal</div></td>
    </tr>
    <tr valign="middle">
    <td></td>
    <td width="40"><div align="right"></div></td>
    <td width="40"><div align="right"></div></td>
    </tr>

    <?php
    // filename lunchform.php
    require('broodjes.txt');
    reset($broodjenaam);
    // print_r ($broodjenaam); // test

    for($i=0; $i < count($broodjenaam); $i++)
    {
    echo "<tr valign=\"middle\">
    ";
    echo "<td>";
    echo $broodjenaam[$i]; // naam van broodje
    echo "</td>
    ";
    $i++;
    echo "<td width=\"40\"><div align=\"right\">$broodjenaam[$i]</div></td>
    ";
    echo '<td width="40"><div align="right">'."
    ";
    echo '<input name="broodje[]" type="text" size="2" maxlength="3">'."
    ";
    echo '</div></td></tr>'."
    ";
    }
    ?>
    </table></td>
    </tr>
    </table>
    <p></p>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td>Naam<br> <input type='text' name='Name'> <br> <br>
    Email<br> <input type='text' name='Email'> <br> <br>
    Comments<br> <input type='text' name='Comments'> <br> <br>
    <input class="button" name="submit" type='submit' value='Submit'>
    </td>
    </tr>
    </table>
    <p></p>
    </form>
    </body>
    </html>
    [/code:1:53bca4d226]


    de form.php verwerkt de bestelling
    [code:1:53bca4d226]
    <html>
    <head>
    </head>
    <body>
    <br>
    <?php
    // filename form.php, zet alleen de bestelde produkten op het scherm
    require('broodjes.txt');
    echo '<br>';
    reset ($broodjenaam);

    echo '<table border="1" cellpadding="4"><tr>
    <td><b>Bestelde broodjes:</b></td>
    <td><b>besteld aantal</b></td>
    <td><b>prijs</b>
    <td><b>totaal</b></td></tr>';

    for($i=0; $i < count($broodje); $i++) // broodje array komt van lunchform
    {
    if ($broodje[$i] != 0)
    {
    $p= $i*2;
    echo "<tr><td>$broodjenaam[$p]</td><td>"; // soort broodje
    echo $broodje[$i].'</td>'; // besteld aantal
    $p=$p+1;
    echo "<td>$broodjenaam[$p]</td>"; // prijs per stuk
    $tot= round(($broodjenaam[$p])*($broodje[$i]),2); // totale prijs
    echo '<td>';
    printf("%01.2f",$tot);
    echo'</td>';
    echo '</tr>';
    }
    }
    echo '</table>';
    ?>
    </body>
    </html>
    [/code:1:53bca4d226]

    hopelijk werkt het daar een beetje (hier wel)

    wimb





  • Ik krijg :

    Notice: Undefined variable: broodje in c:\inetpub\wwwroot\snack\lunchtest\form.php on line 18

    Ben al aan het puzzelen gegaan wat er mis kan zijn, maar heb het nog niet kunnen vinden.
    En eigenlijk zou het moeten werken want bij jou werkt het wel zei je al??
    Zou het aan de PHP versie kunnen liggen, of toch alsnog een tikfoutje?
  • Ik heb het getest met: [b:222a3dd383]PHP Version 4.2.0 [/b:222a3dd383], easyPHP.
    Voor alle zekerheid de code uit mijn post gecopied and past en het werkt nog steeds.

    "broodje" is de variabele die van "lunchform.php" komt, bij <input name="broodje[]"
    Als dat daar anders is geschreven dan werk het niet.

    wimb
  • Ik gebruik PHP version: 4.3.0
    maakt dat wat uit ?
    Want ik heb ook gewoon copy paste van jou voorbeeld gedaan….
  • Op mijn site werkt het ook goed. dat is met PHP 4.31
    hier kun je het zelf testen.

    wimb
  • Damn!! het werkt goed…..(op jou site dan)
    Ik denk zelf nu dat het te maken heeft met het volgende wat ik heb gevonden in een vraag van iemand anders in dit forum:

    [quote:7cdda3127b]
    Weet je zeker dat je PHP 4.0 hebt draaien? Vanaf versie 4.2 is het namelijk verplicht om ipv $adres de volgende notatie te gebruiken: $_POST["adres"]. Dit is ten eerste overzichtelijker en ten tweede veiliger omdat mensen geen gegevens meer kunnen doorgeven via het adres, deze staan namelijk in $_GET. Overigens werkt deze manier van variabelen aanspreken al vanaf versie 4.1
    [/quote:7cdda3127b]
    [quote:7cdda3127b]
    zet register_global op "on" in PHP.ini
    [/quote:7cdda3127b]

    dit heb ik dus gedaan en nu werkt het WEL!!
    Maar het enige wat ik nu niet zie is de TOTAAL Prijs die ik wel zie op jou site.
    Ik ga hier nog ff wat dieper na kijken, maar als je een idee heb…GAARNE!

    Gr.
    Ferry

    BTW heb je MSN?
  • [quote:0f6473ada1]Ok, het was een tik foutje. nu doet ie het wel.
    Probleem nu is dat ie als nog alle broodjes laat zien ipv alleen degene die ingevuld zijn.

    Ik heb zelf nog wat geknutseld en kwam uit op de volgende PHP FILE [/quote:0f6473ada1]


    Tja, ik was inderdaad in de snelle nog vergeten te controleren of het aantal ook groter was dan nul…

    Dit had er moeten staan:
    [code:1:0f6473ada1]if (strstr($broodje,'Broodje') && intval($aantal)>0){ [/code:1:0f6473ada1]

    was nog niet helemaal wakker.. :oops:

    Ilja
  • Dankje iljamaas, maar ik ben er al bijna uit dankzij de hulp van WimB.
    Want nu kan er ook meteen een totaal bedrag uitegrekend worden van ieder product en een totaal bedrag.
    Het enige probleem nu nog is dat ik het TOTAAL bedrag niet te zien krijg.

    Het commando printf werkt dat met iedere PHP versie
    ik gebruik 4.3

Beantwoord deze vraag

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