Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas :rolleyes:
Estou tentando montar um registro em Flash que envia os dados ao PHP e este retorna ao Flash com uma mensagem dependendo do resultado identificado pelo PHP, no entanto, ele não está enviando os dados ao PHP, pelo menos eu acho que não, pois não há cadastro em meu database.. :o Seguem meus codes:
>
stop();
var loginMsg:String;
var passMsg:String;
var passMsg2:String;
var mailMsg:String;
function hideTexts() {
login_txt.text = "";
pass_txt.text = "";
pass2_txt.text = "";
mail_txt.text = "";
}
function hideLegends() {
login_r._visible = false;
login_w._visible = false;
pass_r._visible = false;
pass_w._visible = false;
pass2_r._visible = false;
pass2_w._visible = false;
mail_r._visible = false;
mail_w._visible = false;
login_e.text = "";
pass_e.text = "";
pass2_e.text = "";
mail_e.text = "";
}
function init() {
// Set Tab ordering
login_txt.tabIndex = 1;
pass_txt.tabIndex = 2;
pass2_txt.tabIndex = 3;
mail_txt.tabIndex = 4;
// Trigger the errors
error1 = 1;
error2 = 1;
error3 = 1;
error4 = 1;
formSuccess = 1;
}
function checkForm() {
hideLegends();
loginSpace = login_txt.text.lastIndexOf(" ");
passSpace = pass_txt.text.lastIndexOf(" ");
pass2Space = pass2_txt.text.lastIndexOf(" ");
mailSpace = mail_txt.text.lastIndexOf(" ");
if (login_txt.text == "") {
error1 = 1;
loginMsg = "Preencha o Login";
login_w._visible = true;
} else if (loginSpace>=0) {
error1 = 1;
loginMsg = "Sem espaços";
login_w._visible = true;
} else if (login_txt.length<4) {
error1 = 1;
loginMsg = "Mínimo de 4 caracteres";
login_w._visible = true;
} else {
error1 = 0;
loginMsg = "";
login_r._visible = true;
}
if (pass_txt.text == "") {
error2 = 1;
passMsg = "Preencha a Senha";
pass_w._visible = true;
} else if (passSpace>=0) {
error2 = 1;
passMsg = "Sem espaços";
pass_w._visible = true;
} else {
error2 = 0;
passMsg = "";
pass_r._visible = true;
}
if (pass2_txt.text == "") {
error3 = 1;
passMsg2 = "Preencha a repetição";
pass2_w._visible = true;
} else if (pass2Space>=0) {
error3 = 1;
passMsg2 = "Sem espaços";
pass2_w._visible = true;
} else if (pass2_txt.text != pass_txt.text) {
error3 = 1;
passMsg2 = "Senhas diferentes";
pass2_w._visible = true;
} else {
error3 = 0;
passMsg2 = "";
pass2_r._visible = true;
}
whereAT = mail_txt.text.lastIndexOf("@");
whereDOT = mail_txt.text.lastIndexOf(".");
if (mail_txt.text == "" || mail_txt.text == "Preencha o E-mail") {
error4 = 1;
mailMsg = "Preencha o E-mail";
mail_w._visible = true;
} else if (mailSpace>=0) {
error4 = 1;
mailMsg = "Sem espaços";
mail_w._visible = true;
} else if (whereAT>=whereDOT || whereAT<=0 || whereDOT<=0) {
error4 = 1;
mailMsg = "E-mail Inválido";
mail_w._visible = true;
} else {
error4 = 0;
mailMsg = "";
mail_r._visible = true;
}
if (error1 == 0 && error2 == 0 && error3 == 0 && error4 == 0) {
formSuccess = 0;
}
}
function checkAccount() {
if (formSuccess == 0) {
var getXML:XML = new XML();
getXML.load("register/register.php");
getXML.onLoad = function(success) {
if (success) {
count = getXML.firstChild.firstChild.nodeValue;
if (count>0) {
loginMsg = "Login existente";
login_w._visible = true;
login_r._visible = false;
} else {
loginMsg = "";
login_w._visible = false;
login_r._visible = true;
}
} else {
trace("Cannot load XML");
}
};
}
}
function setText() {
login_e.text = loginMsg;
pass_e.text = passMsg;
pass2_e.text = passMsg2;
mail_e.text = mailMsg;
}
function submit() {
checkForm();
checkAccount();
setText();
if (formSuccess == 0) {
var sendRegisterVars:LoadVars = new LoadVars();
sendRegisterVars.login_txt = login_txt.text;
sendRegisterVars.pass_txt = pass_txt.text;
sendRegisterVars.mail_txt = mail_txt.text;
sendRegisterVars.sendAndLoad("register/register.php",sendRegisterVars,"POST");
formSuccess = 1;
}
}
init();
submit_btn.onRelease = function() {
submit();
};
<?php$host = "";
$login = "";
$pass = "";
$db = "";
mysql_connect($host,$login,$pass);
mysql_select_db($db);
function code($pass) {
return base64_encode(pack('H*', sha1($pass)));
}
$login = $_POST["login_txt"]);
$pass = code($_POST["pass_txt"]);
$mail = $_POST["mail_txt"];
$date = time();
$sql=mysql_query("SELECT * FROM accounts WHERE login='".$login."'");
while($a=mysql_num_rows($sql)){
if($a<1) {
mysql_query("INSERT INTO accounts (login, password, access_level, register_date, email) VALUES ('".$login."', '".$pass."', '0', '".$date."', '".$mail."')");
break;
}
}
header( "Content-type: text/xml; chatset=UTF-8" );
printf( '<?xml version="1.0" encoding="utf-8"?><count>%s</count>', $a );
die;
?>
Bom, pesquisei no fórum e encontrei um post onde vi que era melhor usar o método de XML, então fiz como no post e adicionei o XML dentro do PHP, mas não surtiu efeito.
Eu quero que ele envie os dados do login_txt, pass_txt & mail_txt para o PHP, então o PHP verifica se o login já existe no database e retorna um valor no método de xml (<count>) então o Flash analiza o resultado e define a mensagem (loginMsg) de erro que deverá aparecer ou se deverá proceder para a mensagem de sucesso..
Espero que tenham conseguido entender meu problema, obrigado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Carregando comentários...