Ir para conteúdo

POWERED BY:

Arquivado

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

Diego Parente

Edição de Banco de Dados via PHP

Recommended Posts

Boa tarde.

 

Tenho um sistema de adição e visualização de dados, mas não estou conseguindo criar o de edição.

 

Para editar algo, o usuário entra no endereço:

http://www.meusite.com.br/edit.php?ID=$ID

 

O código atualmente está assim:

<?
#chamamos o arquivo para que a variável $contagem seja atualizada
require ("acesso.php");
if ( $contagem == 1 ) {
//aqui deixe aberto, pois iremos fechar somente no final da página
  ?>
  <?php
include "config.php";
$conexao = mysql_connect("$local", "$usuario", "$senhaa")
 or die(mysql_error());
$db = mysql_select_db("$selecione",$conexao)
 or die (mysql_error());
mysql_set_charset('utf8');
ini_set('default_charset','UTF-8');

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<title>Editar dados da Agenda</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="box">
<div id="formulario">
<form action="" method="post" enctype="multipart/form-data">
<a href=javascript:history.go(-1)>« Voltar</a>
 <fieldset>
 <legend><center>Edite os dados da Pessoa</center></legend>

<?php if (isset($_POST['enviar']) && $_POST['enviar'] == 'send') {
$ID = $_GET['id'];

$busca = mysql_query("SELECT * FROM tabela WHERE id = $ID"); 
$row = mysql_fetch_arrow($busca);

 $Nome   = strip_tags(trim($_POST['Nome']));
 $Apelido    = strip_tags(trim($_POST['Apelido']));
 $Sexo   = strip_tags(trim($_POST['Sexo']));
 $Endereco  = strip_tags(trim($_POST['Endereco']));
 $Idade  = strip_tags(trim($_POST['Idade']));
 $Telefone = strip_tags(trim($_POST['Tel']));
 
 if (empty($Nome)){
 $retorno = '<span style="color:red">ERRO: Digite o Nome</span>';
 }elseif (empty($Apelido)){
 $retorno = '<span style="color:red">ERRO: Digite o Apelido</span>';
 }elseif (empty($Sexo)){
 $retorno = '<span style="color:red">ERRO: Digite o Sexo</span>';
 }elseif (empty($Endereco)){
 $retorno = '<span style="color:red">ERRO: Digite o Endereço</span>';
 }elseif (empty($Idade)){
 $retorno = '<span style="color:red">ERRO: Informe a Data de Nascimento</span>';
 }elseif (empty($Tel)){
 $retorno = '<span style="color:red">ERRO: Informe so Telefone</span>';
 }if (empty($retorno)) {

$envio = mysql_query("UPDATE agenda SET (Nome = '$Nome', Apelido = '$Apelido', Sexo = '$Sexo', Endereco = '$Endereco', Idade = '$Idade', Telefone = '$Telefone' WHERE id = '$ID'");
 
if ($envio == 1) {
echo '<span style="color:red">Dados de $ID atualizados com êxito.</span>';
echo "<script type='text/javascript'>
alert('Dados atualizados com êxito.');
window.close();
</script>";
} else {
echo '<span style="color:red">Erro ao atualizar os dados. Por favor, tente novamente.</span>';
}
if ($retorno == 0){
 echo "$retorno";
} else {
}
}
}
?>
 
 <label>
 <span>Nome</span>
 <input type="text" value="<?php echo $row['Nome']; ?>" name="Nome" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>
 
 <label>
 <span>Apelido</span>
 <input type="text" value="<?php echo $row['Apelido']; ?>" name="Apelido" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>
 
 <label>
 <span>Sexo</span>
 <input type="text" value="<?php echo $row['Sexo']; ?>" name="Sexo" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>
 
 <label>
 <span>Endereço</span>
 <input type="text" value="<?php echo $row['Endereco']; ?>" name="Endereco" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>

 <label>
 <span>Data de Nascimento</span>
 <input type="date" value="<?php echo $row['idade']; ?>" name="Idade" maxlength="20" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>
 
 <label>
 <span>Telefone</span>
 <input type="text" value="<?php echo $row['Telefone']; ?>" name="Telefone" />
<input type="hidden" value="<?php echo $ID; ?>" name="ID" />
 </label>
 <input type="hidden" name="enviar" value="send" />
 <input type="submit" name="Enviar" />

 </fieldset>
</form>
</div><!--formulario-->
</div>
<?
  } else {
    echo "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Você não está logado.</font></div>"; //aqui que terminamos o IF que iniciamos na página
}
  ?>
</body>
</html>

Porém, não está funcionando (nem aparece os dados preenchidos a serem editados, nem muda as informações). O que devo modificar?

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM tabela

(...)

UPDATE agenda(...)

 

por via das dúvidas, verifique o nome da(s) tabela(s)

 

a propósito, funções mysql* estão obsoletas,

recomenda-se agora PDO:

 

http://www.devmedia.com.br/introducao-ao-php-pdo/24973

http://www.rafaelwendel.com/2011/12/tutorial-pdo-php-data-object/

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, que vacilo. Corrigi!

 

No entanto, o erro continua.

Os dados não aparecem escritos antes de serem editados, bem como não são mudados.

 

Ocorre o seguinte erro quando envio os novos dados:

Fatal error: Call to undefined function mysql_fetch_arrow() in /home/www/agenda/edit.php on line 37

Será que seria o fato do comando

$busca = mysql_query("SELECT * FROM agenda WHERE id = $ID");
$row = mysql_fetch_arrow($busca);

estar dentro de

<?php if (isset($_POST['enviar']) && $_POST['enviar'] == 'send') {

Em caso afirmativo, como eu deveria fazer?

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.