Ir ao conteúdo
  • Cadastre-se

Página com Sistema de Administração?


Evilásio Costa

Posts recomendados

Olá gente, eu ja criei todo o site nesse site tem sistema de login e senha só que eu quero que quando eu logar como administrador a página administração faça uma procura no banco de dados (MySQL) e exiba todos os usuarios cadastrados e que der suporte a edição e exclusão e cadastro de clientes.

Eu poderia fazer isso direto no banco de dados só que o site ficarar armazenado em um hoster na web, e ficaria chato todas as vezes que precisar editar alguma coisa ter que ir no site do hoster.

Resumindo quero que nessa página administração exiba todos os usuários, podendo casdatrar, editar e apagar o cliente em questão.

Ficarei grato se resolverem meu problema!:lol:

Link para o comentário
Compartilhar em outros sites

É só você usar alguma informação na tabela que estão registrados Logins para diferenciar uma conta comum de uma conta administrativa, criando assim um If na função Logar e então coloque em algum lugar que lhe agrade um SELECT pra puxar todos os dados do Banco de Dados (no caso, MySQL). Por fim, crie botões pra editar e excluir os registros, diferenciando-os por uma chave primária.

Link para o comentário
Compartilhar em outros sites

Crie uma página pra puxar os registros da tabela dentro de um Formulário, diferenciando-os por uma chave Primária. Em seguida, coloque como função do Formulário fazer um UPDATE na tabela seguindo a chave primária do registro.

Para excluir, bastaria um link com a função DELETE tendo junto a ele a chave primária do registro.

Vale lembrar que a chave primária é a parte mais importante desse processo, pois sem uma você irá excluir ou editar todos os dados de uma só vez, a chave é que difere um registro de outro.

Se precisar de ajuda mais detalhada, posso lhe ajudar ;]

Link para o comentário
Compartilhar em outros sites

O sistema de cadastro já conseguir fazer, la no banco de dados na coluna id tem que ta auto_increment para quê use um id diferente para cada usuário certo.

Para fazer exibir os usuários tenho que usar um

mysql_query(SELECT * FROM USUARIOS)
a partir daqui não sei fazer que exiba todos os dados do Banco de Dados dentro de uma tabela. Onde estará os dados e os botões editar apagar.
Link para o comentário
Compartilhar em outros sites

Leia atentamente as Tags de comentários contidas pelos documentos e preencha o que falta. Sinta-se a vontade para alterar aparência, tamanho, style em geral das Tags HTML. Teste e em seguida poste os resultados.


<table>

<?php
$sql = mysql_query("SELECT * FROM usuarios");
while($reg = mysql_fetch_array($sql)){
$id = $reg['id'];
$login = $reg['login'];
#insira todos os dados que você deseja jogar para uma variável.
#$nome_da_variavel = $reg['nome_do_campo_da_tabela'];
?>
<!-- feche as tags do PHP para criar uma tabela dentro do While -->

<tr>
<td><?php echo $id ?></td>
<td><?php echo $login ?></td>
<!-- Use quantos todos/TRs necessários de acordo com os dados que você está puxando da tabela -->
<td><a href="edita.php?id=<?php $id ?>">

<!-- usei 'edita.php', mas pode ser o nome que você quiser, contanto que seja a página que você colocará os campos para você editar os registros.
-->
</tr>

<?php
#abre as tags do PHP de novo e feche o While.
}
?>
</table>

Com este código você estará criando uma tabela pra puxar todos os registros de sua tabela desejada. Em seguida, crie uma página (com o mesmo nome que você usou no link para edição) aonde você editará o registro.

Edita.php


