PDA

Volledige versie bekijken : Hoe krijg ik vars van Flash contact form in PHP?


maddock
%Europe/Berlin %509 %2005, 13:13
Hallo,

IK maak een contact formulier op mijn site met amfphp en ik verstuur de vars in een LoadVarsObject naar php:

sendContactForm = function(_contactObj) {
this.createNetconnection();
var contactResponder = new Object();
contactResponder.objRef = this;
contactResponder.onResult = function(result) {
this.objRef.broadcastMessage("_sendContactFormResult", result);
};
this.connection.call("Project.sendContactForm", contactResponder, _contactObj);
};


Het probleem is dat ik niet weet hoe ik die vars in PHP moet oproepen , als ik een mail verstuur heb ik enkel een lege email of komt er niks toe. Mail functie PHP is mogelijk op server want een eenvoudig test mailtje werkt.

Dit heb ik in PHP, maar werkt duidelijk niet:

function sendContactForm($email, $message, $topic)
{
$email = $_POST["email"];
$message = $_POST["message"];
$topic = $_POST["topic"];
$to = "info@myaddress.be";
$subject ="Contact form request from myaddress.be";
if( mail($to, $subject, $message))
return "0k";
else return "Error";
}

Dit heb ik in de NetConnection Debugger:

Call-Project.sendContactForm({message:hello, subject:testing, email:info@test.be, topic:request information})

MethodName: "Project.sendContactForm"
Parameters (object #2)
.....[0] (object #3)
..........email: "info@test.be"
..........message: "hello"
..........subject: "testing"
..........topic: "request information"

meagain
%Europe/Berlin %784 %2005, 19:50
Waar las ik dit nog, hier (http://www.sephiroth.it/phpBB/viewtopic.php?t=5692&f=8) ... ? ;)

Werk je met amfphp moet je effe POST-en en GET-ten vergeten.

Je stuurt een Object of Array vanuit flash naar php. PHP behandelt de eerste als een associatieve array en het tweede als een gewone array.

Zie deze (http://www.amfphp.org/wiki/doku.php?id=datatypes&DokuWiki=906c2a2cb8d0b8a9cb5ba65bd80b9e21) link.

In PHP doe je dus ongeveer dit:

function test($result){

$mail = $result['email'];

//of indien je een 'gewone' array stuurde (niet aan te raden)

$mail = $result[0];

//Is het een multidim. array -> $result[0]['email'] ,etc...

}

Mvg,

maddock
%Europe/Berlin %895 %2005, 22:30
Bedankt voor je snell antwoord, ik zit hier al enkel dagen mee vast en nu kom ik eindelijk in de juiste richting. Dit is wat ik aan de hand van je antwoord in elkaar gestoken heb. Is dit een beetje OK?

function sendContactForm($result)
{
$to = "info@myadress.be";
$subject ="Contact form request from mijnadress.be";
$mail = $result['topic'];
$mail = $result['email'];
$mail = $result['subject'];
$mail = $result['message'];
mail($to, $subject, $mail);

}

Als ik nu mijn mail verstuur krijg ik alleen de 'message' en niet de andere: 'topic', 'email', en 'subject' . Hoe kan ik de andere ook in de body van de mail krijgen. Ik ken niet veel van PHP :)

groetjes

meagain
%Europe/Berlin %904 %2005, 22:43
$mail = $result['topic'];
$mail = $result['email'];
$mail = $result['subject'];
$mail = $result['message'];

Jij geeft hier telkens een nieuwe waarde aan $mail. Het uiteindelijke resultaat is dat $mail gelijk is aan $result['message'].

$mail = $result['topic'];
$mail .= $result['email'];
$mail .= $result['subject'];
$mail .= $result['message'];

Nu krijgt $mail er steeds een stukje tekst bij.

Je moet er waarschijnlijk wel wat newlines (\n) of breaks (<br>) tussengooien.

Mvg,

maddock
%Europe/Berlin %921 %2005, 23:06
Cool , nu werkt het perfect!

Hartelijk bedankt voor je hulp.

groetjes