khots 0 Denunciar post Postado Junho 1, 2005 Olá pessoal o codigo é o seguinte :$sql = mysql_query("SELECT * FROM CLIENTES WHERE LOGIN='$usuario' AND SENHA='$senha'");$num = mysql_num_rows($sql);if($num > 0){ $ok = true; echo "existente"; header("Location: admin.php");}else{ $ok = false; echo "Inesistente"; echo $usuario; echo $senha; header("Location: index.php");}ob_end_flush();mysql_close()?>o erro é q quando o usuario e senha estão corretos ele n le o codigo se tiver o header, tipo se tiver o header ele vai pro else mesmo estando correto, agora se eu tiro a linha do header ele lê normal a condição if...se algu´´em puder ajudar eu agradeço muito ..vlw aew Compartilhar este post Link para o post Compartilhar em outros sites
Perfect Lion 10 Denunciar post Postado Junho 1, 2005 O problema pode ser no proprio header... toda vez que você usa o paramento header ele tem que vir antes de qualquer html... ex. header("Location: index.php");<html><body>blabla...você está usando esses comandos antes do html???flw.. PHP [*] [*]$sql = mysql_query("SELECT * FROM CLIENTES WHERE LOGIN='$usuario' AND SENHA='$senha'"); [*] [*]$num = mysql_num_rows($sql); [*] [*]if($num != 0){ [*]$ok = true; [*]echo "existente"; [*]header("Location: admin.php"); // toda vez que você usa o paramento header ele tem que vir antes de qualquer html... [*]}else{ [*]$ok = false; [*]echo "Inesistente"; [*]echo $usuario; [*]echo $senha; [*]header("Location: index.php");// toda vez que você usa o paramento header ele tem que vir antes de qualquer html... [*] [*]} [*] [*]ob_end_flush(); [*]mysql_close() [*]?> [*] Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 1, 2005 Uma pergunta, o comando header naum tem que vir antes de qualquer comando de escrita tb??? Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Junho 1, 2005 o header tem q vir antes de "qualquer comando de envio de dados ao cliente", porque depois q o cabeçalho é enviado ao cliente, naum tem como voltar atrás, por isso dá o erro "cannot modify header information", q significa "impossível modificar as informações do cabeçalho". o Header informa o q "virá". 1 - if($num > 0) 2 - { 3 - $ok = true; 4 - echo "existente"; // aqui você mandar imprimir 5 - header("Location: admin.php"); // aqui você tenta direciona pra outro arquivo 6 - } Acredito q a solução seja inverter as linhas 4 e 5 . :D Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 2, 2005 Deixa eu tentar explicar melhor, é tipo assim :Quando o usuario e senha estão corretos ele imprime na tela Existe normalmente.Mas se eu colocar o header ele vai pro else... mesmo estando corretos usuario e senha.N tem nenhum html no codigoé so php mesmo Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Junho 2, 2005 De qualquer forma, naum pode ter o echo antes do header, porque vai dar pau mesmo. Altera estas linhas e posta o resultado, se continuar o problema, eliminamos esta possibilidade. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 3, 2005 eu so uso o header.. coloquei o echo so pra ficar facil de entenderso preciso do header..vlw aew ^^ Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 4, 2005 Agradeço aew pessoal, mas n deu certo, tipo , se eu coloco o echo ele ta indo pro if, se eu colocar o header ele ignora o if e vai pro else mesmo estando certo ..vlw aew ^^ Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 4, 2005 PHP [*]<?php [*]ob_start(); [*]$usuario = $_POST['usuario']; [*]$senha = $_POST['senha']; [*] [*]mysql_connect("localhost","usuario","senha") or die("Deu erro ao se conectar: ".mysql_error()); [*] [*]mysql_select_db("banco"); [*] [*]$sql = mysql_query("SELECT * FROM CLIENTES WHERE LOGIN='$usuario' AND SENHA='$senha'"); [*] [*]$num = mysql_num_rows($sql); [*] [*]if(($usuario == "x") && ($senha == "1")) [*]{ [*] [*]Header("Location: admin.php"); [*] [*]} [*]else { [*] if($row == 0) [*] Header("Location: index.php"); [*] [*] else { [*] [*] Header("Location: index2.php"); [*] [*] } [*]} [*]ob_end_flush(); [*]mysql_close() [*]?> Compartilhar este post Link para o post Compartilhar em outros sites
Perfect Lion 10 Denunciar post Postado Junho 6, 2005 Kra que isso você esqueceu disso.. "{}" do if <?php ob_start(); $usuario = $_POST['usuario']; $senha = $_POST['senha']; mysql_connect("localhost","usuario","senha") or die("Deu erro ao se conectar: ".mysql_error()); mysql_select_db("banco"); $sql = mysql_query("SELECT * FROM CLIENTES WHERE LOGIN='$usuario' AND SENHA='$senha'"); $num = mysql_num_rows($sql); if(($usuario == "x") && ($senha == "1")) { Header("Location: admin.php"); } else { if($row == 0) { Header("Location: index.php"); }else { Header("Location: index2.php"); } } ob_end_flush(); mysql_close() Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 6, 2005 aewa galera , n funciona, n sei pq...tipo se eu dou o echo q ta na linha comentada lá embaixo no codigo ele lê a variavel direitinho, mas se eu coloco o header ele n vai pra pagina certa n sei pqse alguém puder ajudar eu agradeço vlw ^^qualquer coisa testa po codigo ai é só comentar a linha do header e deixar o echo e depois faça o contrario <?phpob_start();$usuario = $_POST['usuario'];$senha = $_POST['senha'];mysql_connect("localhost","usuario","senha") or die("Deu erro ao se conectar: ".mysql_error());mysql_select_db("banco");$sql = mysql_query("SELECT * FROM CLIENTES WHERE LOGIN='$usuario' AND SENHA='$senha'");$row = mysql_num_rows($sql);if(($usuario == "x") && ($senha == "1")){$resultado = "admin.php"; }else { if($row != 0){ $resultado = "index.php"; } else{ $resultado = "adm_musica.php"; } }//echo($resultado);header("Location: $resultado");ob_end_flush();mysql_close()?> Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Junho 6, 2005 Cara, copiei o código e criei o banco aqui na minha máquina (já estava cabreira com essa história, e decidi q ia matar a charada).Funcionou normal... :D O problema deve ser alguma conf do seu serv Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 6, 2005 pqp cara, aki funciona so com o echo , se dou o header ele n funfaiaeuhaeiumas vlw awe Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Junho 7, 2005 :S.... como?tem alguma saida output antes do header()? porque isso é muito estranho...mais enfim, tenta assim:echo "<script> window.location = '" . $resultado . "'; </script>";[]'s Compartilhar este post Link para o post Compartilhar em outros sites
khots 0 Denunciar post Postado Junho 7, 2005 brigadão aew cara, com esse script deu certo ieUhAIufinalmente hehehtem 2 semanas q to tentando resolver isso e nada.vlw abraços Compartilhar este post Link para o post Compartilhar em outros sites