Ir para conteúdo

POWERED BY:

Arquivado

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

InterPlanet®

Definir uma variavel php com varios valores!

Recommended Posts

O script esta funcionando assim (na página de login, se quiserem conferir, o form esta em http://suporte.ipwh.info e a action do form direciona para a página do script em questao, a login.php):

 

<?php

$usuario = $_POST["user"];

$senha = $_POST["pass"];

 

include "user.php";

 

if ($usuario!=$user[user]){

print ("Usuario Desconhecido!");}

else {

print ("Usuario Registrado = Usuario $usuario");};

?>

 

Como podem perceber, usei o comando include "user.php" e nesta página que esta assim:

 

<?

$user = Array(

Array("user"=>"teste","senha"=>"teste"),

Array("user"=>"maria","senha"=>"123456"),

Array("user"=>"jose","senha"=>"101010")

);

?>

 

Agora o meu problema é: Fazer com que o php entenda que a variável $user (em user.php) tem varios valores (usuarios e suas respectivas senhas) para que este valor seja comparado a variável $usuario (que vem do formulário - $_POST["user"]) e assim validar o usuário que esta efetuando login.

 

Se eu colocar em user.php assim: $user = Array("user"=>"teste","senha"=>"teste"); ou seja, so com um valor, funciona, porem quando coloco varios valores array dentro de uma array como está no código acima em azul não dá certo (retorna sempre como Usuario Desconhecido, ou seja, $usuario é sempre diferente de $user[user])

 

Este é o meu novo problema! Lembrando que a impressão ( print ("Usuario Desconhecido!");}

else {print ("Usuario Registrado = Usuario $usuario");}; ) das variaveis é apenas um teste para ver se o script esta funcionando!

 

Se puderem me ajudar! Agradeço antecipadamente!

 

Há! Se quiserem baixar as páginas com os códigos segue o acesso via ftp:

 

ftp: ftp.ipwh.info

user: data@ipwh.info

senha: data

 

Obrigado e aguardo resposta!

 

Fernando Lima

InterPlanet® WebHost

http://ipwh.info

Planos a partir de R$ 2,50 (50Mb/1Gb)

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa.. pq você naum cria 2 variaveis.. uma pra guardar o login e outra pra guardar as senhas.. dai eles guardam na mesma posição os dados.. tipo assim...

 

$usuario = array("teste","maria","jose");$senha = array("teste","123456","101010");for ($i=0;$i<3;$i++) {	if ($usuario[$i] == "maria" AND $senha[$i] == "123456") {		echo "Usuário conhecido";		} else {			echo "Usuário desconhecido";	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos fazer uma coisa de cada vez, pois se condeguir fazer funcionar com o a variavel user, conseguirei com a a variavel pass depois. No caso coloquei assim:<?php$usuario = $_POST["user"];$senha = $_POST["pass"];include "user.php";for ($i=0;$i<3;$i++) { if ($user[$i] = $usuario) {print ("Usuário conhecido");} else {print ("Usuário desconhecido");}}?>Pq preciso comparar o que vem do form ($usuario) com o que está em user.php* ($user)* O conteudo de user.php está assim:<?$user = array("teste","maria","jose");?>Como voce mandou colocar!Continuando:Esta acontecendo que qualquer usuario esta aparecendo como conhecido (verdadeiro) e o texto usuario conhecido esta aparacendo 3 vezes!E aí, ainda podem me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo eu to achando que o seu PHP esta confundindo o valor da variavel $user com a variavel user que vem no seu form.. tenta mudar lah no seu form o valor do campo pra usuario.. soh pra testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro esta aqui

 

for ($i=0;$i<3;$i++) {

 

if ($user[$i] = $usuario)

 

{print ("Usuário conhecido");}

 

else {print ("Usuário desconhecido");}

 

}

esqueceu de ==

if ($user[$i] == $usuario)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pior eu nem tinha reparado nisso heheheaki nos meus cogdigos vira e mexe eu faço uma dessas tb hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou dar uma ressuscitada neste tópico.

 

O código do Interplanet está correto, o que está errado é a forma como ele criou.

 

Assim o Interplanet criou um Array como outros Arrays dentro. Ao darmos um prinnt_r() a saída será:

 

$user = Array{
[0] = Array{
'user' = 'teste',
'senha' = 'teste';
}
[1] = Array{
'user' = 'maria',
'senha' = '123456';
}
[2] = Array{
'user' = 'jose',
'senha' = '101010';
}
}

Então quando ele colocou o PHP para ver se o usuário existe com o sintaxe “$user[user]” o php não encontra porque o índice “user” não existe dentro da array $user e sim dentro das Arrays “$user[0], $user[1] e $user[2]”;

 

Então o código certo seria:

 

 

<?php

$PostUser = $_POST["user"]; //Pegando o usuário
$PostPass = $_POST["pass"]; //Pegando a senha

Include_once("user.php");

/* Agora vamos criar um laço que irá percorrer todo
o array verificando se o usuario existe */

for($i=0;$i<count($user);$i++){
if($user[$i]['user'] == $PostUser && $user[$i]['pass'] == $PostPass)
$UsuarioExiste = true;
	}else{
$UsuarioExiste = false;
	}
}

If($UsuarioExiste){
	Echo('Senha correta');
}else{
	Echo('Senha incorreta');
}

?>

//Agora é só adaptar

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.