Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thaiss

Variaveis do flash no PHP

Recommended Posts

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.