Ir para conteúdo
Fórum Script Brasil
  • 0

Onde Está O Erro?


heavymetal

Pergunta

É o seguinte galera, estou adaptando um script, e nesse processo, apareceu um problema que está me quebrando a cabeça. A página realiza diversas funções, e após realizar a função quero que ele exiba uma mensagem na tela. O problema é que exibe a mensagem certa de uma função, mas também exibe as mensagens de outras funções. Vou postar os 2 códigos para ver se alguém encontra o erro:

oroginal:

<?php

//prevents caching
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
session_cache_limiter();

session_start();

include ('../config.php');
include ('../funcoes.php');
    //make connection to dbase
    $conexao = @mysql_connect($servidor, $usuario_bd, $senha_bd)
                or die(mysql_error());
                
    $bd = @mysql_select_db($banco,$conexao)
                or die(mysql_error());
                

if ($_POST[del_user] != "")
{

    $consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[del_user]'";

    $resultado = @mysql_query($consulta, $conexao) or die(mysql_error());

    //get the number of rows in the result set
    $numero = mysql_num_rows($resultado);

    //set session variables if there is a match
    if ($numero != 0)
    {
        while ($consulta = mysql_fetch_object($resultado)) 
        {    
        $first        = $consulta -> nome;        
        $usuario        = $consulta -> usuario;
        $senha        = $consulta -> senha;
        $gr        = $consulta -> grupo;        
        $change        = $consulta -> alterarsenha;
        $e_mail        = $consulta -> email;
        $re_direct    = $consulta -> redirecionar;
        $ver_d        = $consulta -> verificar;
        $ultimo_acesso    = $consulta -> ultimoacesso;
        $del_dat    = ultimo_acesso();
        }
        
        $trash_user = "INSERT INTO lixeira (nome, usuario, senha, grupo, 
        alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao)VALUES
        ('$first', '$usuario', '$senha', '$gr',
        '$change', '$e_mail', '$re_direct', '$ver_d', '$ultimo_acesso', '$del_dat')";

        $del = "DELETE FROM $tabela WHERE usuario = '$_POST[del_user]'";
        
        $resultado = @mysql_query($del,$conexao) or die(mysql_error());
        $resultado1 = @mysql_query($trash_user,$conexao) or die(mysql_error());
        
        $msg .= "User $_POST[del_user] has been trashed from the database.<br>";
    }else{
        $msg .= "User $_POST[del_user] could not be located in the database.<br>";
    }
    
    $del_banned = "DELETE FROM banidos WHERE acessonegado = '$_POST[del_user]'";
        $resultado = @mysql_query($del_banned,$conexao) or die(mysql_error());


}

if (($_POST[usuario] != "") && ($_POST[mod_pass] == "Same as Old"))
{
$consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[usuario]'";
$resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
while ($consulta = mysql_fetch_object($resultado))
    {
        $senha = $consulta -> senha;
        $last = $consulta -> ultimoacesso;
    }
            $consulta = "DELETE FROM $tabela WHERE usuario = '$_POST[usuario]'";
            $resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
            $consulta = "INSERT INTO $tabela (nome, usuario, senha, grupo, 
            alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', 
            '$_POST[usuario]', '$senha', '$_POST[mod_grupo]', 
            '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]',
            '1', '$last')";
            $resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
            $msg .= "The information for $_POST[usuario] has been changed updated.<br>";
}

if (($_POST[usuario] != "") && ($_POST[mod_pass] != "Same as Old"))
{
$consulta = "SELECT * FROM $tabela WHERE usuario = '$_POST[usuario]'";
$resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
while ($consulta = mysql_fetch_object($resultado))
    {
        $senha = $consulta -> senha;
        $last = $consulta -> ultimoacesso;
    }
            $consulta = "DELETE FROM $tabela WHERE usuario = '$_POST[usuario]'";
            $resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
            $consulta = "INSERT INTO $tabela (nome, usuario, senha, grupo 
            alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$_POST[mod_first]', '$_POST[mod_last]', 
            '$_POST[usuario]', password('$_POST[mod_pass]'), '$_POST[mod_grupo]',  
            '$_POST[mod_chng]', '$_POST[mod_email]', '$_POST[mod_redirect]',
            '1', '$last')";
            $resultado = @mysql_query($consulta,$conexao) or die(mysql_error());
            $msg .= "The information for $_POST[usuario] has been changed updated.<br>";
}    

