PDA

Volledige versie bekijken : Hulp met login a.u.b.


Alexander
%Europe/Berlin %635 %2005, 16:14
Ik ben bezig met een login samen met iemand anders, het werkt via php en dat werkt prima alleen in flash wil het nog niet lukken.

Dit is het script van de button:
on (release) {
php = new LoadVars();
php.gb = _root.gb;
php.ww = _root.ww;
php.onLoad = function() {
_root.pro = this.login+this.error;
if (this.login == "1") {
_root.pro = "oke";
} else {
if (this.error == "0") {
_root.error = "Fout wachtwoord";
} else {
_root.error = "Foute gebruikersnaam";
}
}
};
php.sendAndLoad("http://www.webahats.nl/tto/gebruikers/login.php");
}

Flasher
%Europe/Berlin %644 %2005, 16:28
je moet bij sendAndLoad ook een target object opgeven waarin de ingeladen variabelen komen:

php.sendAndLoad("http://www.webahats.nl/tto/gebruikers/login.php", php ,"POST");

Dat target object kan gewoon hetzelfde object zijn

Foofah
%Europe/Berlin %612 %2005, 15:42
Ik heb een vergelijkbaar probleem denk ik. Ik ben al de hele dag op zoek naar een oplossing en het duurt niet lang meer of ze kunnen me afvoeren in een dwangbuis. Ik heb al meerdere opties bekeken en getest... zonder resultaat. Het gaat om het volgende:

Ik wil een check uitvoeren om te kijken of een gebruiker bestaat in de online database. Hiervoor gebruik ik Flash (uiteraard), PHP en MySQL. Ik heb in de Flash een login (email) en wachtwoord (passw) veld en een knop die alles moet gaan versturen.

Mijn PHP code, deze code is alleen om te testen of de POST uberhaupt aankomt:

$pass = $_POST['passw'];$mail = $_POST['email'];
echo $pass." / ".$mail;

$sql = mysql_query("SELECT passw, email FROM players WHERE passw='".$pass."' AND email='".$mail."'");
$count = mysql_num_rows($sql);
echo "&lCheck=".$count;

Deze code is vrij standaard dus, en zou bijvoorbeeld: w8woord / mijn@mail.nl aan moeten geven na het verzenden. Dit gebeurd dus niet...

Mijn AS code:

on (release) {
var email = _root.email; var passw = _root.passw;
getURL("http://squad.dof-games.net/inc/linx.php?g=2", "POST");
}


Uiteindelijk wil ik dus dat als het klopt, de waarde van lCheck 1 word, en ik deze als variabele in de Flash op kan halen en daarmee een goed of fout status aan kan geven. Maar ja, als het niet werkt... :( Kan iemand mij hierin helpen? Alvast bedankt..

Dauntless
%Europe/Berlin %613 %2005, 15:43
Foofah , gebruik het LoadVars object zoals hierboven. Ik je handleiding wordt ook veel uitleg gegeven.

Foofah
%Europe/Berlin %615 %2005, 15:46
Al geprobeerd, werkt ook niet. Daarom dit simpele voorbeeld om te testen. Op de een of andere manier POST Flash niet. Ik krijg na de getURL:

"/ &lCheck=0"

terug. Hij laat de variabelen op de pagina niet zien.

Dauntless
%Europe/Berlin %620 %2005, 15:52
Wel, de methode die je nu gebruikt gaat zowieso niet werken... Laat eens zien wat je had met LoadVars.

Foofah
%Europe/Berlin %622 %2005, 15:55
on (release) {
// var email = email; var passw = passw;
// getURL("http://squad.dof-games.net/inc/linx.php?g=2", "POST");
php = new LoadVars();
php.email = _root.email;
php.passw = _root.passw;
php.sendAndLoad("http://squad.dof-games.net/inc/linx.php?g=2", php, "POST");
gotoAndPlay(5);
}


Frame 5:

php.onLoad = function() {
lCheck = php.lCheck;
}

Dauntless
%Europe/Berlin %625 %2005, 16:00
on (release) {
php = new LoadVars();
php.email = _root.email;
php.passw = _root.passw;
php.onLoad = onLoadHandler;
php.sendAndLoad("http://squad.dof-games.net/inc/linx.php?g=2", php, "POST");
}


op dezelfde frame als waar je button staat:

function onLoadHandler(s)
{
if(s){
trace("gelukt");
//hier kan je de variabelen opvragen die je terugkrijgt van php
gotoAndStop(5);
} else {
trace("fout bij het laden");
}
}

Foofah
%Europe/Berlin %628 %2005, 16:04
Nu doet ie niks meer. Buttontje werkt niet, we gaan niet naar frame 5. :S Ik word gek...

Foofah
%Europe/Berlin %632 %2005, 16:11
Ow wacht, nee, mijn fout. Hij werkt wel, MAAR, lCheck geeft 0 terug. Hij zou 1 moeten teruggeven omdat ik een juiste email en wachtwoord opgeef. Dus ik weet nu nog steeds niet of hij POST. Dat de link verbinding maakte was al bekend dmv die getURL. *zucht* 't is wat :)

Dauntless
%Europe/Berlin %636 %2005, 16:16
Kan ook aan je php liggen hé ... Kijk of je php werkt dmv een simpele html form.

Foofah
%Europe/Berlin %640 %2005, 16:22
Dit zou moeten werken:

$pass = $_POST['passw']; $mail = $_POST['email'];
echo $mail." / ".$pass;

Simpeler kan niet. Ik heb ook geprobeerd om het met $_GET te doen, werkt ook niet vanuit Actionscript. Doe je dit als URL, dan werkt ie gewoon;
http://squad.dof-games.net/inc/linx.php?g=2&passw=test&email=test2

Hier geeft hij beide waardes terug. In Flash krijg ik niets;
" / &lCheck=0 "

Dus het ligt toch echt aan de Flash AS syntax.

Dauntless
%Europe/Berlin %656 %2005, 16:45
Zet je bestanden eens ff online...

Foofah
%Europe/Berlin %660 %2005, 16:50
Mjah, eerst ff een potje flight simmen. Ik heb echt ff genoeg van Flash atm :) As ik geland ben knal ik em wel op mijn server.

