Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Excluir e editar Administradores do Sistema

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Excluir e editar Administradores do Sistema

    Pessoal:

    Sou iniciante em PHP fiz um script de login e senha do zero, mas estou tendo um problema.

    No sistema que criei fiz esse script que apresenta os administradores em uma tabela

    Código PHP:


    <?
    include "restrito.inc";
    ?>
    <body>
    <div align="center">
      <table width="909" border="0">
        <tr>
          <td>
            <div align="center">
            <b><font size="2" face="Verdana">
            <img border="0" src="imagens/admin.png" width="80" height="80"><br>
            Voc&ecirc;
          possui<font color="#FF0000"> </font></font> </b> 
            <font size="2" face="Verdana" color="#FF0000"> <strong>
          <?
    include "../mysql.php";
        
    $result "SELECT * FROM admin";
        
    $Result mysql_query($result);
        
    $totalrows mysql_num_rows($Result);
        echo 
    "$totalrows";
        
    ?></strong></font><b><font size="2" face="Verdana"><font color="#FF0000"> 
            Administradores 
            </font>Cadastrados</font></b></div></td>
        </tr><tr>
          <td height="47" valign=top><table width="901" border="0">
            <tr>
              <td width="218" align="left">
                <font size="2" face="Verdana"><strong>Nome</strong></font></td>
              <td width="191" align="left">
                <strong><font face="Verdana" size="2">Login</font></strong></td>
              <td width="268" align="left">
                <font size="2" face="Verdana"><strong>E-mail</strong></font></td>
              <td width="206" align="left">
                <font size="2" face="Verdana"><strong>Senha</strong></font></td>
            </tr>

    <?
    include("../mysql.php");

    $query "SELECT * FROM admin order by nome";
    $result MYSQL_QUERY($query);
    $number MYSQL_NUMROWS($result);
    $i=0;

    WHILE (
    $i $number):

    //Get the details for that entry
    $senha    mysql_result($result,$i,"senha");
    $nome    mysql_result($result,$i,"nome");
    $login    mysql_result($result,$i,"login");
    $email    mysql_result($result,$i,"email");

        
          print 
    " <tr>          
              
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    $nome</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    $login</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    $email</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    $senha</font></td>
             
            </tr>"
    ;
        
    $i++;
    ENDWHILE;

    ?> </tr>
      </table>
          <font face="Verdana" size="1">
    </div>
          </font>
    </table></td>
       <br>&nbsp;
       
    </div>

    Gostaria de colocar um botão ou link para editar e outro para excluir o admin do sistema, mas estou tendo problemas com as explicações no site oficial do PHP, alguém ai pode dar uma mãozinha ai?

  • Font Size
    #2
    Você quer deletar um admin do sistema por um botão?

    você pode fazer adicionar uma coluna extra na tabela de exibição que teria o botão "apagar". Este botão pode ser uma imagem e você linka e a à pagina deleta.php e usa a ID do administrador para procuar-lo e apagar.

    E umas dica para você.
    Use o mysql_fetch_array, facilita na hora de exibir os resultados.
    Não use short tags (<? e ?>), use sempre tags completas: (<?php ?>)

    aqui um exemplo e algumas correções:

    Código PHP:
    <table width="909" border="0">
        <tr>
          <td>
            <div align="center">
            <b><font size="2" face="Verdana">
            <img border="0" src="imagens/admin.png" width="80" height="80"><br>
            Voc&ecirc;
          possui<font color="#FF0000"> </font></font> </b> 
            <font size="2" face="Verdana" color="#FF0000"> <strong>
          <?php
        
    include "../mysql.php";
        
    $result "SELECT * FROM admin";//esta é sua query
        
    $Result mysql_query($result);//aqui processamos ela no banco de dados
        
    $totalrows mysql_num_rows($Result);//aqui pegamos o total de registros retornados
        
    echo "$totalrows";
        
    ?></strong></font><b><font size="2" face="Verdana"><font color="#FF0000"> 
            Administradores 
            </font>Cadastrados</font></b></div></td>
        </tr><tr>
          <td height="47" valign=top><table width="901" border="0">
            <tr>
              <td width="218" align="left">
                <font size="2" face="Verdana"><strong>Nome</strong></font></td>
              <td width="191" align="left">
                <strong><font face="Verdana" size="2">Login</font></strong></td>
              <td width="268" align="left">
                <font size="2" face="Verdana"><strong>E-mail</strong></font></td>
              <td width="206" align="left">
                <font size="2" face="Verdana"><strong>Senha</strong></font></td>
              <td width="206" align="left">
                <font size="2" face="Verdana"><strong>Senha</strong></font></td>
            </tr>

    <?php
    //Isto é inutil nessa parte do código por que você ja conectou ao banco. include("../mysql.php");

    $query "SELECT * FROM admin order by nome";
    $result mysql_query($query);//php é case sensitive. Cuidado

    //farei o laço mais facilmente utilizando o mysql_fetch_Array, observe:

    while ($r=mysql_fetch_array($result)){//enquanto houverem linhas ...

    //Get the details for that entry
    $senha    mysql_result($result,$i,"senha");
    $nome    mysql_result($result,$i,"nome");
    $login    mysql_result($result,$i,"login");
    $email    mysql_result($result,$i,"email");

        
          
    /*aqui substituí o print pelo echo. Eu pelomenos acho o echo mais rapido
           */
    echo " <tr>          
              
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    {$r['nome']}</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    {$r['login']}</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    {$r['email']}</font></td>
              <td bgcolor=ffffff><left><font size=\"2\" face=\"verdana\">
    {$r['senha']}</font></td>
              <td bgcolor=ffffff><a href=\"apagar.php?id=
    {$r['id']}\">Apagar</a>
            </tr>"
    ;
    }
    //Note que ali em cuima tem mais uma coluna na tabela que contem um link utilizando a ID do admin. (pode alterar ara qualquer outro campo, é apenas um exemplo)
    ?> </tr>
      </table>
          <font face="Verdana" size="1">
    </div>
          </font>
    </table></td>
       <br>&nbsp;

    ================================================== ====

    pagina apagar.php:
    A pagina apagar.php é relativamente simples, ela irá pegar da url o id enviado, fazer uma query e apagar o admin se ele existir, observe:

    Código PHP:
    <?php
        
    include "../mysql.php";
        if(!
    is_null($_GET['id']) && isset($_GET['id'])){//se o parametro ID estiver setado e não for nulo ...
            
    $id mysql_real_escape_string($_GET['id']);//Aqui evitamos grande parte do sql injection utilizando a função mysql_real_escape_string
            
    $query "SELECT * FROM admin WHERE id ='".$id."'";//aqui fazemos um select procurando um admin com a id correspondente
            
    $qry myqsl_query($query);//aqui processamos a query
            
    $total mysql_num_rows($qry); //aqui obtemos quantas linhas foram retornadas
            
            
    if($total==1){//se encontrar um admin
                
    $sql "DELETE FROM admin WHERE id='".$id."' LIMIT 1";//aqui definimos uma query que deleta o admin pela ID. utilizamos o LIMIT 1 para evitar que acabe apagando mais do que deveria.
                
    if(mysql_query($sql)){//Se a query funcionar...
                    
    echo "Admin <b>".$id."</b> Deletado com sucesso!"//Diga que houve sucesso
                
    }else{
                    echo 
    " Falha na exclusão do admin <b>".$id."</b>!";//Diga que a exclusão falhou
                
    }
            }else{
    //se não encontrar uma dmin ou encontrar mais de um ( o que seria um bom problema)
                
    echo"Foi encontrado um total de <b>".$total."</b> admins.";
            }
        }
    ?>
    qualquer dúvida, só avisar.
    PHP: ||||||||||||||||||||
    C++: ||||||||||||||||||||
    C#: ||||||||||||||||||||
    Ruby: ||||||||||||||||||||
    Mysql: ||||||||||||||||||||

    Comment


    • Font Size
      #3
      Esta dando esse erro agora

      Parse error: syntax error, unexpected '<' in /home/overmix/public_html/overmix/teste/admin/relacao_administradores_tabela.php on line 2


      deduzi que era por causa das aspas duplas mas tirei todas das tags html do código e coloquei aspas simples mas não resolveu.

      O que pode ser ?

      Comment


      • Font Size
        #4
        Esqueci de tirar esta parte, ela não é necessária:
        Código PHP:
        //Get the details for that entry
        $senha    mysql_result($result,$i,"senha");
        $nome    mysql_result($result,$i,"nome");
        $login    mysql_result($result,$i,"login");
        $email    mysql_result($result,$i,"email"); 
        PHP: ||||||||||||||||||||
        C++: ||||||||||||||||||||
        C#: ||||||||||||||||||||
        Ruby: ||||||||||||||||||||
        Mysql: ||||||||||||||||||||

        Comment


        • Font Size
          #5
          Cara, tem um arquivo chamado relacao_administradores_tabela.php, e nesse arquivo tem um < (Menor) está errado.
          Se puder, posta o código.
          Se quiser, me add no MSN pra eu te dar uns macetes que aprendi em PHP.
          PS: Mas tem que gostar de ler, e ter paciência..^^

          Comment


          • Font Size
            #6
            lostdarkangel o código do arquivo que pediu está neste post que o DanSoah fez algumas alterações procurei pelo sinal de meno (<) que mencionou mas acho que estou cego pois não achei nada fora do normal.

            Comment


            • Font Size
              #7
              Tem certeza que é no código que coloquei?
              aqui não houve nenhum erro na linha 2, só erros de banco de dados (por que não estou conectado).
              esse sinal pode ser algum html que vc colocou dentro do php sem querer, da uma revisadinha dentro das tags... ja apanhei muito com isso haha
              PHP: ||||||||||||||||||||
              C++: ||||||||||||||||||||
              C#: ||||||||||||||||||||
              Ruby: ||||||||||||||||||||
              Mysql: ||||||||||||||||||||

              Comment


              • Font Size
                #8
                o código da linha 2 é include "../mysql.php";

                No arquivo mysql.php está com erro, por isso ele indica linha 2..
                Creio que seja isso!

                Comment


                • Font Size
                  #9
                  o código da linha 2 é : include "../mysql.php";

                  O erro está no arquivo mysql.php.

                  Comment


                  • Font Size
                    #10
                    Irei verificar o o arquivo html ver se coloquei alguma coisa no arquivo mysql.php não tem nenhuma tag html

                    Código PHP:

                    // Informaçãos do banco de dados
                    $mySQL_host "localhost";    //NOME DO HOST, NORMALMENTE É LOCALHOST MESMO
                    $mySQL_user "usuario_mysql";    //SEU NOME DE USUÁRIO DO MYSQL
                    $mySQL_pwd "senha_mysql";    //SUA SENHA DO USUÁRIO MYSQL

                    // NOME DO BANCO DE DADOS MYSQL
                    $DataBase "db_sql";

                    //FAVOR NÃO ALTERAR NADA ABAIXO
                    ////////////////////////////////////////////////////////////////////////
                    $mySQL_ID mysql_connect($mySQL_host$mySQL_user$mySQL_pwd); 
                    $mySQLBOOL mysql_select_db($DataBase,$mySQL_ID); 

                    Comment


                    • Font Size
                      #11
                      Realmente, eu teria que olhar todos os arquivos pra poder te ajudar.

                      Me add no MSN pra gente conversar: ramatisweiss@hotmail.com

                      Comment

                      X
                      Working...
                      X