Fout in form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erik Kraijenoord

Erik Kraijenoord

05/07/2010 20:50:16
Quote Anchor link
Goedenavond,

Ik ben bezig met een betaalsysteem, alleen wil deze niet helemaal mee werken.
Ik heb gezocht via Google maar werd er niet veel wijzer uit.

Wat is het probleem:
Mijn form heeft een method GET en een action.
Nu heb ik in de action de volgende link staan:

?page=bellen&credits=100&land=31

Nu pakt hij de link als volgt:

?credits=100&land=31

Stukje relevante code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
elseif (isset($_GET['credits']))
{

    if (!isset($_GET['land']))
    {

        echo '
        <form method="get" action="?page=bellen&credits='
.$_GET['credits'].'">
        <input type="hidden" name="credits" value="'
.$_GET['credits'].'" />
        <table width="100%" cellpadding="0" cellspacing="4" border="0">
            <tr>
                <td><strong>Vanuit welk land gaat u bellen?</strong><br /><br /></td>
            </tr>
            <tr>
                <td><input type="radio" name="land" value="31" />Nederland &nbsp; <input type="radio" name="land" value="32" />Belgi&euml;</td>
            </tr>
            <tr>
                <td><input type="submit" value="Ga verder" /></td>
            </tr>
        </table>
        </form>'
;
    }

    else {
        
        $land        = mysql_real_escape_string($_GET['land']);
        $dutch        = array("100" => "98", "250" => "195", "500" => "338", "1000" => "563", "1500" => "750");
        $belgium    = array("100" => "78", "250" => "156", "500" => "270", "1000" => "450", "1500" => "600");
            
        if ($land == 31)
        {

            foreach ($dutch as $credit => $time)
            {

                if ($_GET['credits'] == $credit)
                {

                    $tariff        = 80;
                    $duration    = $time;
                }
            }
        }

        elseif ($land == 32)
        {

            foreach ($belgium as $credit => $time)
            {

                if ($_GET['credits'] == $credit)
                {

                    $tariff        = 100;
                    $duration    = $time;
                }
            }
        }

?>


Ziet iemand wat ik mogelijk fout doe, ik zie het zelf niet meer namelijk.

Alvast bedankt!


Met vriendelijke groet,
F. Kraijenoord
Gewijzigd op 05/07/2010 20:51:03 door Erik Kraijenoord
 
PHP hulp

PHP hulp

24/11/2024 15:14:55
 
Erik Kraijenoord

Erik Kraijenoord

05/07/2010 21:00:16
Quote Anchor link
Reeds opgelost, ik miste nog een hidden input die verzonden moest worden.
 
Martijn B

Martijn B

05/07/2010 21:01:01
Quote Anchor link
Wat is nu je probleem? Dat de variabele page uit de query string verdwijnt?

Dan moet je een extra hidden veld aanmaken voor page:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="hidden" name="page" value="bellen" />


Volgens mij in het geval van een get kun je de action van je formulier leeg laten (action="#")
Gewijzigd op 05/07/2010 21:01:31 door Martijn B
 
Erik Kraijenoord

Erik Kraijenoord

05/07/2010 21:06:10
Quote Anchor link
@Martijn B

Zoals aangegeven in mijn laatste bericht miste ik nog een hidden input om de pagina mee te sturen.
De action kon ik in dit geval inderdaad leeg laten, kwam ik pas later achter.

Toch bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.