M. Bosma
%Europe/Berlin %363 %2005, 09:42
Ik heb al enige tijd ervaring met Flash. Toch kom ik er niet zelfstandig achter om zelf een simpel invulformulier te maken in een Flash site. Klopt het dat ik eerst alles over PHP, MySQL, en het maken van een database op een server moet weten? Of is er een simpelere manier. Ik heb een boek over PHP en MySQL en actionscripting. Als iemand mij kan vertellen welke ingrediënten ik nodig heb, dan kan ik er hopelijk zelstandig uit komen. Alvast bedankt!
Marcel
walterwzk
%Europe/Berlin %386 %2005, 10:16
Je hebt verschillende invul formuliertjes, als je opzoek bent naar een formulier om een account aan te maken bijvoorbeeld dan is een database erg gemakkelijk. Als je echter gegevens direct terug stuurt naar de gebruiker is een simpel PHP Mail commando voldoende.
Hoe dan ook, je hebt hopelijk kennis op het gebied van variabele binnen flash. Je maakt dus een aantal dynamic-tekst veldjes, en wanneer men 'submit' haal je de waardes hier van op en gebruik je deze binnen een GetURL. Dit is de meest eenvoudige manier, en ontvlucht je methode's als 'Load\Send Vars'
Voorbeeld:
je stelt een string op met je flash-variabelen.. "verwerk.php?naam="+naam+"&leeftijd="+leeftijd
Deze verzend je en je PHP code in het bestand 'verwerk.php' doet de rest
Deze code kan zijn:
<?PHP
//Flash-vars uitlezen
$Naam = $_GET['naam'];
$Leeftijd = $_GET['leeftijd'];
If($Naam==""){
Echo "Je moet een naam ingeven";
}
If($Leeftijd==""){
Echo "Je moet een leeftijd ingeven";
}
//Verbinden met de database
mysql_connect('localhost', 'mysql_user', 'mysql_password') or die("Database probleem");
//Dan de gegevens opslaan in MySQL Database
$Commando = "INSERT INTO MijnTabel (naamveld,leeftijdveld) VALUES ('$Naam','$Leeftijd')"
mysql_query($Commando);
//Gebruiker op de hoogte stellen
Echo "Bedankt voor je informatie!";
?>
Echter is een betere oplossing niet veel moeilijker, je veranderd je code in Flash ActionScript naar:
Gegevens = new LoadVars()
Gegevens.Naam=FlashNaamVeldVar
Gegevens.Leeftijd=FlashLeeftijdVeldVar
Gegevens.sendAndLoad(["verwerk.php",Gegevens,"POST")
Op deze manier verzend je de gegevens zonder dat je flash-formulier uit beeld verdwijnt, en kan je dus ook het bedankje, of foutafhandeling in flash uitwerken. De code van je verwerk.php zou dan moeten zijn:
<?PHP
//Flash-vars uitlezen is niet nodig omdat ze met POST verzonden zijn
//Met een dollar-teken ervoor zijn ze dus direct uit te lezen, let wel op
//hoofdletter-gevoeligheid
If($Naam==""){
Echo "&flash=Je moet een naam ingeven";
}
If($Leeftijd==""){
Echo "&flash=Je moet een leeftijd ingeven";
}
//Verbinden met de database
mysql_connect('localhost', 'mysql_user', 'mysql_password') or die("Database probleem");
//Dan de gegevens opslaan in MySQL Database
$Commando = "INSERT INTO MijnTabel (naamveld,leeftijdveld) VALUES ('$Naam','$Leeftijd')"
mysql_query($Commando);
//Gebruiker op de hoogte stellen
Echo "&flash=Bedankt voor je informatie!";
?>
Je ziet dat er voor alle echo commando's '&flash=' staat, een &-teken is voor Flash een variabele en ik heb hem dus 'flash' genoemd. We kunnen nu dus deze variabele uitlezen in flash en het bericht dat 'verwerk.php' erin heeft gestopt weergeven in Flash. Hoe? Kijk mee:
MijnFlashVeld.text = Gegevens.flash;
Succes!
M. Bosma
%Europe/Berlin %618 %2005, 15:50
Bedankt!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.