+ Responder ao Tópico



  1. #1

    Padrão Apache + PHP + Mysql - Preciso de Ajuda

    Olá pessoal.

    tenho a seguinte ambiente:
    - Linux Red Hat 9.0
    - Apache 2.0.40
    - PHP 4.4.3
    - MySQL 4.0.18

    Tenho alguns scripts rodando nessa máquina para cadastrar, consultar e remover usuários de um banco de dados MySQL, e antes da inclusão ele faz a verificação se o login não está cadastrado. Se estiver emite a mensagem que não é possível cadastrar e se não tiver cadastra o usuário.
    Problema: O cadastro do usuário é realizado mas a remoção não é feita. Na remoção ele retorna que o login não existe, sendo que o mesmo está lá.

    Segue código dos arquivos que estou utilizando:

    Código :
    //remover.php
    //formulário para digitacao do login a se remover
    <html>
    <head>
      <title> Administração do Servidor Linux </title>
    <STYLE type=text/css>
    A:link { text-decoration: none}
    A:visited { text-decoration: none}
    </STYLE>
    </head>
     
    <body>
    <center><font face=arial size=5 color=red> Administração do Servidor Linux </font></center>
    <br>
    <h2 align=center><font color="#0000f2" face=arial> Remover Usuários </font></h2>
     
    <hr width=800 align=center noshade>
    <br><br><br><br>
     
    <form method=post action=val_rem.php>
    <table width=50% border=0>
     
    <tr>
     <td>
       Login de Acesso:
     </td>
     
     <td>
       <input type="text" name="login" size="20" style="font-family: Courier New; border-style: dotted; border-color: #666666" maxlength="20">
     </td>
    </tr>
     
    </table>
     
    <br>
    <table width=30% border=0>
    <tr>
      <td>
       <input type="submit" value="Remover" style="border-style: double">
      </td>
     
      <td>
       <input type="reset" value="Limpar" style="border-style: double">
      </td>
    </tr>
    </table>
    <br><br><br><br>
    <a href=index.php> Voltar </a>
    </body>
    </html>

    Código :
    //val_rem.php
    //script executado no post do form anterior
    <html>
    <head>
      <title> Administração do Servidor Linux </title>
    <STYLE type=text/css>
    A:link { text-decoration: none}
    A:visited { text-decoration: none}
    </STYLE>
    </head>
     
    <body>
    <center><font face=arial size=5 color=red> Administração do Servidor Linux </font></center>
    <br>
    <h2 align=center><font color="#0000f2" face=arial> Remover Usuários </font></h2>
    <hr width=800 align=center>
    <?
     $host = "localhost";
     $user = "teste";
     $senha = "teste";
     $banco = "teste";
     
     $conexao = mysql_connect($host,$user,$senha) or die("Não Conectado ao MySQL");
     mysql_select_db($banco, $conexao) or die("Banco de Dados não selecionado");
     
     $consulta = "SELECT * FROM usuarios WHERE login='$login'";
     $resultado = mysql_query($consulta, $conexao);
     while ($campo = mysql_fetch_row($resultado)) {
       $login_consulta = $campo[2] ;
     }
     
     if ($login==$login_consulta) {
     
       $excluir = "delete from usuarios where login='$login'";
       mysql_query ($excluir, $conexao) or die (mysql_error());
     
       echo "<br><br><br><br>";
       echo "Usuário removido com Sucesso !!!";
       echo "<br><br><br><br>";
     
      } else {
       echo "<br><br><br><br>";
       echo " <font color=red size=3>Usuário não cadastrado, favor tentar outro login. </font>";
     }
     
     mysql_close($conexao);
     
    ?>
    <br><br><br><br>
    <a href=remover.php> Voltar </a>
    </body>
    </html>

  2. #2
    felco
    Visitante

    Padrão Re: Apache + PHP + Mysql - Preciso de Ajuda

    $excluir = "delete from usuarios where login='$login'";
    Voce tentou dar um echo nisso pra ver se esta formando a query direito? As vezes esta formando 'delete from usuarios where login='$login'' literalmente e nao vai dar certo mesmo... viu... so pela intencao de ajudar pq eu so ruim ruim em php ahuahuahauhaua


  3. #3
    JVM
    Visitante

    Padrão Re: Apache + PHP + Mysql - Preciso de Ajuda

    Pelo q eu vi vc tentou excluir o usuario "diretamente". Às vezes, há a questao de relacionamentos/dependencias dentro do BD, assim o SGBD nao permite que o usuario seja excluido sem que essas dependencias sejam ANTES excluidas tbem. caso contrario o BD ficaria com "conteudo sem dono" (ou lixo, propriamente dito)...

    Nao sei se é o caso, mas vale a pena dar uma olhada e tentar...

  4. #4

    Padrão Re: Apache + PHP + Mysql - Preciso de Ajuda

    O problema é o seguinte:

    Código :
    if ($login==$login_consulta) {

    Essa checagem sempre retorna falso, pois sempre exibe a mensagem de usuário não cadastrado, mesmo que ele esteja cadastrado no banco de dados com o login informado.

  5. #5
    JVM
    Visitante

    Padrão Re: Apache + PHP + Mysql - Preciso de Ajuda

    Nao conheco a fundo a sintaxe do php, mas me parece bem semelhante aos shell scripts do linux (se nao é a mesma coisa...), mas nao é o caso de se colocar aspas nas variaveis ($login e $login_consulta)??

    na duvida use o echo para mostrar o conteudo das duas variaves....

  6. #6

    Padrão Re: Apache + PHP + Mysql - Preciso de Ajuda

    eu acho q o erro está qui:
    while ($campo = mysql_fetch_row($resultado)) {
    $login_consulta = $campo[2] ;
    }

    seia melhor assim
    while ($campo = mysql_fetch_row($resultado)) {
    $login_consulta = $campo["login"] ;
    echo $login_consult; // opcional só para vc ver o q esta acontecendo
    exit; // aqui para e mostra para vc, se tiver tudo certo veja a condição if.
    }