webForumDet fria alternativet

Skicka variabler till php

8 svar · 611 visningar · startad av pakmannen

pakmannenMedlem sedan dec. 2002227 inlägg
#1

Hej!

Försöker skicka variabler från flash till ett php dokument för att skicka iväg ett mail, men det vill inte fungera.

I flash har jag tre input textboxar, med satta variablenamn och allting ligger inuti ett movieclip som heter "form". Sedan så har jag en knapp med följande kod:

on(release) {
	form.loadVariables("email.php", "POST")
}

email.php ligger i samma mapp som swf:en på servern. När jag klickar på knappen händer ingenting, förutom att statusraden säger: "waiting for <server>...", vilket står kvar i flera minuter innan det försvinner.

Detta får mig ju att anta att det är något fel i själva överföringen mellan flash och php. Var kan felet ligga? (Det har ingenting med php'n att göra, då den inte kör någon kod alls från phpfilen)

pakmannenMedlem sedan dec. 2002227 inlägg
#2

Jag har nu testad dessa båda färdigskrivna script (laddat ner exempelfilerna) men inget av dom funkar:
http://www.kirupa.com/developer/actionscript/flash_php_email.htm
http://www.sephiroth.it/tutorials/flashPHP/email/index.php

patalexanderMedlem sedan nov. 20057 inlägg
#3

Hej,
måste dina textfält ligga i en mc?
Eventuellt ta bort den och definiera:
dataSender = New LoadVars ();
dataReceiver = New LoadVars (); i lämplig frame
//dataReceiver här är den variabel som fångar det som kommer tillbaka från din php (om du tex vill kunna visa status om mailet sänts eller inte).

sätt sedan för din knapp
on (release){
dataSender.name = name_txt.text;
dataSender.email = email_txt.text;
dataSender.subject = subject_txt.text;
dataSender.message = message_txt.text;
dataSender.sendAndLoad("mail.php", dataReceiver, "POST");

//och om du som sagt vill presentera status:
dataReceiver.onLoad = function(success) {
response_txt.text = "Eposten har skickats."
}
}//flyttade hakparentesen hit, sorry gick lite fort...
Detta ska funka.

/Patalexander

pakmannen skrev:

Hej!

Försöker skicka variabler från flash till ett php dokument för att skicka iväg ett mail, men det vill inte fungera.

I flash har jag tre input textboxar, med satta variablenamn och allting ligger inuti ett movieclip som heter "form". Sedan så har jag en knapp med följande kod:

on(release) {
	form.loadVariables("email.php", "POST")
}

email.php ligger i samma mapp som swf:en på servern. När jag klickar på knappen händer ingenting, förutom att statusraden säger: "waiting for <server>...", vilket står kvar i flera minuter innan det försvinner.

Detta får mig ju att anta att det är något fel i själva överföringen mellan flash och php. Var kan felet ligga? (Det har ingenting med php'n att göra, då den inte kör någon kod alls från phpfilen)

pakmannenMedlem sedan dec. 2002227 inlägg
#4

Exakt samma sak händer, servern bara väntar och väntar utan att komma någonstans!

patalexanderMedlem sedan nov. 20057 inlägg
#5

Hur ser din php ut?

jag har använt följande med framgång:
<?php

$name=utf8_decode($HTTP_POST_VARS['name']);
$email=utf8_decode($HTTP_POST_VARS['email']);
$subject=utf8_decode($HTTP_POST_VARS['subject']);
$message=utf8_decode($HTTP_POST_VARS['message']);
$toaddress='dinepost@dindomän.toppdomän';
$returnAddr="From: $name <$email>\nX-Mailer: PHP/".phpversion();

mail($toaddress,$subject,$message,$returnAddr);
echo '0';
?>

/patalexander

pakmannen skrev:

Exakt samma sak händer, servern bara väntar och väntar utan att komma någonstans!

pakmannenMedlem sedan dec. 2002227 inlägg
#6

Körde din php kod, men med samma resultat, den bara väntar..

Jag antog att det måste ha något med servern att göra, så jag testade att slänga upp det på en annan server och visst, det fungerade! Mailet skickas, men det konstiga nu är att efter det gjorts så säger statusraden: "Transferring data from <server>" istället, och fastnar där.. :) Måste jag ta emot datan i flashfilen för att det inte ska krångla?

Och, någon som vet varför det inte funkar på en server men på en annan?

patalexanderMedlem sedan nov. 20057 inlägg
#7

Förutsätter att du har php-stöd på den första servern?
annars vete katten varför det blir så...

//har även kommenterat lite i ditt svar nedan.

pakmannen skrev:

Körde din php kod, men med samma resultat, den bara väntar..

Jag antog att det måste ha något med servern att göra, så jag testade att slänga upp det på en annan server och visst, det fungerade! Mailet skickas, men det konstiga nu är att efter det gjorts så säger statusraden: "Transferring data from <server>" istället, och fastnar där.. :) Måste jag ta emot datan i flashfilen för att det inte ska krångla?

//patalexander: om du inte tar bort echo-raden i ditt phpscript, så ja.
och i flashfilen ta bort:
dataReceiver.onLoad = function(success) {
response_txt.text = "Eposten har skickats."
}
och om du fortfarande vill posta ngt till avsändaren, ersätt med:
response_txt.text = "Eposten har skickats." efter att du kört din sendandloadgrej. Kan dock ge fel besked till avsändaren (om inte mailet skickades av ngn anledning).

Och, någon som vet varför det inte funkar på en server men på en annan?

pakmannenMedlem sedan dec. 2002227 inlägg
#8

Okej, det var nog inte servern utan det faktum att jag skrev in den direkta url:en till sfw:en när det fungerade. Alltså i adressfältet skrev jag adressen till swf-filen och körde det så. Och då funkar det. Men när jag länkar in sfw-filen på själva hemsidan med:

<object type="application/x-shockwave-flash" data="flash/dispWin05.swf" width="750" height="328">
	<param name="movie" value="flash/dispWin05.swf" />
	<param name="loop" value="false" />
	<param name="menu" value="false" />
</object>

så fungerar det inte. Någon idé?

pakmannenMedlem sedan dec. 2002227 inlägg
#9

Herregud, jag är så korkad! Argh!!
Alltihop berodde på något så dumt som att filerna låg i fel mappar. När swf filen inkluderas i ett html-dokument så blir ju platsen där det dokumentet ligger även flash filens "rotmapp". Så när flashfilen sedan pekade på sendmail.php så låg ju den i mappen där swf filen låg, vilket inte var samma mapp som där html filen fanns...

Ååååå så frustrerad man kan bli ibland! :P

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)