thaiss 0 Denunciar post Postado Março 16, 2008 Acredito que minha duvida seja facil pra vcs. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Tenho um esquema de login e senha em php que funciona perfeitamente. Ai tive que fazer um campo de login e senha no flash redirecionando pra esta pagina de login, pra que a mesma fizesse a validação e logasse. Estou redirecionando para o PHP da seguinte maneira: on(press){ getURL("/projetos/general/index.php","_top","POST"); } as minhas variaveis são: loginForm e passwordForm. fiz um teste simples pra ver se as variaveis estavam sendo enviadas do flash e deu certo: <? $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"]; echo $HTTP_POST_VARS['loginForm']; echo $HTTP_POST_VARS['passwordForm']; ?> mas no script q tenho de login não funciona, ele nem exibe as variaveis como se não tivesse recebido. Segue script (me desculpem pelo tamanho): <?php $checkSession = false; require_once('../includes/library.php'); $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"]; if (($HTTP_GET_VARS['logout'] == 'true') and (isset($HTTP_SESSION_VARS['loginSession']))) { $tmpquery1 = 'UPDATE ' . $tableCollab['logs'] . ' SET connected=NULL '; $tmpquery1 .= 'WHERE login="' . $HTTP_SESSION_VARS['loginSession'] . '"'; connectSql($tmpquery1); setcookie('NetOfficeAuthCookie', '', time() - 86400, $base_uri); $HTTP_SESSION_VARS = array(); session_unset(); _sess_mysql_destroy( session_id() ); header('Location: ../general/login.php?msg=logout'); exit; } $match = false; $ssl = false; if ($HTTP_POST_VARS['loginSubmit']) { if ($HTTP_POST_VARS['loginForm'] == '' and $HTTP_POST_VARS['passwordForm'] == '') { $error = $strings['login_username'] . '<br>' . $strings['login_password']; } else if ($HTTP_POST_VARS['loginForm'] == '') { $error = $strings['login_username']; } else if ($HTTP_POST_VARS['passwordForm'] == '') { $error = $strings['login_password']; } else { $auth = 'on'; if ($rememberForm == 'on') { $storePwd = get_password($HTTP_POST_VARS['passwordForm']); $cookie_value = base64_encode(serialize(array('loginForm' => $HTTP_POST_VARS['loginForm'], 'storePwd' => $storePwd, 'loginToken' => md5($HTTP_POST_VARS['loginForm'] . $cryptKey)))); setcookie('NetOfficeAuthCookie', $cookie_value, time()+31536000, $base_uri); } else { setcookie('NetOfficeAuthCookie', '', time()-3600, $base_uri); } } } if ($forcedLogin == 'false') { if (($auth == 'on') and (!$HTTP_POST_VARS['loginForm']) and (!$HTTP_POST_VARS['passwordForm'])) { $auth = 'off'; $error = 'Detecting variables poisoning;-)'; } } $authCookie = unserialize(base64_decode($HTTP_COOKIE_VARS['NetOfficeAuthCookie'])); $loginCookie = $authCookie['loginForm']; $passwordCookie = $authCookie['storePwd']; $tokenCookie = $authCookie['loginToken']; if ($loginCookie != '' && $passwordCookie != '' && $tokenCookie != '') { $auth = 'on'; } if ($auth == 'on') { $loginForm = strip_tags($HTTP_POST_VARS['loginForm']); $passwordForm = strip_tags($HTTP_POST_VARS['passwordForm']); if ($loginCookie != '' && $passwordCookie != '' && $tokenCookie != '') { $loginForm = $loginCookie; } if ($demoMode != true) { if ($ssl) { $tmpquery = "WHERE mem.email_work = '$ssl_email' AND mem.login != 'demo' AND mem.profil != '4'"; } else { $tmpquery = "WHERE mem.login = '$loginForm' AND mem.login != 'demo' AND mem.profil != '4'"; } } else { $tmpquery = "WHERE mem.login = '$loginForm' AND mem.profil != '4'"; } $loginUser = new request(); $loginUser->openMembers($tmpquery); $comptLoginUser = count($loginUser->mem_id); if ($comptLoginUser == '0') { $error = $strings['invalid_login']; setcookie('NetOfficeAuthCookie', '', time()-3600, $base_uri); } else { if ($loginCookie != '' && $passwordCookie != '' && $tokenCookie != '') { if (!$ssl && $passwordCookie != $loginUser->mem_password[0]) { $error = $strings['invalid_login']; setcookie('NetOfficeAuthCookie', '', time()-3600, $base_uri); } else { // password passed, now test token if (!$ssl && $tokenCookie != md5($loginCookie . $cryptKey)) { $error = $strings['invalid_login']; setcookie('NetOfficeAuthCookie', '', time()-3600, $base_uri); } else { $match = true; } } } else { if ((!$ssl) and (!is_password_match($loginForm, $passwordForm, $loginUser->mem_password[0]))) { $error = $strings['invalid_login']; } else { $match = true; } } if ($match == true) { $passwordForm = get_password($passwordForm); $ip = SESS_REMOTE_ADDR; $HTTP_SESSION_VARS['browserSession'] = $HTTP_USER_AGENT; $HTTP_SESSION_VARS['idSession'] = $loginUser->mem_id[0]; $HTTP_SESSION_VARS['timezoneSession'] = $loginUser->mem_timezone[0]; $HTTP_SESSION_VARS['languageSession'] = $languageForm; $HTTP_SESSION_VARS['loginSession'] = $loginForm; $HTTP_SESSION_VARS['passwordSession'] = $passwordForm; $HTTP_SESSION_VARS['nameSession'] = $loginUser->mem_name[0]; $HTTP_SESSION_VARS['ipSession'] = $ip; $HTTP_SESSION_VARS['dateunixSession'] = date('U'); $HTTP_SESSION_VARS['dateSession'] = date('d-m-Y H:i:s'); $HTTP_SESSION_VARS['profilSession'] = $loginUser->mem_profil[0]; $HTTP_SESSION_VARS['logouttimeSession'] = $loginUser->mem_logout_time[0]; $HTTP_SESSION_VARS['loginToken'] = md5($loginForm . $cryptKey); if ($loginForm == 'demo') { $demoSession = true; $HTTP_SESSION_VARS['demoSession'] = $demoSession; } $tmpquery = "WHERE log.login = '$loginForm'"; $registerLog = new request(); $registerLog->openLogs($tmpquery); $comptRegisterLog = count($registerLog->log_id); $session = session_id(); if ($comptRegisterLog == '0') { $tmpquery1 = 'INSERT INTO ' . $tableCollab['logs'] . "(login,password,ip,session,compt,last_visite) VALUES('$loginForm','$passwordForm','$ip','$session','1','$dateheure')"; connectSql($tmpquery1); } else { $HTTP_SESSION_VARS['lastvisiteSession'] = $registerLog->log_last_visite[0]; $increm = $registerLog->log_compt[0] + 1; $tmpquery1 = 'UPDATE ' . $tableCollab['logs'] . " SET ip='$ip',session='$session',compt='$increm',last_visite='$dateheure' WHERE login = '$loginForm'"; connectSql($tmpquery1); } if ($HTTP_GET_VARS['url'] != '') { if ($loginUser->mem_profil[0] == '3') { header('Location: ../' . $HTTP_GET_VARS['url'] . '&updateProject=true'); exit; } else { header('Location: ../' . $HTTP_GET_VARS['url']); exit; } } else if (($loginUser->mem_last_page[0] != '') and ($loginUser->mem_profil[0] != '3')) { header('Location: ../' . $loginUser->mem_last_page[0]); exit; } else { if ($loginUser->mem_profil[0] == '3') { header('Location: ../projects_site/home.php'); exit; } else if ($loginUser->mem_profil[0] == '0') { header('Location: ../administration/admin.php'); exit; } else { header('Location: ../general/home.php'); exit; } } } } } if (($HTTP_GET_VARS['session'] == 'false') and ($HTTP_GET_VARS['url'] == '')) { $error = $strings['session_false']; } if ($HTTP_GET_VARS['logout'] == 'true') { $msg = 'logout'; } if ($demoMode == true) { $loginForm = 'demo'; $passwordForm = 'demo'; } $notLogged = true; $bodyCommand = 'onLoad="document.loginForm.loginForm.focus();"'; require_once('../themes/' . THEME . '/header.php'); $blockPage = new block(); $blockPage->openBreadcrumbs(); $blockPage->itemBreadcrumbs(' '); $blockPage->closeBreadcrumbs(); if ($HTTP_GET_VARS['msg'] != '') { require_once('../includes/messages.php'); $blockPage->messagebox($msgLabel); } $block1 = new block(); $block1->form = 'login'; $block1->openForm($HTTP_SERVER_VARS['REQUEST_URI']); if ($HTTP_GET_VARS['url'] != '') { echo '<input value="' . $HTTP_GET_VARS['url'] . '" type="hidden" name="url">'; } if ($error != '') { $block1->headingError($strings['errors']); $block1->contentError($error); } $block1->heading('NetOffice : ' . $strings['login']); $block1->openContent(); $block1->contentTitle($strings['please_login']); // build lang drop list $selectLanguage = '<select name="languageForm">'; array_multisort($langValue, SORT_ASC, SORT_STRING); foreach ($langValue as $key => $value) { if (file_exists('../languages/lang_' . $key . '.php')) { if ($langDefault == $key) { $selectLanguage .= '<option value="' . $key . '" selected>' . $value . ' (Default)</option>'; } else { $selectLanguage .= '<option value="' . $key . '">' . $value . '</option>'; } } } $selectLanguage .= '</select>'; $block1->contentRow($strings['language'], $selectLanguage); $block1->contentRow('* ' . $strings['user_name'], '<input value="' . $loginForm . '" type="text" name="loginForm">'); $block1->contentRow('* ' . $strings['password'], '<input value="' . $passwordForm . '" type="password" name="passwordForm">'); $block1->contentRow($strings['remember_password'],'<input type="checkbox" name="rememberForm" value="on">'); $block1->contentRow('', '<input type="submit" name="loginSubmit" value="' . $strings['login'] . '"><br><br><br>' . $blockPage->buildLink('../general/sendpassword.php', $strings['forgot_pwd'], in)); $block1->closeContent(); $block1->closeForm(); require_once('../themes/' . THEME . '/footer.php'); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Renan Decarlo 2 Denunciar post Postado Março 16, 2008 Talvez o PHP seja antigo demais e os $_POSTS não funcionem. Tente fazer um teste assim, e veja se as variáveis vão aparecer: echo $_POST["loginForm"]; echo $_POST["passwordForm"]; Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 16, 2008 Oi Renan .. ja fiz este teste nesta pagina nao aparece nada .. mas se faço em outra pagina de testes aparece Compartilhar este post Link para o post Compartilhar em outros sites
Renan Decarlo 2 Denunciar post Postado Março 16, 2008 Oi Renan .. ja fiz este teste nesta pagina nao aparece nada .. mas se faço em outra pagina de testes aparece Então, tente mudar no script essas linhas: $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"];para $loginForm = $HTTP_POST_VARS["loginForm"]; $passwordForm = $HTTP_POST_VARS["passwordForm"]; Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 16, 2008 Também não exibiu nada =\ acredito que seja algo no código que faça com que não busque variaveis de outro canto Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 16, 2008 a foma como você está testando ( errado ) <? $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"]; echo $HTTP_POST_VARS['loginForm']; echo $HTTP_POST_VARS['passwordForm']; ?> forma correta: <?php $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"]; echo 'loginForm: ' . $loginForm; echo '<br />passwordForm : ' . $passwordForm ; ?> também verifique se você criou corretamente os objetos dentro do Flash e instanciou os nomes das variáveis corretamente. sugiro que faça um teste simples usando o método GET on(press){ getURL("/projetos/general/teste.php?teste=ok","_top","GET"); } teste.php <?php echo 'teste: ' . $_GET['teste']; ?> Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 16, 2008 Então .. o problema continua sendo no codigo php pq como eu havia dito antes, fiz um teste em outra pagina qualquer e deu certo .. se deu certo com: <? $loginForm = $_POST["loginForm"]; $passwordForm = $_POST["passwordForm"]; echo $HTTP_POST_VARS['loginForm']; echo $HTTP_POST_VARS['passwordForm']; ?> em outra pagina, pq nesta não esta dando certo ? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 16, 2008 thaiss, desculpe, mas vou insistir utilize a forma padronizada e faça os testes que mencionei acima. faça os testes consistentemente e responda aqui resultado Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 16, 2008 Fiz os testes então conforme você falou. quando envio via get ele envia as variaveis como "undefined" via post, mesmo dessa maneira ta indo em branco Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Março 17, 2008 seria melhor você mostrar o que está fazendo. quando testou pelo metodo get como você fez ? utilizou isso ? getURL("/projetos/general/teste.php?teste=ok","_top","GET"); Compartilhar este post Link para o post Compartilhar em outros sites
rev087 0 Denunciar post Postado Março 17, 2008 A abertura do php com <? ?> não é "errado", só depende de configuração pra funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 17, 2008 hinom .. eu testei exatamente das 2 maneiras que você falou .. com o get a variavel vai como undefined e como post vai em branco. Compartilhar este post Link para o post Compartilhar em outros sites
thaiss 0 Denunciar post Postado Março 17, 2008 Consegui testar ! Inseri a variavel no inicio de todo codigo para ver se ela nao estava se perdendo em algum lugar do codigo e deu certo. ele imprime a variavel normal na tela .. alguem sabe me dizer como fazer para dar o submit na tela ? ou seja .. fazer a validação atraves dessa variavel que vem do flash Compartilhar este post Link para o post Compartilhar em outros sites