ladytf Posted March 29, 2014 Report Share Posted March 29, 2014 Olá a todos Estou com um problema... o meu ficheiro php dá erro numa linha que esta vazia. O código que tenho inserido na página é este: <?php require_once('Connections/sql_con.php'); //inclui bd session_star(); //inicia sessão if ($_SESSION['logged_in']==true){ //verifica se existe sessão aberta header('.../index.php'); } else{ if((!isset($_GET['user']))||(!isset($_GET['pass']))){ header('../home.php'); } $mysqli=@new MySQLi($hostname_sql_con, $username_sql_con, $password_sql_con, $database_sql_con); //Conecta com bd if (mysqli_connect_errno()){ //verifica conexão printf("Não foi possivel conectar com a Base de Dados: %s", myqli_connect_error()); exit(); } $sql = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"; $result = $mysqli->query($sql); if(is_obect ($result)&&$result->num_rows==1){ $_SESSION['logged_in']=true; header('../index.php'); } else{ header('../insucesso.php'); } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Oficina</title> </head> <body> <center> <img src="img/ttduro.png" width="249" height="182" alt=""/> <form METHOD="GET" name="Entrar"> <label>Username:</label> <input name="user" type="text"><br/> <label>Password:</label> <input name="pass" type="password"><br/> <input name="Entrar" type="submit" id="Entrar" value="Login"> <a href="registo.php"><input name="Registo" type="button" value="Registo"></a> </form> </center> </body> </html> Diz que o erro está na linha 62.... o resultado final aparece em http://lesspaper.site90.net/ para o caso de ajudar olhando para o erro xD Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 29, 2014 Report Share Posted March 29, 2014 este é o código indentado correctamente (e com uma pequena correcção) <?php session_start(); //inicia sessão require_once('Connections/sql_con.php'); //inclui bd if ($_SESSION['logged_in']==true) { //verifica se existe sessão aberta header('.../index.php'); } else { if((!isset($_GET['user'])) || (!isset($_GET['pass']))) { header('../home.php'); } $mysqli = @new MySQLi($hostname_sql_con, $username_sql_con, $password_sql_con, $database_sql_con); //Conecta com bd if (mysqli_connect_errno()) { //verifica conexão printf("Não foi possivel conectar com a Base de Dados: %s", myqli_connect_error()); exit(); } $sql = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"; $result = $mysqli->query($sql); if(is_obect ($result)&&$result->num_rows==1) { $_SESSION['logged_in']=true; header('../index.php'); } else { header('../insucesso.php'); } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Oficina</title> </head> <body> <center> <img src="img/ttduro.png" width="249" height="182" alt=""/> <form METHOD="GET" name="Entrar"> <label>Username:</label> <input name="user" type="text"><br/> <label>Password:</label> <input name="pass" type="password"><br/> <input name="Entrar" type="submit" id="Entrar" value="Login"> <a href="registo.php"><input name="Registo" type="button" value="Registo"></a> </form> </center> </body> </html> não existe nada de estranho ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ladytf Posted March 29, 2014 Author Report Share Posted March 29, 2014 Coloquei o session_start no inicio e corrigi o facto de estar mal escrito... mas o erro mantei-se... existe mais alguma coisa que alterou e nao dei conta?? Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 29, 2014 Report Share Posted March 29, 2014 Coloquei o session_start no inicio e corrigi o facto de estar mal escrito... mas o erro mantei-se... existe mais alguma coisa que alterou e nao dei conta?? não, o problema é claro se olhares para a indentação IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ladytf Posted March 29, 2014 Author Report Share Posted March 29, 2014 peço desculpa mas não tenho bases e estou a tentar aprender um pouco sozinha.... se pudesse ser mais especifico agradecia... sou uma espécie de mix entre noob e newbie XD Link to comment Share on other sites More sharing options...
Rui Carlos Posted March 29, 2014 Report Share Posted March 29, 2014 peço desculpa mas não tenho bases e estou a tentar aprender um pouco sozinha.... se pudesse ser mais especifico agradecia... sou uma espécie de mix entre noob e newbie XD Olha para o início e o fim dos blocos de código (delimitados por {}), e vê se está tudo bem (podes contar os { e os }, para ver se aparecem em igual número). Quando vires que não está tudo bem, vai ao código que o HappyHippyHippo colocou, que deve permitir-te descobrir onde está o problema facilmente. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
ladytf Posted March 29, 2014 Author Report Share Posted March 29, 2014 mas isso eu ja fiz e não encontrei falha......... estou mesmo a sentir-me um burro a olhar para o palácio...... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 29, 2014 Report Share Posted March 29, 2014 vou indentar de uma maneira ligeiramente diferente e contar a abertura/fecho das chavetas : <?php // CONTADOR = 0 session_start(); require_once('Connections/sql_con.php'); if ($_SESSION['logged_in']==true) { // ABERTURA (+1) >> CONTADOR = 1 header('.../index.php'); } // FECHO (-1) >> CONTADOR = 0 else { // ABERTURA (+1) = 1 if((!isset($_GET['user'])) || (!isset($_GET['pass']))) { // ABERTURA (+1) >> CONTADOR = 2 header('../home.php'); } // FECHO (-1) >> CONTADOR = 1 $mysqli = @new MySQLi($hostname_sql_con, $username_sql_con, $password_sql_con, $database_sql_con); if (mysqli_connect_errno()) { // ABERTURA (+1) >> CONTADOR = 2 printf("Não foi possivel conectar com a Base de Dados: %s", myqli_connect_error()); exit(); } // FECHO (-1) >> CONTADOR = 1 $sql = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"; $result = $mysqli->query($sql); if(is_obect ($result)&&$result->num_rows==1) { // ABERTURA (+1) >> CONTADOR = 2 $_SESSION['logged_in']=true; header('../index.php'); } // FECHO (-1) >> CONTADOR = 1 else { // ABERTURA (+1) >> CONTADOR = 2 header('../insucesso.php'); } // FECHO (-1) >> CONTADOR = 1 // ??? CONTADOR = 1 (!= 0) ??? ERRO ... ?> 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ladytf Posted March 30, 2014 Author Report Share Posted March 30, 2014 EISH olhei varias vezes para isso e nao consegui ver XD obrigadão nao estava mesmo a ver a falha Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted March 30, 2014 Report Share Posted March 30, 2014 (edited) EISH olhei varias vezes para isso e nao consegui ver XD obrigadão nao estava mesmo a ver a falha é para isso que se indenta o código, para olhar para uma imensidão de linhas de código e verificar imediatamente erros de scope olha para isto: <?php <?php /*0000*/ session_start(); /*0000*/ require_once('Connections/sql_con.php'); /*0000*/ /*0000*/ if ($_SESSION['logged_in']==true) /*0000*/ { /*00001111*/ header('.../index.php'); /*0000*/ } /*0000*/ else /*0000*/ { /*00001111*/ if((!isset($_GET['user'])) || (!isset($_GET['pass']))) /*00001111*/ { /*000011112222*/ header('../home.php'); /*00001111*/ } /*00001111*/ /*00001111*/ $mysqli = @new MySQLi($hostname_sql_con, $username_sql_con, $password_sql_con, $database_sql_con); /*00001111*/ if (mysqli_connect_errno()) /*00001111*/ { /*000011112222*/ printf("Não foi possivel conectar com a Base de Dados: %s", myqli_connect_error()); /*000011112222*/ exit(); /*00001111*/ } /*00001111*/ /*00001111*/ $sql = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . md5($password) . "'"; /*00001111*/ $result = $mysqli->query($sql); /*00001111*/ /*00001111*/ if(is_obect ($result)&&$result->num_rows==1) /*00001111*/ { /*000011112222*/ $_SESSION['logged_in']=true; /*000011112222*/ header('../index.php'); /*00001111*/ } /*00001111*/ else /*00001111*/ { /*000011112222*/ header('../insucesso.php'); /*00001111*/ } /*00001111 ??? 1 ???? */ ?> ps : espero que depois disso, comeces a indentar o código ... Edited March 30, 2014 by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now