Doorgeven van Form variabelen binnen hetzelfde PHP programma

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gino Van Nauw

Gino Van Nauw

14/01/2010 08:14:00
Quote Anchor link
Goede morgen iedereen,
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?
 
PHP hulp

PHP hulp

02/05/2024 12:15:12
 
Milo

Milo

14/01/2010 08:58:00
Quote Anchor link
Wat dacht je van gewoon van de $_POST?
Zo van je namelijk gewoon een formulier op, of $_GET namelijk
 
Gino Van Nauw

Gino Van Nauw

14/01/2010 09:21:00
Quote Anchor link
Hallo Milo,
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

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>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
verwerkgegevens();
?>


ik dacht me te herinneren dat er zoiets bestond als PHP_SELF of zoiets??
 
Joren de Wit

Joren de Wit

14/01/2010 10:57:00
Quote Anchor link
Je kunt de action van je formulier toch naar dezelfde pagina laten verwijzen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<form action=""> Of:
<form action="#">

Bovenstaande is dan in de meeste gevallen al voldoende.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Gino Van Nauw

Gino Van Nauw

14/01/2010 12:14:00
Quote Anchor link
Ik heb nu gebruik gemaakt van
<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $PHP_SELF;?>
" 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
 
- SanThe -

- SanThe -

14/01/2010 12:18:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>


Dan zul je zien dat dit niet werkt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $PHP_SELF;?>
 
Gino Van Nauw

Gino Van Nauw

14/01/2010 12:38:00
Quote Anchor link
Heb ik even aangepast en in mijn script gezet. Ik krijg geen fouten en de
variabele die ik ophaal met $_POST kan ik wel degelijk op het scherm zien.. Het schijnt dus wel degelijk te werken..
 
SilverWolf NL

SilverWolf NL

14/01/2010 12:57:00
Quote Anchor link
Dat maakt niets uit, want het is fout. PHP_SELF moet je aanroepen met server:
$_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.
 



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.