Ir para conteúdo

Arquivado

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

montano

[Resolvido] Zerando GET no browser

Recommended Posts

bom dia,

 

estou trabalhando bom method GET, para pegar uma variavel de um input.

 

<?php
$prod=$_GET["produto"]; 
require_once("classes/insert.php");  //Classe que executa a query.
$produto = new insert ('localhost','root','','inside');

if (!empty($prod))
$result = $produto->execute("INSERT INTO tb_produto (produto) VALUES ('$prod')");

?>

<html>
<head>
<title>Cadastro Produto</title>
</head>
<form action = "cad_produto.php" METHOD = "GET">
<input type = "texte" name = "produto">
<input type = "submit" name = "cadastrar" value = "Cadastar">
</form>
</html>
]

 

Problema: se eu cadastro ali "camiseta" meu browser vai ficar assim :

http://localhost/inside/cad_produto.php?produto=camiseta

 

só que "camiseta" nao sai do browser, e dae se eu aperto F5 ele cadastra de novo camiseta.. teria como ele executar o GET e depois "apagar" o get do browser, nao deixando exposto oque eu cadastrei e nem deixando possibilidade de eu atualizar a pagina e cadastrar de novo a mesma coisa.

 

 

att

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca isso depois do teu insert

 

echo '<meta http-equiv="refresh" content="0 url=cad_produto.php">';
exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

forma inadequada, deste modo, apenas irá parar a execução de seu script e qualquer outro que esteja abaixo do exit.

 

o correto seria você fazer uma função if verificando o sucesso do cadastro (true) e então redirecionando para página de cadastro novamente dando um unset(); no get desejado apra que seja apagado o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

forma inadequada, deste modo, apenas irá parar a execução de seu script e qualquer outro que esteja abaixo do exit.

 

o correto seria você fazer uma função if verificando o sucesso do cadastro (true) e então redirecionando para página de cadastro novamente dando um unset(); no get desejado apra que seja apagado o valor.

teria como representar em um breve exemplo?

 

eu precisaria de um ir no return da query?. e se for true eu do esse unset();

 

como é a sintaxe do unset?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue um exemplo, caso dê erros poste aí porque fiz sem testar.

 

Abraço.

 

<?php
if($_SERVER['REQUEST_METHOD']=='GET')
{
$prod= isset($_GET['produto']) ? $_GET['produto'] : false;

require('classes/insert.php');  //Classe que executa a query.

if($prod != false){
$produto = new insert ('localhost','root','','inside');

$result = $produto->execute("INSERT INTO tb_produto (produto) VALUES ('$prod')");

if($result){
   echo 'Cadastro efetuado com sucesso !';
   unset($prod);
   header('Location: pagina.php');
}else{
  echo 'Falha no cadastro, tente novamente.';
  unset($prod);
  header('Location: pagina.php');
}


}

}
?>

<html>
<head>
<title>Cadastro Produto</title>
</head>
<form action = "cad_produto.php" METHOD = "GET">
<input type = "texte" name = "produto">
<input type = "submit" name = "cadastrar" value = "Cadastar">
</form>
</html>

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.