1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

redireccionamento

Discussão em 'Web Development' iniciada por Fabriziopt, 21 de Agosto de 2007. (Respostas: 1; Visualizações: 384)

  1. Fabriziopt

    Fabriziopt Power Member

    Boas

    Eu tenho um codigo para log in, mas quando o login nao corresponde nao redirecciona para a pagina que eu quero
    O codigo que pus foi o seguinte
    <?php
    session_start();
    // auth.php
    // start session

    include("connectdb.php");

    if($_POST){
    $_SESSION['nickname']=$_POST["nickname"];
    $_SESSION['password']=$_POST["password"];
    }

    // query
    $result=mysql_query("select * from xboxstage where nickname='" . $_SESSION['nickname'] . "' and password='" . $_SESSION['password'] . "'");

    // número de registos
    $num=mysql_num_rows($result);
    // se não há registos aparece o ecrã de login.
    if($num < 1){
    echo header ("location: index1.html");

    exit;
    }
    ?>

    Abraço
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não fazes "echo header", fazes só "header".
    Usa as tags [php][/php] à volta do código, senão é terrível estar à procura de erros :\


    E já agora, troca o seguinte:
    PHP:
    if($_POST){ 
     
    $_SESSION['nickname']=$_POST["nickname"]; 
     
    $_SESSION['password']=$_POST["password"]; 
     } 
     
    por
    PHP:
    if($_POST){ 
     
    $_SESSION['nickname']=mysql_real_escape_string($_POST["nickname"]); 
     
    $_SESSION['password']=mysql_real_escape_string($_POST["password"]); 
     } 
     
    Para prevenir SQL Injection ;)

    Acho que o código, para ficar melhor, seria o seguinte:

    PHP:
    <?php 
    session_start
    (); 
    // auth.php 
    // start session 

    include("connectdb.php"); 

    if(
    $_POST){ 
    $_SESSION['nickname']=mysql_real_escape_string($_POST["nickname"]); 
     
    $_SESSION['password']=mysql_real_escape_string($_POST["password"]); 
      } 

    // query 
    $result=mysql_query("select * from xboxstage where nickname='" $_SESSION['nickname'] . "' and password='" $_SESSION['password'] . "'"); 

    // número de registos 
    $num=mysql_num_rows($result); 
    // se não há registos aparece o ecrã de login. 
    if($num 1){ 
    header ("Location: index1.html"); // é boa práctica colocares "Location" com L maiúsculo.

    exit; 

    ?> 
     

Partilhar esta Página