Vraag m.b.t het includen van een contactformulier in een CMS
Ik ben bezig met een eigen CMSsysteempje te ontwikkelen.
Nu stuit ik op een probleem.
Mijn pagina's worden zo opgehaald:
?paginaid=1&subid=2 (als voorbeeld)
Maar.. nu heb ik een contactformulier die ik dus bijvoorbeeld heb geinclude bij pagina 1. Daar zit een Verzendbutton op. Als ik op verzenden klik moet het dus wel meegegeven worden dat hij op ?paginaid=1 zit. Maar hoe doe ik dat met een
Form action?
Ik heb het volgende al geprobeerd.:
Code (php)
1
<form action="<?php echo "".$_SERVER['PHP_SELF']."?paginaid=".$_GET['paginaid']."&subid=".$_GET['subid'].""; ?>" method="post" id="cForm">
Dit zou dus betekenen dat ik in de form action het paginaid meegeef.
& de andere waarden die van belang zijn voor het contactformulier.
Bij mij werkt dat niet, en geeft hij alleen de waardes van het contactformulier
mee (En dus niet de waardes van de pagina). Wat doe ik fout? En hoe zou ik dit kunnen oplossen?
Bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Anne
Je zou het kunnen proberen met action="" (leeg dus), maar weet het niet zeker...
Met $_SERVER["REQUEST_URI"] heb je alles in een.
Heb ik ook geprobeerd;) maar werkt ook niet echt.
anne schreef op 29.09.2008 12:01:
... maar werkt ook niet echt.
En waarom niet?
print_r($_GET);
Daarmee zie je wat er wel en wat er niet goed gaat.
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
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
<form action="<?php echo $_SERVER["REQUEST_URI"]; ?>" method="GET">
<table>
<tr>
<td> Uw naam: </td>
<td align="right"> <input type="text" name="naam" style="width:200px;"/> </td>
</tr>
<tr>
<td> Uw email adres: </td>
<td align="right"> <input type="text" name="email" style="width:200px;"/></td>
</tr>
<tr>
<td> Uw vraag: </td>
</tr>
<tr>
<td colspan="2"> <textarea name="vraag" cols="50" rows="7"></textarea> </td>
</tr>
<tr>
<td> </td>
<td align="right"> <input type="submit" name="submit" value="Verzend bericht" /> </td>
</tr>
</table>
<br /><br />
</form>
<?php
}
?>
<table>
<tr>
<td> Uw naam: </td>
<td align="right"> <input type="text" name="naam" style="width:200px;"/> </td>
</tr>
<tr>
<td> Uw email adres: </td>
<td align="right"> <input type="text" name="email" style="width:200px;"/></td>
</tr>
<tr>
<td> Uw vraag: </td>
</tr>
<tr>
<td colspan="2"> <textarea name="vraag" cols="50" rows="7"></textarea> </td>
</tr>
<tr>
<td> </td>
<td align="right"> <input type="submit" name="submit" value="Verzend bericht" /> </td>
</tr>
</table>
<br /><br />
</form>
<?php
}
?>
Dit is mijn contactformulier. Het wordt op dezelfde pagina afgehandeld.
Maar het script wordt dus geinclude door het CMSsysteem.
advies: method="post" gebruiken... dan worden er ook geen dingen meer toegevoegd aan de url die je opgeeft bij je action van het formulier.
En een GET heeft veel minder capaciteit omdat er een character limit aan zit.
action="" method="post"
Oke, bedankt! Het werkt!;)