if ($_POST[ban_user] != "")
{

        $ban = "INSERT INTO banidos (acessonegado, tipo) VALUES ('$_POST[ban_user]', 'user')";
        $resultado = @mysql_query($ban,$conexao) or die(mysql_error());
        $msg .= "User $_POST[ban_user] has been banned.<br>";

}

$ip_addr = "$_POST[oct1].$_POST[oct2].$_POST[oct3].$_POST[oct4]";

if ($ip_addr != "...")
{
        $ban_ip = "INSERT INTO banidos (acessonegado, tipo) VALUES ('$ip_addr', 'ip')";
        $resultado = @mysql_query($ban_ip,$conexao) or die(mysql_error());
        $msg .= "IP Address $ip_addr has been banned.<br>";
}

if ($_POST[lift_user_ban] != "")
{

        $lift_user = "DELETE FROM banidos (acessonegado, tipo) WHERE acessonegado = '$_POST[lift_user_ban]'";
        $resultado = @mysql_query($lift_user,$conexao) or die(mysql_error());
        $msg .= "The Ban for user $_POST[lift_user_ban] has been lifted.<br>";

}    

if ($_POST[lift_ip_ban] != "")
{

        $lift_ip = "DELETE FROM banidos (acessonegado, tipo) WHERE acessonegado = '$_POST[lift_ip_ban]'";
        $resultado = @mysql_query($lift_ip,$conexao) or die(mysql_error());
        $msg .= "The Ban for IP Address $_POST[lift_ip_ban] has been lifted.<br>";

}

if ($_POST[restore] != "")
{
    $ruser = "SELECT * FROM lixeira WHERE usuario = '$_POST[restore]'";

    $resultado0 = @mysql_query($ruser, $conexao) or die(mysql_error());

    //get the number of rows in the result set
    $numero = mysql_num_rows($resultado0);

    //set session variables if there is a match
    if ($numero != 0)
    {
        while ($ruser = mysql_fetch_object($resultado0)) 
        {    
        $rfirst        = $ruser -> nome;        
        $runame        = $ruser -> usuario;
        $rpass        = $ruser -> senha;
        $rgr        = $ruser -> grupo;            
        $rchange    = $ruser -> alterarsenha;
        $re_mail    = $ruser -> email;
        $rre_direct    = $ruser -> redirecionar;
        $rver_d        = $ruser -> verificar;
        $rlast_log    = $ruser -> ultimoacesso;
        }
        
        $r_user = "INSERT INTO $tabela (nome, usuario, senha, grupo, 
        alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES
        ('$rfirst', '$runame', '$rpass', '$rgr',
        '$rchange', '$re_mail', '$rre_direct', '$rver_d', '$rlast_log')";

        $del = "DELETE FROM lixeira WHERE usuario = '$_POST[restore]'";

        $resultado = @mysql_query($del,$conexao) or die(mysql_error());
        $resultado1 = @mysql_query($r_user,$conexao) or die(mysql_error());
    
        $msg .= "User $_POST[restore] has been restored.<br>";
    }else{
        $msg .= "User $_POST[restore] could not be located in the database.<br>";
    }
}

if ($_POST[empt_trash] == "yes")
{

    $empty = "DELETE FROM lixeira";
    $gone = @mysql_query($empty, $conexao) or die(mysql_error());
    
    $msg .= "The trash has been emptied.<br>";
}

if ($_POST[amt_time] != "" &&  $_POST[incr_time] != "")
{
    $msg .= "The following accounts were inactive for $amt_time $incr_time or more and have been moved to the trash.<br><br>";
    $killtime = "NOW() - INTERVAL $_POST[amt_time] $_POST[incr_time]";
    $xfer = "SELECT * FROM $tabela WHERE ultimoacesso < $killtime";
    $resultadop1 = @mysql_query($xfer, $conexao) or die(mysql_error());
    while ($xfer = mysql_fetch_object($resultadop1))
    {
        $pfirst        = $xfer -> nome;        
        $puname        = $xfer -> usuario;
        $ppass        = $xfer -> senha;
        $pgr        = $xfer ->grupo;        
        $alterarsenha    = $xfer -> alterarsenha;
        $pe_mail    = $xfer -> email;
        $pre_direct    = $xfer -> redirecionar;
        $pver_d        = $xfer -> verificar;
        $plast_log    = $xfer -> ultimoacesso;
        $pdataexclusao    = ultimo_acesso();        
        
        $msg .= "$puname<br>";
        $xfer2 = "INSERT INTO lixeira (nome, usuario, senha, grupo, 
        alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao) VALUES ('$pfirst', ' $plast', '$puname', 
        '$ppass', '$pgr', '$palterarsenha', '$pe_mail', '$pre_direct', '$pver_d', '$plast_log', '$pdataexclusao')";
        $resultadop2 = @mysql_query($xfer2, $conexao) or die(mysql_error());
    }
    $purge = "DELETE FROM $tabela WHERE ultimoacesso < $killtime";
    $resultadop3 = @mysql_query($purge, $conexao) or die(mysql_error());

}


echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"adminpage.css\">";

echo $msg;

if ($_POST[usuario] == $_SESSION[usuario])
{
session_destroy();
echo "<html>";
echo "<head>";
echo "<meta http-equiv=\"refresh\" content=\"3; url=../login.html\">";
echo "<title>New Page 2</title>";
echo "</head>";
exit;
}
?>

<html>

<head>
<meta http-equiv="refresh" content="3; url=adminpage.php">
<title>Modify User</title>
</head>

<body>

</body>

</html>
modificado
<?php

//previne o cache
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:m:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0", false);
session_cache_limiter();

//inicia a sessão
session_start();

//inclui o arquivo css
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/administrador.css\" />";

//inclui o arquivo de funções
if (file_exists("../config.php")) {
    include ("../config.php");
}
else {
    echo "<h5 class=\"alinhacentro\">O arquivo de configurações não foi encontrado</h5>";
exit;
}

//inclui o arquivo de funções
if (file_exists("../funcoes.php")) {
    include("../funcoes.php");
}
else {
    echo "<h5 class=\"alinhacentro\">O arquivo de funções não foi encontrado</h5>";
exit;
}

if ($page == "") {
    $page = 1;
}
if (max_results == "") {
    $max_results = 5;
}

//conecta no banco de dados
$conexao = @mysql_connect($servidor, $usuario_bd, $senha_bd) or die(mysql_error());
$bd = @mysql_select_db($banco, $conexao) or die(mysql_error());

if ($_POST[deletar_usuario] != "") {
    $consulta_seleciona = "SELECT * FROM $tabela WHERE usuario = '$_POST[deletar_usuario]'";
    $resultado = @mysql_query($consulta_seleciona, $conexao) or die(mysql_error);
    //retorna o número de linhas do resultado
    $numero = mysql_num_rows($resultado);
    //altera as variáveis de sessão se encontrar um resultado
    if ($numero != 0) {
        while ($consulta_seleciona = mysql_fetch_object($resultado)) {
            $d_nome         = $consulta_seleciona -> nome;
            $usuario      = $consulta_seleciona -> usuario;
            $d_senha        = $consulta_seleciona -> senha;
            $d_grupo        = $consulta_seleciona -> grupo;
            $d_alterarsenha = $consulta_seleciona -> alterarsenha;
            $d_email        = $consulta_seleciona -> email;
            $d_redirecionar = $consulta_seleciona -> redirecionar;
            $d_verificar    = $consulta_seleciona -> verificar;
            $d_ultimoacesso = $consulta_seleciona -> ultimoacesso;
            $d_dataexclusao = ultimo_acesso();
        }
        //insere o registro na tabela lixeira
        $consulta_insere ="INSERT INTO lixeira (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso, dataexclusao) VALUES ('$d_nome', '$usuario', '$d_senha', '$d_grupo', '$d_alterarsenha', '$d_email', '$d_redirecionar', '$d_verificar', '$d_ultimoacesso', '$d_dataexclusao')";
        //deleta o registro da tebela usuários
        $consulta_exclui = "DELETE FROM $tabela WHERE usuario = '$_POST[deletar_usuario]'";
        $resultado = @mysql_query($consulta_insere, $conexao) or die(mysql_error());
        $resultado1 = @mysql_query($consulta_exclui, $conexao) or die(mysql_error());
        $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[deletar_usuario] foi deletado do banco de dados</h5>";
    }
    else {
        $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[deletar_usuario] não foi localizado no banco de dados</h5>";
    }
    //deleta o registro da tabela banidos
    $consulta_exclui = "DELETE FROM banidos WHERE acessonegado = '$_POST[deletar_usuario]'";
    $resultado = @mysql_query($consulta_exclui, $conexao) or die(mysql_error());
}

