Ir para conteúdo

POWERED BY:

Arquivado

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

VitorCappellari

Editando dados de uma tabela em um ID Definido

Recommended Posts

Estou desenvolvendo um sistema de administração e estou criando uma Página onde o usuário pode editar seus dados.

É uma função desconhecida ainda para mim e por isso estou tendo muitas duvidas.

Preciso editar os dados em um ID Definido, por exemplo, tem 5 usuários, cada um com seu ID, Mas quero editar apenas o ID do usuário.

 

Código:

 

<?

$conexao = mysql_connect("localhost", "root", "");

mysql_select_db("db", $conexao);

$inseredados = "UPDATE usuarios SET nome='$nome', usuario='$usuario', senha='$senha', email='$email'";

mysql_query($inseredados, $conexao);

echo 'Alterado com sucesso.';
?>

Onde o ID do usuário seria visualizado por:

 

$_SESSION['UsuarioID'

Compartilhar este post


Link para o post
Compartilhar em outros sites

selecionar os dados do usuarios

select * from usuarios where id = $_SESSION['UsuarioID']
atualizando

UPDATE usuarios SET nome='$nome', usuario='$usuario', senha='$senha', email='$email' where id = $_SESSION['UsuarioID']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu em nada, antes alterava o ID 1

 

Agora não altera nada.

 

Olhe como ficou:

 

<?

$conexao = mysql_connect("localhost", "root", "");

mysql_select_db("db", $conexao);

$inseredados = "UPDATE usuarios SET nome='$nome', usuario='$usuario', senha='$senha', email='$email' WHERE id=".$_SESSION['UsuarioID'];

mysql_query($inseredados, $conexao);

echo 'Alterado com sucesso.';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Huum entendi. No meu FORM que está dentro de um include aparece...

 

Mas na pagina que faz a ação não aparece. Tentei colocar a action para abrir no include

?pg=con_dados
Mas não tive sucesso... Tentei colocar o código para o ID do usuário funcionar na con_dados.php mas não estou conseguindo...

 

Pode me ajudar? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formulário de alteração:

 

<form name="formulario" method="post" action="arquivos/con_dados.php">
<b>Seu nome:<b><br/>
<input type="text" name="nome">
<br/><br/>

<b>Nome de login:</b><br/>
<input type="text" name="usuario">
<br><br/>

<b>Senha:<b><br/>
<input type="text" name="senha">
<br/><br/>

<b>E-Mail:<b><br/>
<input type="text" name="email">
<br/><br/>


<input type="submit" value="Enviar Dados">
</form>

Formulário de cadastro de usuário ainda não criei. O código que faz aparecer o ID, que tambem controla o login:

 

<?php

// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

$nivel_necessario = 2;

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: index.php"); exit;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não testei, mas v se isso resolve

 

form de alteração

<?php
//inicia a session
session_start();
//conecta
$conexao = mysql_connect("localhost", "root", "");
//seleciona o banco
mysql_select_db("db", $conexao);
//atribui o id do usuário logado a varável $id
$id = $_SESSION['UsuarioID'];
//cria a query
$query = "select * from usuarios WHERE id=$id";
//executa a query
$sql = mysql_query($query, $conexao);
//extrai os campos para a variável $linha
$linha=mysql_fetch_array($sql);
//joga no form
echo "<form name='formulario' method='post' action='arquivos/con_dados.php'>";
	echo "<input type='hidden' value=".$id.">";//campo hidden = invisível
	echo "<b>Seu nome:<b><br/>";
	echo "<input type='text' name='nome' value='".$linha['nome']."'>";
	echo "<br/><br/>";
	echo "<b>Nome de login:</b><br/>";
	echo "<input type='text' name='usuario' value='".$linha['usuario']."'>";
	echo "<br><br/>";
	echo "<b>Senha:<b><br/>";
	echo "<input type='text' name='senha' value='".$linha['senha']."'>";
	echo "	<br/><br/>";
	echo "<b>E-Mail:<b><br/>";
	echo "<input type='text' name='email' value='".$linha['email']."'>";
	echo "<br/><br/>";
	echo "<input type='submit' value='Enviar Dados'>";
echo "</form>"; 
?>

arquivos/con_dados.php

 

<?php
//recebe os dados do form
$id      = $_REQUEST['id'];
$nome    = $_REQUEST['nome'];
$usuario = $_REQUEST['usuario'];
$senha   = $_REQUEST['senha'];
$email   = $_REQUEST['email'];
//conecta
$conexao = mysql_connect("localhost", "root", "");
//seleciona o banco
mysql_select_db("db", $conexao);
//cria a query
$inseredados = "UPDATE usuarios SET nome='$nome', usuario='$usuario', senha='$senha', email='$email' WHERE id=$id";
//executa a query
mysql_query($inseredados);
	if(mysql_affected_rows() == 1){
		echo 'Alterado com sucesso.';
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro no formulário:

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/sonopagode/admin/arquivos/dados.php on line 15

Erro no con_dados:

 

Parse error: syntax error, unexpected $end in /home/site/public_html/sonopagode/admin/arquivos/con_dados.php on line 18

:/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parse error: syntax error, unexpected $end in /home/site/public_html/sonopagode/admin/arquivos/con_dados.php on line 18

 

retire a chave do if no final "{" nessa linha

if(mysql_affected_rows() == 1){

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/sonopagode/admin/arquivos/dados.php on line 15

 

abaixo dessa linha no form

 

$query = "select * from usuarios WHERE id=$id";

insere isso

 

echo $query;

e cola aqui a query q vai aparecer na tela

 

 

outra coisa seu banco tem o nome de "db" mesmo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

No form apareceu isso em cima:

 

select * from usuarios WHERE id=
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/public_html/sonopagode/admin/arquivos/dados.php on line 16

E na cond_dados.php não deu nada, ficou tudo em branco.

 

O nome não é DB é porque me disseram pra não falar dados do banco aqui :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro está na sua variável $_SESSION['UsuarioID']

 

ela está vazia, verifica se no login está sendo gravada o id do usuario, e se o nome da variável é essa msm.

 

e em relação ao nome do banco num precisa falar o nome n, só queria saber msm, que eu achei o nome do banco esquisisto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.