Jump to content
shizzzzzzzz

[AJUDA] Mudar codigo

Recommended Posts

shizzzzzzzz

Boa tarde a todos, ja tentei algumas maneiras de mudar isto sem dar erro mas dá sempre.. Gostaria de pedir a vossa ajuda para substituir onde diz "Please enter username" e "Please enter password" só aparecesse uma mensagem como aparece quando o user tenta fazer o login com os dados errados "Username or Password are incorrect" e tambem gostaria que me ajudassem que ao fazer login nao fosse preciso clicar com o rato no botao para fazer submit aos dados, desse para fazer com o ENTER.

Obrigado.

<?php
session_start();
include_once('inc/dbConnect.inc.php');
$message=array();
if(isset($_POST['uname']) && !empty($_POST['uname'])){
$uname=mysql_real_escape_string($_POST['uname']);
}else{
$message[]='Please enter username';
}

if(isset($_POST['password']) && !empty($_POST['password'])){
$password=mysql_real_escape_string($_POST['password']);
}else{
$message[]='Please enter password';
}

$countError=count($message);

if($countError > 0){
 for($i=0;$i<$countError;$i++){
		  echo ucwords($message[$i]).'<br/><br/>';
 }
}else{
$query="select * from user where uname='$uname' and password='$password'";

$res=mysql_query($query);
$checkUser=mysql_num_rows($res);
if($checkUser > 0){
	 $_SESSION['LOGIN_STATUS']=true;
	 $_SESSION['UNAME']=$uname;
	 echo 'correct';
}else{
	 echo ucwords('Username or Password are incorrect');
}
}
?>

Share this post


Link to post
Share on other sites
HappyHippyHippo

o que tu tens é:

se não existe nome utilizador ou a nome utilizador é a string vazio então
 mensagem de erro
se não existe password ou a password é a string vazio então
 mensagem de erro

o que estás a perguntar é alterar para

se não existe nome utilizador ou a nome utilizador é a string vazio ou não existe password ou a password é a string vazio então
 mensagem de erro

fazer submit com enter depende do HTML, mas como estás a fazer essa pergunta é porque isso não deverá acontecer na estrutura que tens actualmente. para isso deverás registar uma função para quando carregas numa tecla sobre os elementos de entrada de dados (input), função essa que case seja o Enter (keycode = 13) envies a informação de autenticação para o servidor. (isto é tudo javascript)


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
rebortec

Basta um if, apaga o segundo e verifica todas as variáveis logo no primeiro if.

Se o utilizador ou password estão vazios ou errados = mensagem de erro.

Edited by rebortec

Share this post


Link to post
Share on other sites
I-NOZex

tudo bem, mas nós aqui damos-te a receita e os engredientes, nao te fazemos o bolo! :thumbsup:

traduz isto para php, nao e dificil, basta saber o minimo de algoritmia (nem precisas de estudar isso sequer, desde que tenhas um pensamento minimamente logico)

Se o utilizador ou password estão vazios ou errados = mensagem de erro.
para isso deverás registar uma função para quando carregas numa tecla sobre os elementos de entrada de dados (input), função essa que case seja o Enter (keycode = 13) envies a informação de autenticação para o servidor. (isto é tudo javascript)
crias uma função, que observa o input no keypress, e se essa key for igual a 13 (correspondente ao enter) entao faz submit do form

se bem que nessa ultima parte, se tiveres o form html como deve de ser, tiveres um input do type submit, nem precisas de js!


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
bioshock

sou novo nisto e nao percebo muito bem :ss

O problema é que nem foste tu que fizeste esse código..o que é mais preocupante.

Share this post


Link to post
Share on other sites
rebortec

Tenta primeiro ler e compreender como algoritmia e dps php. É mais fácil para tu perceberes e para te exprimires sobre o que pretendes

Share this post


Link to post
Share on other sites
I-NOZex

sim, porque ao contrario doque possas achar (pelo menos eu) nao sei TODOS os comandos, funçoes, constantes ou palavras reservadas, nem de php nem de linguagem alguma, ha aquelas coisas base que estas sempre a usar (ciclos de decisao, repetiçao...), mas mesmo que eu nao sabia a extrutura correcta, sei do que preciso... logo é so procurar o codigo/funçao/instruçao que faça o que pretendo... e isso, é tudo uma questao de logica.

as vezes basta pensar em linguagem natural:

SE esta definido utilizador E utilizador nao está vazio ENTAO

ESCREVE "Utilizador correcto"

isto é um pequeno exemplo do que deves fazer mentalmente, ou entao, escrever! para iniciados dá grande ajuda, e nao so iniciados...!


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
HappyHippyHippo

sim, porque ao contrario doque possas achar (pelo menos eu) nao sei TODOS os comandos, funçoes, constantes ou palavras reservadas, nem de php nem de linguagem alguma, ha aquelas coisas base que estas sempre a usar (ciclos de decisao, repetiçao...), mas mesmo que eu nao sabia a extrutura correcta, sei do que preciso... logo é so procurar o codigo/funçao/instruçao que faça o que pretendo... e isso, é tudo uma questao de logica.

as vezes basta pensar em linguagem natural:

isto é um pequeno exemplo do que deves fazer mentalmente, ou entao, escrever! para iniciados dá grande ajuda, e nao so iniciados...!

isso é tudo muito bonito, mas depende sempre de um pormenor que as pessoas esquecem-se sempre.

a lógica depende sempre do paradigma usado.

é certo que a clara maioria das linguagem segue o paradigma imperativo, mas tenta resolver o mesmo problema numa linguagem lógica como ProLog e vais ver onde está os if's e while's e for's ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
I-NOZex

apesar de teres razao, acho que nao vale a pena ir por ai, ate porque duvido que alguem se inicie na programaçao sem ser por uma linguagem imperativa... a menos que seja grande nerd e começe a programar em brainf*ck :D

acho que é mais facil aprender a logica com uma linguagem como php, python, c, pascal ou o que for, doque propriamente essas que teem uma definiçao de logica diferente... alem do mais, aquilo foi um mero exemplo para este caso, falemos de php entao ;)


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
munkbozz

O ciclo for que tens ai está a mostrar todos os valores do array.

Parece ser mais lógico verificar se ambos têm valor, e usar um termo que abrange as duas possibilidades.

E mais, julgo eu que um valor de um POST está sempre definido mas o seu conteúdo poderá ser nulo (inputs em branco) - Poderás apenas usar a função empty sem requerer ao isset.

  
if(!empty($_POST['uname'] && !empty($_POST['password'])) {  
// procedimentos
  } else { if(empty($_POST['uname'])) {  /* username não definido */ } elseif ... 

<?php
session_start();
include_once('inc/dbConnect.inc.php');

if(isset($_POST['uname'])) {

if(empty($_POST['uname']) || empty($_POST['password'])) {
  echo 'Please complete the fields.';
} else {
$uname  = mysql_real_escape_string($_POST['uname']);
$password = mysql_real_escape_string($_POST['password']);

$query = "select * from user where uname='.$uname.' and password='.$password.'";

	$res  = mysql_query($query);
	$checkUser = mysql_num_rows($res);
	if($checkUser > 0) {
		$_SESSION['LOGIN_STATUS'] = true;
		$_SESSION['UNAME']	= $uname;
		echo 'Login successfull.';
	} else {
		echo 'Username or password are incorrect.';
   }
  }
}

?>

Edited by munkbozz
  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.