Doorgeven van Form variabelen binnen hetzelfde PHP programma
ik heb een php programma met daarin een form veld. Ik zou de variabelen van dit form veld willen doorgeven aan een php routine die de verdere afhandeling doet, maar zonder dat ik daarvoor een tweede programma dien aan te roepen. M.a.w. de routine die de variabelen dient door te krijgen is geen extern programma, maar een functie binnen hetzelfde php programma.
Mijn vraag is nu of dit mogelijk is en zo ja, hoe gaat dit in zijn werk?
Zo van je namelijk gewoon een formulier op, of $_GET namelijk
ik ben vertrouwd met $_POST of $_GET, maar ik zou dit in dezelfde php routine willen hebben. Tot nu toe heb ik steeds met $_POST een extern programma opgeroepen, maar ik zou nu een funktie binnen het programma
willen oproepen, zoiets als bv
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
function verwerkgegevens() {
$tekst = $_POST['tekstsms'];
// nog meer bewerkingen
}
?>
function verwerkgegevens() {
$tekst = $_POST['tekstsms'];
// nog meer bewerkingen
}
?>
<body>
<div align="center">Zenden van een SMS bericht
</div>
<form method="post" name="sampleform"">
<textarea name="tekstsms" id="tekstsms" cols="30" rows="5" style="width:400px"></textarea>
<div id="sms-status"></div>
</form>
ik dacht me te herinneren dat er zoiets bestond als PHP_SELF of zoiets??
Bovenstaande is dan in de meeste gevallen al voldoende.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
<form action="" method="post" name="sampleform"">
en daarna de verwerkende php functie opgeroepen.
Dit schijnt naar behoren te werken.
Alvast toch bedankt voor de snelle reactie(s)
Groetjes
Dan zul je zien dat dit niet werkt.
variabele die ik ophaal met $_POST kan ik wel degelijk op het scherm zien.. Het schijnt dus wel degelijk te werken..
$_SERVER['PHP_SELF']. Dat is niet het enige: php_self is niet een veilige manier om het naar dezelfde pagina te sturen. Quote van php.net met een voorbeeld:
Quote:
The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar. The __FILE__ constant contains the full path and filename of the current (i.e. included) file. If PHP is running as a command-line processor this variable contains the script name since PHP 4.3.0. Previously it was not available.
Je kan dus beter __FILE__ gebruiken. Hier nog wat andere info.