if ($_POST[restaurar_usuario] != "") {
    $consulta_seleciona = "SELECT * FROM lixeira WHERE usuario = '$_POST[restaurar_usuario]'";
    $resultado = @mysql_query($consulta_seleciona, $conexao) or die(mysql_error());
    
    //retorna o número de linhas do resultado
    $numero = mysql_num_rows($resultado);
    
    //altera as variáveis de sessão se encontrar um resultado
    if ($numero != 0) {
        while ($consulta_seleciona = mysql_fetch_object($resultado)) {
            $r_nome         = $consulta_seleciona -> nome;
            $usuario        = $consulta_seleciona -> usuario;
            $r_senha        = $consulta_seleciona -> senha;
            $r_grupo        = $consulta_seleciona -> grupo;
            $r_alterarsenha = $consulta_seleciona -> alterarsenha;
            $r_email        = $consulta_seleciona -> email;
            $r_redirecionar = $consulta_seleciona -> redirecionar;
            $r_verificar    = $consulta_seleciona -> verificar;
            $r_ultimoacesso = $consulta_seleciona -> ultimoacesso; 
        }
        //insere o registro na tabela usuarios
        $consulta_insere = "INSERT INTO $tabela (nome, usuario, senha, grupo, alterarsenha, email, redirecionar, verificar, ultimoacesso) VALUES ('$r_nome', '$usuario', '$r_senha', '$r_grupo', '$r_alterarsenha', '$r_email', '$r_redirecionar', '$r_verificar', '$r_ultimoacesso')";        
        //deleta o registro da tabela lixeira
        $consulta_exclui = "DELETE FROM lixeira WHERE usuario = '$_POST[restaurar_usuario]'";
        $resultado = @mysql_query($consulta_insere, $conexao) or die(mysql_error());
        $resultado1 = @mysql_query($consulta_exclui, $conexao) or die(mysql_error());
        $mensagem .= "<h5 class=\"alinhacentro\">O usuário $_POST[restaurar_usuario] foi restaurado ao banco de dados</h5>"; 
    }
    else {
        $mensagem .= "<h5 class=\"alinhacentro\">O Usuário $_POST[restaurar_usuario] não foi localizado no banco de dados</h5>";
    }
}

echo $mensagem;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="refresh" content="5;url=administrador.php" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

Desde já agradecido.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest --heavymetal --
quais mensagens que estao aparecendo???

as depois dos blocos if's e nos blocos else's?? esta imprimindo as duas???

abraço, Allan Rein

Obrigado pela atenção amigo

Ele imprime a mensagem certa de um dos if e a mensagem errada do outro, ele interpreta os dois ifs, mas eu queria que ele interpretasse apenas um

Um exemplo do que está era para contecer

O script deleta um usuario do banco de dados

Aparece a mensagem

O usuario x foi deletado do banco de dados

Mas em vez disso aparece assim

O usuario x foi deletado do abnco de dados

O usuario **Selecione o Usuário** não foi localizado no banco de dados

Como você pode ver essa segunda mensagem é do segundo bloco de código, o de restaurar usuario, tem muita masi coisa nessa pagina, tem bloco para banir, banir ip, esvaziar lixeira, o script é enorme, mas acho que com isso já dá pra ter uma idéia do problema

Mais uma vez agradecido

Link para o comentário
Compartilhar em outros sites

  • 0

voce esta concatenando as mensagens dentro da variavel

$mensagem .=

isto vai juntando os textos e quando voce coloca o echo $mensagem; mostra tudo

solução se realmente precisar juntar string antes do inicio coloque mensagem =""; para limpar o conteudo da variavel

se não tire este ponto antes do igual de .= para =

assim ele vai armazenar apenas um conteudo para a variavel

Editado por jissa
Link para o comentário
Compartilhar em outros sites

  • 0
voce esta concatenando as mensagens dentro da variavel

$mensagem .=

isto vai juntando os textos e quando voce coloca o echo $mensagem; mostra tudo

solução se realmente precisar juntar string antes do inicio coloque mensagem =""; para limpar o conteudo da variavel

se não tire este ponto antes do igual de .= para =

assim ele vai armazenar apenas um conteudo para a variavel

é vdd, num tinha reparado no "."...hauahuhauhu

muito bom jissa

abraço, Allan Rein

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...