Foofah
%Europe/Berlin %548 %2005, 14:09
http://members.home.nl/ehrhardt01/linX.rar

Dauntless
%Europe/Berlin %651 %2005, 16:37
Kan je misschien ook even zeggen met welke gegevens hij wel moet werken?

Roenes
%Europe/Berlin %654 %2005, 16:43
Volgens mij ligt het aan de manier van je gegevens echoen naar flash toe. Maak eens van je echo regel dit:
echo "&mail=$mail&&pass=$pass&";en als dat niet werkt:echo "&mail=" . $mail . "&&pass=" . $pass "&";Je vars zijn in je onLoad van de LoadVars gewoon bekend als mail en pass :)

Foofah
%Europe/Berlin %660 %2005, 16:51
Nou nee, het gaat de andere kant op. Dat domme ding wil niet naar een PHP pagina posten. De gegevens die die door moet sturen zijn email en passw in een POST geturl, of, wat straks dan moet als het werkt, een sendAndLoad POST. Er zijn 2 input velden in flash, variable: email & variable: passw. Een knoppie maakt dan deze variabelen actief en getURL'd de hele mikmak naar het PHP gedeelte van dit verhaal. Het PHP gedeelte is niks bijzonder gewoon een $blabla = $_POST['email']; $blabla2 = $_POST['pass']; Die echo regel werkt wel btw, dit heb ik zoooooo vaak gedaan dat dat geen probleem is.

Roenes
%Europe/Berlin %668 %2005, 17:02
Sorry, ik heb te vluchtig gekeken :P Ik dacht dat het de andere kant op was :)

Roenes
%Europe/Berlin %683 %2005, 17:24
Ik heb ff voor je zitten testen. Jij gebruikt var namen bij de tekstvelden. Hierdoor krijg je een textformat in je vars die je naar php stuurt. Daarom flipt de boel. Maak van deze var namen instancenamen en verander dan de code op je button naar dit:
on (release) {
php = new LoadVars();
php.email = email.text;
php.passw = passw.text;
php.onLoad = function(s)
{
if(s)
{
trace("gegevens geladen");
trace(this.lCheck);
trace(this.email);
trace(this.passw);
}
else trace("Fout in laden");
}
php.sendAndLoad("http://foof.dyndns.org/games/squad2.1/inc/linx.php?g=2", php, "GET");
}Ik krijg netjes de juiste inlognaam en passw en de waarde van lCheck. :) de code die op de layer datalink staat moet je ook wegknikkeren anders flippen ze met elkaar :) Kijk nu nog maar eens of het werkt (met test en test2 krijg ik steeds 0 terug, maar je weet zelf wel wat de juiste waardes zijn :))

Foofah
%Europe/Berlin %689 %2005, 17:33
Jongens, laat maar. Ik geef dit projektje op. Ik kreeg nog steeds 0 als output. Ik maak wel een nieuwe online browser game from scratch. Alles lekker fresh en leeg en rustig testen. :| *stressed*

Roenes
%Europe/Berlin %691 %2005, 17:35
Maar die 0 krijg je ook in je link die je direct in de browser uitleest. :) Is je database wel gevuld met waardes? Want volgens mij heb je het principe nu wel werkend :)

Foofah
%Europe/Berlin %703 %2005, 17:52
Nope, ik heb mijn inloggegevens gebruikt, dus het zou een 1 moeten worden. Helaas. Ik heb een naslag werk over Flash MX en AS, die ga ik eens helemaal doorlezen. Daar staat niet in hoe mijn probleem opgelost moet worden, maar wellicht helpt het mij het allemaal een beetje te snappen.

Het rare is, met een andere Flashje die naar mijn Virtual Airline linked en gegevens ophaalt, werkt het allemaal wel. Al maakt dat ding alleen gebruik van GET variabelen.
http://members.home.nl/ehrhardt01/NedairFT.rar

En als ik het eenmaal onder de knie heb, dan heb ik grote plannen!!! Wheeee! :D