Ir para conteúdo

POWERED BY:

Arquivado

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

vonzuben

Atualizar campo após UPDATE

Recommended Posts

Tenho uma página de formulário, pois com os campos preenchido pelo comando SELECT, sendo que utilizei o comando UPDATE para o usuário fazer atualizando no formulário, onde que após o UPDATE o campo não atualiza na hora, somente dado F5.

 

Como atualizar na hora que eu clicar no botao atualizar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim:

/* Você tem sua SQL: */
$sql = mysql_query('UPDATE ...');

/* Pra atualizar, apenas faça um if: */
if($sql){
echo "<script>window.location();</script>";
}else{
echo "Erro ao atualizar campos!";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente está meio difícil de entender o que ocorre...

 

O que eu entendi foi:

 

Após o comando UPDATE, você atualiza a página e continua as mesmas informações que estavam antes. É isso?

 

Se for isso mesmo que entendi, então algum erro está ocorrendo no seu script na hora de atualizar. Pode ser na instrução SQL ou no PHP.

 

Acho que postando seu código ficará mais fácil de entender o problema...

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele atualiza no banco de dados e no form, mas no form nao atualiza na hora, somente se eu clicar F5

É que estou fazendo ele executar na mesma página

 

                               <?php
			require_once("config/conexao.php");
			$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");
			$linha = mysql_fetch_array($sql);
                               ?>
			<form action="http://www.meusite.com.br/perfil" method="post" >
  				<label>Nome:</label><br />
  				<input type="text" name="nome" id="nome" size="35" value="<?php echo $linha['nome']; ?>"/><br />
  				<label>Sobrenome:</label><br />
  				<input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $linha['sobrenome']; ?>"/><br />
  				<label>E-mail:</label><br />
  				<input type="text" name="email" id="email" size="35" value="<?php echo $linha['email']; ?>"/><br />
     				        <label>Nova Senha:</label><br />
  				<input type="password" name="senha" id="senha" size="20" value="<?php echo $linha['senha']; ?>"/><br />
     				        <label>Em qual corretora você opera?</label><br />
  				<input type="text" name="corretora" id="corretora" size="35" value="<?php echo $linha['corretora']; ?>"/><br /><br />
     				        <button type="submit" name="alterar">Atualizar</button>
			</form>
                               <?php
			if($_SERVER['REQUEST_METHOD']=='POST'){
			   $nome       = strip_tags(trim(ucwords(strtolower($_POST['nome']))));
			   $sobrenome  = strip_tags(trim(ucwords(strtolower($_POST['sobrenome']))));
                           $email      = strip_tags(trim(strtolower($_POST['email'])));
                           $senha      = strip_tags(trim($_POST['senha']));
			   $corretora  = strip_tags(trim(ucwords(strtolower($_POST['corretora']))));

			   $sql = mysql_query("UPDATE usuarios SET nome = '$nome', sobrenome = '$sobrenome', email = '$email', senha = '$senha', corretora = '$corretora' WHERE usuario_id = '$usuario_id'");
			if (!$sql){
				echo '<div>Não foi possível atualizar seus dados!</div>';
			}else{
				echo '<div>Seus dados foi atualizado com sucesso!</div>';
			}				
			}
			?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, mas mude para isso, que se for atualizado com sucesso, mostra um alerta dizendo e depois recarrega a página:

if (!$sql){
                                       echo '<div>Não foi possível atualizar seus dados!</div>';
                               }else{
                                       echo "<script>window.alert('Atualizado com sucesso!');window.location();</script>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vonzuben,

 

Vai ai minhas sugestões:

 

1ª) - os dados serão atualizados, e as alterações serão apresentadas na mesma tela, ou seja, a tela de edição dos dados.

 

<?php require_once("config/conexao.php");

 

if(isset($_POST['editar_usuario']) && $_POST['editar_usuario'] == 'cad'){

$nome = strip_tags(trim(ucwords(strtolower($_POST['nome']))));

$sobrenome = strip_tags(trim(ucwords(strtolower($_POST['sobrenome']))));

$email = strip_tags(trim(strtolower($_POST['email'])));

$senha = strip_tags(trim($_POST['senha']));

$corretora = strip_tags(trim(ucwords(strtolower($_POST['corretora']))));

$sql = mysql_query("UPDATE usuarios SET nome = '$nome', sobrenome = '$sobrenome', email = '$email', senha = '$senha', corretora = '$corretora' WHERE usuario_id = '$usuario_id'");

if (!$sql){

echo '<div>Não foi possível atualizar seus dados!</div>';

}else{

echo '<div>Seus dados foi atualizado com sucesso!</div>';

}

}

?>

 

<?php

$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");

$linha = mysql_fetch_array($sql);

?>

<form name="editar_usuario" method="post" >

<label>Nome:</label><br />

<input type="text" name="nome" id="nome" size="35" value="<?php echo $linha['nome']; ?>"/><br />

<label>Sobrenome:</label><br />

<input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $linha['sobrenome']; ?>"/><br />

<label>E-mail:</label><br />

<input type="text" name="email" id="email" size="35" value="<?php echo $linha['email']; ?>"/><br />

<label>Nova Senha:</label><br />

<input type="password" name="senha" id="senha" size="20" value="<?php echo $linha['senha']; ?>"/><br />

<label>Em qual corretora você opera?</label><br />

<input type="text" name="corretora" id="corretora" size="35" value="<?php echo $linha['corretora']; ?>"/><br /><br />

<input type="hidden" name="editar_usuario" value="cad" />

<button type="submit" name="alterar">Atualizar</button>

</form>

 

 

2ª) - os dados serão atualizados, e o usuario será redirecionado para outra tela, na qual os dados já alterado serão exibido.

 

