Volledige versie bekijken : LoadVariablesNum -> PHP
frostsnow
%Europe/Berlin %490 %2005, 12:46
Ik heb een formulier op mijn website hierin staan inputvelden met variabelenamen.
Eens op verzenden word gedrukt, doe ik 't volgende:
loadVariablesNum("MailPHP.php", "0", "POST");
In het PHP document staat 't volgende:
<?
$ToName = "Tobias"
$ToEmail = "tobiasvandenbempt@hotmail.com";
$ToSubject = "Reactie";
$EmailBody = "Verzonden door: $naam\nStraat: $straat nr: $nummer\nStad: $stad\nPostcode: $postcode\nEmail: $email\nLand: $land\nBericht:\n$bericht\n";
mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "From: ".$naam." <".$email.">");
?>
Nu hierbij ontvang ik een mail, dus het PHP document wordt wel degelijk geraadpleegd. Maar al mijn variabelen zitten er niet in, of zijn leeg. Is er iets fout met die LoadVariablesNum dan?
Dank bij voorbaat
Tobias
Flasher
%Europe/Berlin %496 %2005, 12:55
gebruik een LoadVars object (F1) ipv LoadVariablesNum
Dauntless
%Europe/Berlin %497 %2005, 12:56
1) Gebruik het LoadVars() object ipv loadVariablesNum (voor een voorbeeld, zie de helpfiles of bv dit (http://flashfocus.nl/forum/showthread.php?t=4911) topic).
2) Je vraagt je variabelen ook nergens op.
Je moet eerst vanboven bv zetten:
$postcode = $_POST["postcode"];
waarbij 'postcode' een variabele is die je in het LoadVars object opslaat :).
frostsnow
%Europe/Berlin %506 %2005, 13:09
1) Gebruik het LoadVars() object ipv loadVariablesNum (voor een voorbeeld, zie de helpfiles of bv dit (http://flashfocus.nl/forum/showthread.php?t=4911) topic).
2) Je vraagt je variabelen ook nergens op.
Je moet eerst vanboven bv zetten:
$postcode = $_POST["postcode"];
waarbij 'postcode' een variabele is die je in het LoadVars object opslaat :).
Euhm, heb de help bekeken en ook het voorbeeld met de arrays, maar kan er nog niet echt aan uit, hoe die LoadVars precies werkt. Hoe geef je variabelen mee aan die LoadVars?
Sorry, we krijgen Flash AS lessen op school, maar 't is nog maar de 3e week en dit hebben we nog niet echt gezien.
Dauntless
%Europe/Berlin %534 %2005, 13:49
var myArray:Array = new Array();
var myLv:LoadVars = new LoadVars();
myLv.eenVar = "Lalalalala";
myLv.sendAndLoad("mijnPHP.php", myLv, "POST");
En in php heb je dan $_POST['eenVar'] tot je beschikking (die dan dus de waarde "Lalalalala" heeft).
Maar zoek dus op wat dit stukje AS doet, hoe hij werkt, etc. Want in die helpfiles staat zeker genoeg uitleg!
frostsnow
%Europe/Berlin %538 %2005, 13:55
Nu snap ik het denk ik wel. Lijkt fel op classes in vb.NET. Ff uitproberen!
frostsnow
%Europe/Berlin %541 %2005, 13:59
Om een variabel veld te stoppen in die 'eenVar'(in jouw voorbeeld) moet ik gewoon myLV.eenVar = naam; (waarbij naam de variabele naam is van inputtext)?
en in PHP dan
$naam = $_POST['eenVar']
Heb ik 't goed?
Dauntless
%Europe/Berlin %543 %2005, 14:02
In principe wel. Het is alleen geen goede gewoonte om de var property van een textfield te gebruiken.
Gebruik de instance naam en doe dan 'instanceNaam.text' (aanpassen naar situatie dus ;))
[flashpic=inputtekstbalk]
frostsnow
%Europe/Berlin %553 %2005, 14:17
En nog wil het niet werken:
Aangepaste code:
zenden.onRelease = function (){
if(naam!=""&&bedrijf!=""&&voornaam!=""&&email!=""&&nummer!=""&&straat!=""&&stad!=""&&telefoon!=""&&postcode!=""&&land!=""&&bericht!="")
{
var myLv:LoadVars = new LoadVars();
myLv.LvNaam = naam.text;
myLv.Lvvoornaam = voornaam.text;
myLv.Lvbedrijf = bedrijf.text;
myLv.Lvemail = email.text;
myLv.Lvnummer = nummer.text;
myLv.Lvstraat = straat.text;
myLv.Lvstad = stad.text;
myLv.Lvtelefoon = telefoon.text;
myLv.Lvpostcode = postcode.text;
myLv.Lvland = land.text;
myLv.Lvbericht = bericht.text;
myLv.sendAndLoad("MailPHP.php", myLv, "POST");
naam.text= "Verzonden"
bedrijf.text=""
voornaam.text=""
email.text=""
nummer.text=""
straat.text=""
stad.text=""
telefoon.text=""
postcode.text=""
land.text=""
bericht.text=""
}
PHP:
<?
$ToName = "Vandenbempt Tobias";
$ToEmail = "tobiasvandenbempt@hotmail.com";
$ToSubject = "Informatie-aanvraag ";
$voornaam = $_POST('Lvvoornaam');
$bedrijf = $_POST('Lvnaam');
$email = $_POST('Lvemail');
$nummer = $_POST('Lvnummer');
$straat = $_POST('Lvstraat');
$stad = $_POST('Lvstad');
$telefoon = $_POST('Lvtelefoon');
$postcode = $_POST('Lvpostcode');
$land = $_POST('Lvland');
$bericht = $_POST('Lvbericht');
$naam = $_POST('Lvnaam');
$EmailBody = "Verzonden door:$naam\n$voornaam\n$bedrijf\nStraat:$straat nr:$nummer\nStad:$stad\nPostcode:$postcode\nEmail: $email\nLand:$land\nBericht:\n$bericht\n";
mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "From: ".$naam." <".$email.">");
?>
Voel me Noob :(
Dauntless
%Europe/Berlin %556 %2005, 14:21
Gewoon logisch nadenken...
Kijk, je slaat allemaal variabelen op in het LoadVars object in de vorm van lvNaam (oid). Waarom roep je ze dan op met 'naam' en niet met 'lvNaam' ? De naam van de var is immers lvNaam. Ofwel pas je het AS aan ofwel het PHP.
frostsnow
%Europe/Berlin %557 %2005, 14:22
Ja sorry, had 't ook nog aangepast, verandert niets...
Dauntless
%Europe/Berlin %559 %2005, 14:25
Wel, nu lees je niet wat ik zeg ;).
Kijk nog eens goed naar hoe je die variabelen in php moet ontvangen, en vergelijk het eens met jouw php script :).
frostsnow
%Europe/Berlin %562 %2005, 14:29
Lol ^^ .. sorry :)
Thx 't werkt nu.
frostsnow
%Europe/Berlin %835 %2005, 20:02
Hey, dit formulier werkt nog steeds, maar ik heb een bug ontdekt. In het "bericht veld" kan de gebruiker commentaar nalaten, maar als deze hierin een 'enter' gebruikt, ontvang ik 't bericht niet meer? Kunnen die variabelen dit niet aan ? Kan deze fout niet opgevangen worden?
Dauntless
%Europe/Berlin %837 %2005, 20:06
Wauw, da's vreemd :D 'k Kan niet direct iets bedenken... Kan je je .fla even online zetten ? (Tenzij iemand anders het zo weet :)).
frostsnow
%Europe/Berlin %844 %2005, 20:16
Download .rar (http://frost-design.be/downloads/formulier.rar)
.fla
.php
Aub, hopelijk vind je iets.
Greetz
Flasher
%Europe/Berlin %863 %2005, 20:43
probeer een escape() om alle niet-alphanummerieke tekens te veranderen in een %xx hexadecimaal getal
PS hiermee win je scrabble;)
frostsnow
%Europe/Berlin %864 %2005, 20:44
probeer een escape() om alle niet-alphanummerieke tekens te veranderen in een %xx hexadecimaal getal
PS hiermee win je scrabble;)
Waar moet ik die escape() dan doen ? in de PHP of in 't AS? en waar precies?
Flasher
%Europe/Berlin %702 %2005, 16:51
myLv.Lvbericht = escape(bericht.text);
frostsnow
%Europe/Berlin %861 %2005, 20:41
myLv.Lvbericht = escape(bericht.text);
Ik krijg wel email van alle gegevens maar het 'bericht'veld is leeg van zodra er een enter in word gebruikt. Echt vervelend. :(
frostsnow
%Europe/Berlin %865 %2005, 20:46
Nevermind problem solved *close topic*
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.