Fout in form
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)
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
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 <input type="radio" name="land" value="32" />België</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;
}
}
}
?>
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 <input type="radio" name="land" value="32" />België</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
Reeds opgelost, ik miste nog een hidden input die verzonden moest worden.
Dan moet je een extra hidden veld aanmaken voor page:
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
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.