<?php require_once("config/conexao.php");

 

if(isset($_POST['editar_usuario']) && $_POST['editar_usuario'] == 'cad'){

 

$exibir_apos_editar ='http://www.meusite.com.br/perfil'; //possa ser que voce aqui tenha que passar junto com a URL um parametro referente ao ID do usuario

 

$nome = strip_tags(trim(ucwords(strtolower($_POST['nome']))));

$sobrenome = strip_tags(trim(ucwords(strtolower($_POST['sobrenome']))));

$email = strip_tags(trim(strtolower($_POST['email'])));

$senha = strip_tags(trim($_POST['senha']));

$corretora = strip_tags(trim(ucwords(strtolower($_POST['corretora']))));

$sql = mysql_query("UPDATE usuarios SET nome = '$nome', sobrenome = '$sobrenome', email = '$email', senha = '$senha', corretora = '$corretora' WHERE usuario_id = '$usuario_id'");

if (!$sql){

echo '<div>Não foi possível atualizar seus dados!</div>';

}else{

echo "<script>window.location='$exibir_apos_editar'</script>";

}

}

?>

 

<?php

$sql = mysql_query("SELECT * FROM usuarios WHERE usuario_id = '$usuario_id'");

$linha = mysql_fetch_array($sql);

?>

<form name="editar_usuario" method="post" >

<label>Nome:</label><br />

<input type="text" name="nome" id="nome" size="35" value="<?php echo $linha['nome']; ?>"/><br />

<label>Sobrenome:</label><br />

<input type="text" name="sobrenome" id="sobrenome" size="35" value="<?php echo $linha['sobrenome']; ?>"/><br />

<label>E-mail:</label><br />

<input type="text" name="email" id="email" size="35" value="<?php echo $linha['email']; ?>"/><br />

<label>Nova Senha:</label><br />

<input type="password" name="senha" id="senha" size="20" value="<?php echo $linha['senha']; ?>"/><br />

<label>Em qual corretora você opera?</label><br />

<input type="text" name="corretora" id="corretora" size="35" value="<?php echo $linha['corretora']; ?>"/><br /><br />

<input type="hidden" name="editar_usuario" value="cad" />

<button type="submit" name="alterar">Atualizar</button>

</form>

 

Espero ter lhe ajudado.

 

flamaury

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, mas mude para isso, que se for atualizado com sucesso, mostra um alerta dizendo e depois recarrega a página:

if (!$sql){
                                       echo '<div>Não foi possível atualizar seus dados!</div>';
                               }else{
                                       echo "<script>window.alert('Atualizado com sucesso!');window.location();</script>";

 

então grabriel, esse do script até já sabia, pois não curto nem um pouco usar script

Teria outro jeito através somente pelo PHP ?

 

se não deixo assim mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, fiz de outro modo:

if (!$sql){
                                       echo '<div>Não foi possível atualizar seus dados!</div>';
                               }else{
echo "<div>Atualizado com sucesso!</div><br><a name=\"sucess\"></a>";
echo "<script>location.href='#sucess';</script>";
}

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.