Ir para conteúdo

POWERED BY:

Arquivado

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

KraD

partes de código

Recommended Posts

Pessoal, estou com algumas dúvidas em algumas partes de código que to desenvolvendo e não estou conseguindo sanar.

 

1) Estou fazendo a parte de validação de login dos usuários. O código é o seguinte:

 

session_start(); 
include ('conectar_banco.php');     

    // Chamar a classe para conectar o banco
    $sql = new conectar_banco();
	
	// Conecta-se ao banco de dados usando os valores padrões
    $sql->conecta(); 


// Verifica se houve POST e se o usuário ou a senha é(são) vazio(s)
if (!empty($_POST) AND (empty($_POST['email']) OR empty($_POST['password']))) {	
	$url = "acamps.html";
	?>
	<script language="javascript" type="text/javascript">
			alert("Campos em branco")
			history.back(); 
	</script>
	<?php
    echo "<meta content=\"0; URL=$url\" http-equiv=\"refresh\">";
	exit;
}

$email = $_POST['email'];
$pass = $_POST['password'];
$user_pass = md5($pass);

$sql = mysql_query("SELECT * FROM usuario WHERE email='$email' AND user_pass='$user_pass' AND ativado='1'");
$login_check = mysql_num_rows($sql);
	if ($login_check != 0){
    	$_SESSION['email'] = mysql_fetch_array($sql);
		$nome = mysql_query("SELECT nome FROM usuario WHERE email='$email'");
		$_SESSION['nome'] = $nome;
			
			//$urlpart = "areaparticipante.php";
	   		//echo "<meta content=\"0; URL=$urlpart\" http-equiv=\"refresh\">";
	  		echo $_SESSION['nome'];
     } else {
		?>
		<script language="javascript" type="text/javascript">
			alert("Login ou senha inválida. Verifique o e-mail que você recebeu")
		</script>
		<?php
		$url = "acamps.html";
		echo "<meta content=\"0; URL=$url\" http-equiv=\"refresh\">";
		exit(); 
    }

 

Porém por algum erro não está dando certo. Perceba no código que coloquei para exibir se cria a sessão e exibe na página para mim a "Resource id #5". Utilizei o comando sql alterando as variáveis, retornando o que eu queria.

 

Se puderem dá um auxílio nessa questão.

 

2) Outra questão é referente ao acentos que são gravados no banco de dados. Ao exibir o que é passado ao banco se passa com acentos (utilizando charset utf-8) mas no banco não aceita os acentos. Como Collation do banco já testei utf8_unicode_ci, ISO-8591-1 e latin1_swedish_ci, todos apresentam o mesmo problema. Na verdade, fiquei em dúvida se isso era nessa seção :P

 

Enfim, espero que possam me ajuda nessas questões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, consegui resolver o problema da validação de login.

Só foi necessário alterar essa parte do código:

 

$login_check = mysql_num_rows($sql);
	if ($login_check != 0){
    	$_SESSION['email'] = mysql_fetch_array($sql);
		$nome = mysql_query("SELECT nome FROM usuario WHERE email='$email'");
		$_SESSION['nome'] = $nome;

 

por essa:

 

$login_check = @mysql_fetch_assoc($sql);
	if (! empty($login_check['nome'])){
   		$_SESSION['email'] = $login_check['email'];
		$_SESSION['nome'] = $login_check['nome'];
	

 

Agora to lutando para resolver a questão dos acentos, que ainda não sei o motivo. Se alguém souber como resolver essa questão ai, dá um auxílio ;)

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.