<?php
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM usuarios WHERE id = '$id'");
while($reg = mysql_fetch_array($sql)){
$login = $reg['login'];
#insira todos os dados que você deseja jogar para uma variável.
?>

<!-- agora, ao invés de uma tabela, faremos um campo de formulário para poder editar o registro -->
<form method="post" name="form1" action="editar.php?id=<?php echo $id ?>">
<table>
<tr>
<td>Login:</td>
<td><label>
<input name="login" type="text" size="40" id="login" />
</label></td>
<td><label>
<input name="senha" type="password" size="40" id="senha" />
</label></td>
<!-- faça quantos campos forem necessários para editar os registros. -->
</tr>
</table>
</form>

Com esta página, você poderá editar os campos dos registros e enviar para a última etapa.

Agora, basta criar a página que o formulário está te enviando e dar update nas informações.

Editar.php


<?php
$id = $_GET['id'];
$login = $_POST['login'];
$senha = $_post['senha'];
$variavel_qualquer = $_POST['nome_do_campo_do_formulario'];

$sql_editar = mysql_query("UPDATE usuarios SET login='$login', senha='$senha', nome_do_campo_da_tabela='$variavel_que_armazena_a_info_desejada WHERE id = '$id'");
header ('location:index.php' #troque Index.php pelo endereço que vá levar a página que você deseja ir após editar um registro.);

Link para o comentário
Compartilhar em outros sites

Deu tudo certo, só que não conseguir entender o

<td><a href="edita.php?id=<?php $id ?>">

Como deverei configurar isto, se possivel como configuarei o sistema de exclusão.

Na página de editar os clientes quando vou tentar visualizar ela sempre dá um error na ultima linha do codigo, será por que é preciso ter uma id para editar para poder visualizar-la.

Não conseguir fazer o php diferenciar os classes, criei uma coluna classes onde adm é 1 e usuario comum era 0 como configuro os if's se possivel um codigo de exemplo.

Link para o comentário
Compartilhar em outros sites

Deu tudo certo, só que não conseguir entender o

Como deverei configurar isto, se possivel como configuarei o sistema de exclusão.

O código citado você deve notar que é um link que te leva para a página "Edita.php".

O ? é como o $, mas em links, ele cria uma variável para você. Neste caso criamos uma variável chamada ID tal que o ID é igual a variável ID.

Resumindo: este link te levará para Edita.php aonde ID='$id' e a $id está identificando qual registro estamos trabalhando no Banco de Dados.

Chegando lá na página, note que o primeiro comando em PHP é:


$id = $_GET['id'];

Isto faz com que a variável passada pela URL (?ID) seja armazenada na variável $id.

Alguma dúvida?

-----------------------------------------------

Na página de editar os clientes quando vou tentar visualizar ela sempre dá um error na ultima linha do codigo, será por que é preciso ter uma id para editar para poder visualizar-la.

Não entendi muito bem o que você quis dizer, seria legal você colar o erro aqui. Mas reforçando o que eu disse acima, a página edita.php está recebendo o ID do registro que você quer editar a partir do momento em que você cria a variável ?ID pela URL e passa pra $ID no início do código. Logo, a página sabe qual registro você quer editar.

-------------------------

Não conseguir fazer o php diferenciar os classes, criei uma coluna classes onde adm é 1 e usuario comum era 0 como configuro os if's se possivel um codigo de exemplo.

O que exatamente você quer fazer? separar, em duas tabelas, ADM de Não-ADM ou somente ADM logue na página que lhe permite editar os registros?

O que você deseja fazer é o ponto de partida para o que deve ser feito no código.

--------------------------------------------------------

Para excluir:


<table>

<?php
$sql = mysql_query("SELECT * FROM usuarios");
while($reg = mysql_fetch_array($sql)){
$id = $reg['id'];
$login = $reg['login'];
#insira todos os dados que você deseja jogar para uma variável.
#$nome_da_variavel = $reg['nome_do_campo_da_tabela'];
?>
<!-- feche as tags do PHP para criar uma tabela dentro do While -->

<tr>
<td><?php echo $id ?></td>
<td><?php echo $login ?></td>
<!-- Use quantos todos/TRs necessários de acordo com os dados que você está puxando da tabela -->
<td><a href="edita.php?id=<?php $id ?>">

<!-- usei 'edita.php', mas pode ser o nome que você quiser, contanto que seja a página que você colocará os campos para você editar os registros.
-->
<td><a href="exclui.php?id=<?php $id ?>">
</tr>

<?php
#abre as tags do PHP de novo e feche o While.
}
?>
</table>

Note que adicionei mais uma célula na Tabela com o seguinte código:


<td><a href="exclui.php?id=<?php $id ?>">

Agora, faça a página exclui.php:


<?php
$id = $_GET['id'];

$sql_del = mysql_query("DELETE FROM usuarios WHERE id = '$id' ");
#usuarios = nome da tabela, acho que é essa que você está usando.
header('location:index.php');

Link para o comentário
Compartilhar em outros sites

No meu site tem duas páginas painel.php e administração.php. Painel.php é para clientes e a administracao.php para administradores, quero que quando logue o adm var para adminisração.php e o cliente va pra painel.php.

Na pagina edita usei atualizar.php como nome:


<html>
<head>
<title>Tiago Conect</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight: bold;
}
.style2 {font-family: Geneva, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<p align="center"><a href="index.php"><img src="slogan.PNG" alt="Tiago Conect" width="995" height="128" border="0"></a></p>
<head>
<link rel="stylesheet" href="/menu/menu_style.css" type="text/css" />
</head>
<link rel="stylesheet" href="menu/menu_style.css" type="text/css" />
</head>
<ul id="menu">
<li><a href="index.php" target="_self" title="Página Inicial" class="current">Página Inicial</a></li>
<li><a href="centraldouser.php" target="_self" title="Central do Usuário">Central do Usuário</a></li>
<li><a href="suporte.php" target="_self" title="Suporte">Suporte</a></li>
<li><a href="planos.php" target="_self" title="Planos">Planos</a></li>
<li><a href="aempresa.php" target="_self" title="A Empresa">A Empresa</a></li>
<li><a href="conexao.php" target="_self" title="Conexão">Conexão</a></li>
<li><a href="parceria.php" target="_self" title="Parceria">Parceria</a></li>
<li><a href="downloads.php" target="_self" title="Donwload">Downloads</a></li>
</ul>


<p align="center" class="style1">Editar Clientes </p>
<?php
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM usuarios WHERE id = '$id'");
while($reg = mysql_fetch_array($sql)){
$login = $reg['usuario'];
$senha = $reg['senha'];
$nome = $reg['nome'];
$plano = $reg['plano'];
$mac = $reg['mac'];
#insira todos os dados que você deseja jogar para uma variável.
?>

<!-- agora, ao invés de uma tabela, faremos um campo de formulário para poder editar o registro -->
<form method="post" name="form1">
<!-- faça quantos campos forem necessários para editar os registros. -->
</tr>
</p>
<table width="200" border="0" align="center">
<tr>
<td class="style2">Login:</td>
<td class="style2"><input name="login" type="text" size="40" id="login" /></td>
</tr>
<tr>
<td class="style2">Senha:</td>
<td class="style2"><input name="senha" type="password" size="40" id="senha" /></td>
</tr>
<tr>
<td class="style2">Nome:</td>
<td class="style2"><input name="nome" type="text" size="40" id="nome" /></td>
</tr>
<tr>
<td class="style2">Plano:</td>
<td class="style2"><label>
<select name="plano" id="plano">
<option>- Selecione -</option>
<option value="Básico">Básico</option>
<option value="Download">Download</option>
</select>
</label></td>
</tr>
<tr>
<td class="style2">MAC:</td>
<td class="style2"><input name="mac" type="text" size="40" id="mac" /></td>
</tr>
<tr>
<td class="style2"> </td>
<td class="style2"><label>
<input type="submit" name="Submit" value="Editar">
<input name="limpar" type="reset" id="limpar" value="Limpar">
</label></td>
</tr>
<tr>
<td class="style2"> </td>
<td class="style2"> </td>
</tr>
</table>
<p class="style2">  </p>
</form>

</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Ae quando tento exibir aparece este error:

Parse error: parse error in D:\wamp\www\Tiago Conect\atualizar.php on line 98

o que deve ser?

Tambem na página de exibir os clientes não aprece os links de editar e apagar!

Link para o comentário
Compartilhar em outros sites

Olha esse código aqui de novo:


<table>

<?php
$sql = mysql_query("SELECT * FROM usuarios");
while($reg = mysql_fetch_array($sql)){
$id = $reg['id'];
$login = $reg['login'];
#insira todos os dados que você deseja jogar para uma variável.
#$nome_da_variavel = $reg['nome_do_campo_da_tabela'];
?>
<!-- feche as tags do PHP para criar uma tabela dentro do While -->

<tr>
<td><?php echo $id ?></td>
<td><?php echo $login ?></td>
<!-- Use quantos todos/TRs necessários de acordo com os dados que você está puxando da tabela -->
<td><a href="edita.php?id=<?php $id ?>">

<!-- usei 'edita.php', mas pode ser o nome que você quiser, contanto que seja a página que você colocará os campos para você editar os registros.
-->
</tr>

<?php
#abre as tags do PHP de novo e feche o While.
}
?>
</table>

Logo no final tem essa parte:


<?php
#abre as tags do PHP de novo e feche o While.
}
?>
</table>

Quando você abriu a função While, você pegou as informações na tabela (Banco de Dados) e depois fechou as Tags PHP para criar o Formulário. A gente faz isso para que o Formulário fique dentro da função While. Então você tem que abrir as Tags do PHP depois e fechar a chave de comandos do While.

Basta inserir um


<?php
}
?>

Antes de fechar a tabela.

--------------------------------------------------

Algumas coisas do meu post você não entendeu, fiz algumas correções. Tenta esse código aqui, no lugar desse daí:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Tiago Conect</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-family: Geneva, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight: bold;
}
.style2 {font-family: Geneva, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body>
<p align="center"><a href="index.php"><img src="slogan.PNG" alt="Tiago Conect" width="995" height="128" border="0"></a></p>
<head>
<link rel="stylesheet" href="/menu/menu_style.css" type="text/css" />
</head>
<link rel="stylesheet" href="menu/menu_style.css" type="text/css" />
</head>
<ul id="menu">
<li><a href="index.php" target="_self" title="Página Inicial" class="current">Página Inicial</a></li>
<li><a href="centraldouser.php" target="_self" title="Central do Usuário">Central do Usuário</a></li>
<li><a href="suporte.php" target="_self" title="Suporte">Suporte</a></li>
<li><a href="planos.php" target="_self" title="Planos">Planos</a></li>
<li><a href="aempresa.php" target="_self" title="A Empresa">A Empresa</a></li>
<li><a href="conexao.php" target="_self" title="Conexão">Conexão</a></li>
<li><a href="parceria.php" target="_self" title="Parceria">Parceria</a></li>
<li><a href="downloads.php" target="_self" title="Donwload">Downloads</a></li>
</ul>


<p align="center" class="style1">Editar Clientes </p>

<table width="200" border="0" align="center">
<?php
$sql = mysql_query("SELECT * FROM usuarios");
while($reg = mysql_fetch_array($sql)){
$login = $reg['usuario'];
$senha = $reg['senha'];
$nome = $reg['nome'];
$plano = $reg['plano'];
$mac = $reg['mac'];
?>
<tr>
<td><?php echo $id ?></td>
<td><?php echo $login ?></td>
<td><?php echo $senha ?></td>
<td><?php echo $nome ?></td>
<td><?php echo $plano ?></td>
<td><?php echo $mac ?></td>
<td><a href="edita.php?id=<?php $id ?>">
<td><a href="exclui.php?id=<?php $id ?>">
</tr>

<?php
#abre as tags do PHP de novo e feche o While.
}
?>

</body>
</html>

Mais uma coisa, você precisa criar a conexão da página com o Banco de Dados e essa página não tem isso, ela vai retornar erro na parte de exibir os cadastros se você não criar a conexão.

Link para o comentário
Compartilhar em outros sites

Edita.php e Exclui.php não são páginas que serão exibidas, lá é aonde se encontra os sistemas em PHP que vão executar funções no MySQL através da página.

A página que deve exibir todos os Clientes cadastrados no Banco De Dados é esta que contém o código que colei pra você no Post Anterior.

Entretanto, no código está faltando a parte de conexão. Se está surgindo algum erro que relata "Acesso Negado" (Acess Denied) ODBC@localhost é devido a falta de conexão.

Crie um arquivo com qualquer nome na extensão PHP (particularmente uso conexao.php) e nele salve o seguinte código:


<?php
$variavel_qualquer = mysql_connect("servidor_à_conectar","usuário_do_banco_de_dados","senha_do_usuário");
$outra_variavel = mysql_select_db("Nome_Do_Banco_De_Dados","$variavel_qualquer");
?>

Exemplo:


<?php
$mysql = mysql_connect("localhost","Deleu","123456");
$db = mysql_select_db("Forum","$mysql");
?>

Feito isso, inclua este arquivo na página que você executa o While para pegar os Dados do Banco.

Nota: Você deve incluir o arquivo antes da função While. Sugiro que o faça no Topo da Página.


<?php
include "conexao.php";
?>

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...