Form en mail
Nou heb ik zoiets al wel eens vaker gemaakt. In het php-script haal ik dan alle waardes met POST op en verwerk ze in de mail-functie. In dit script wordt helemaal geen POST gebruikt. De variabelen worden direct verwerkt in mail. Hoe kan het dat de waardes van die variablen beschikbaar zijn zonder dat deze met POST zijn binnengehaald?
Gr,
Robert
ps ik wil best de scripts hier plaatsen, maar ze zijn ontzettend groot
Een formulier submit wordt met POST of met GET verwerkt.
Als jij variablen naar een uitvoer bestand (het PHP script) verzend heb je toch altijd POST of GET? hoe wil je anders je vars zenden? in een sessie ofzo? lijkt me niet erg praktisch
Het php-script begint met een heleboel html, dan komt het stuk php. Hieronder het eerste stuk van het php-script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if (!$MAIL) {
$vz_email = "[email protected]";
} else {
$vz_email = $MAIL;
}
if ($REKENING AND $BANK) {
$MACHTIGING = "ON";
}
if ($KAARTNAAM AND $KAARTNUMMER AND $MAAND AND $JAAR AND $CODE) {
$CREDITCARD = "ON";
?>
if (!$MAIL) {
$vz_email = "[email protected]";
} else {
$vz_email = $MAIL;
}
if ($REKENING AND $BANK) {
$MACHTIGING = "ON";
}
if ($KAARTNAAM AND $KAARTNUMMER AND $MAAND AND $JAAR AND $CODE) {
$CREDITCARD = "ON";
?>
Al die variabelen worden niet opgehaald met GET of POST.
Het bestand zelf heeft de extentie php.htm Kan dat?
Gewijzigd op 01/01/1970 01:00:00 door Robert Hamers
ik gok op globals, dat gaat niet meer werken , en is oud!
Wat zijn globals?
globals is het asbest van het PHP programmeren, het zit nog in teveel scripts maar het is niet goed!
Betekent een global dat een variabale globaal beschikbaar is? Verklaart dit waarom de waardes van het geposte formulier als $variablen aan te roepen zijn?
met globals hoef je geen $_POST['iets'] of $_GET['iets'] te typen maar gewoon $IETS (dacht ik :P )
leroy schreef op 07.12.2006 17:15:
met globals hoef je geen $_POST['iets'] of $_GET['iets'] te typen maar gewoon $IETS (dacht ik :P )
klopt, en dús een beveiligings lek van hier tot tokio!!
Ik heb net dat script geprobeerd (lokaal). Weliswaar zonder mail-functie, maar gewoon met een simpele echo van een aantal variabelen. Maar die komen echt niet door hoor. Ik ben het spoor bijster. Kan het nu wel of niet?
Ik heb dit gevonden in php.ini:
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = On
register_globals stond dus off. Nu hij on staat komen de waardes wel door.
Gewijzigd op 01/01/1970 01:00:00 door Robert Hamers