Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou montando (usando códigos prontos e adaptando às minhas necessidades) um sisteminha pra edição de notícias de um site meu, algo bem simples. Como não havia algo assim, criei a parte de administração de usuário.
Há três campos envolvendo o usuário, são: nome, usuário e senha. O meu problema é, depois que digito as informações que quero alterar, não sei porque, o BD não sofre qualquer alteração.
Acho que é algo com o código, pois o usuário do banco de dados tem todas as permissões. Dêem uma olhada no código. Se puderem ajudar agradeço...
<?php
require("log_enter.php");
?>
<a href="log_newuser.php">Início</a> -
<a href="news_admin.php">Notícias</a> |
<a href="log_out.php">Sair</a><br /><br />
<form method="post" action="<?php echo $PHP_SELF ?>">
<input type="submit" name="escrever" value="Novo Usuário"></p>
</form>
<?php
include('config.php');
if(isset($_POST['inserir']))
{
$conexao = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname");
$nu_id = $_POST['id'];
$nu_nome = $_POST['nome'];
$nu_usuario = $_POST['usuario'];
$nu_senha = $_POST['senha'];
$sql = "insert into login (id, nome, usuario, senha) Values (NULL,'$nu_nome','$nu_usuario','$nu_senha')";
$query = mysql_query($sql);
echo "<p>Usuário inserido com sucesso.<p>\n";
}
// Publicar
else if(isset($_POST['escrever']))
{
echo "<form method=\"post\" action=\"$PHP_SELF\">
<p>Nome: <input type=\"text\" name=\"nome\" maxlength=20></p>
<p>Usuário: <input type=\"text\" name=\"usuario\" maxlength=8></p>
<p>Senha: <input type=\"password\" name=\"senha\" maxlength=8></p>
<input type='hidden' name=\"pass\" value=\"$senha\">
<input type=\"submit\" name=\"inserir\" value=\"Adicionar\"></p>
</form>";
}
// Deletar
else if(isset($_POST['deletar']))
{
$conexao = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname");
$id = $_POST['id'];
$sql = mysql_query("delete from login where id = $id");
echo "<p>Usuário deletado com sucesso.</p>\n";
}
// Atualizar
else if(isset($_POST['update']))
{
$conexao = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname");
$nu_id = $_POST['id'];
$nu_nome = $_POST['nome'];
$nu_usuario = $_POST['usuario'];
$nu_senha = $_POST['senha'];
$sql = "update login set nome = '$nu_nome', usuario = '$nu_usuario', senha = '$nu_senha' where id = $id";
$query = mysql_query($sql);
echo "<p>Usuário atualizado com sucesso.<p>\n";
}
else if(isset($_POST['recuperar']))
{
$conexao = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname");
$id = $_POST['id'];
$sql = "select * from login where id = $id";
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);
{
echo "<form method=\"post\" action=\"$PHP_SELF\">
<p>Nome: <input type=\"text\" name=\"nome\" maxlength=20 value=\"" . $linha["nome"] . "\"></p>
<p>Usuário: <input type=\"text\" name=\"usuario\" maxlength=8 value=\"" . $linha["usuario"] . "\"></p>
<p>Senha: <input type=\"password\" name=\"senha\" maxlength=8 value=\"" . $linha["senha"] . "\"></p>
<p><input type='hidden' name=\"id\" value=\"" . $linha["id"] . "\">
<input type='hidden' name=\"pass\" value=\"$senha\">
<input type=\"submit\" name=\"update\" value=\"Atualizar\"></p>
</form>";
}
}
?>
<?
$sql = "select * from login order by id DESC";
$conexao = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname");
$query = mysql_query($sql);
while($linha = mysql_fetch_array($query))
{
echo "<form method=\"post\" action=\"$PHP_SELF\">
<p><b>" . $linha["id"] . " | " . $linha["nome"] ."</b><br /></p>
<p><input type='hidden' name=\"id\" value=\"" . $linha["id"] . "\">
<input type='hidden' name=\"pass\" value=\"$senha\">
<input type=\"submit\" name=\"recuperar\" value=\"Editar\">
<input type=\"submit\" name=\"deletar\" value=\"Deletar\"></p>
</form>";
}
?>
Isso é tudo! Até mais... Pedro Augusto
achei:
o erro esta aki:
Atualiza os dados no Banco de Dados
não existe a variável $id... o correto seria:Atualiza os dados no Banco de Dados
espero que resolva..abração