montano 0 Denunciar post Postado Abril 7, 2009 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
Fernando Medrado 1 Denunciar post Postado Abril 7, 2009 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
montano 0 Denunciar post Postado Abril 7, 2009 valeu fernando. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 7, 2009 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
montano 0 Denunciar post Postado Abril 8, 2009 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
Alaerte Gabriel 662 Denunciar post Postado Abril 8, 2009 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
montano 0 Denunciar post Postado Abril 8, 2009 muito bom, valeu.. funciono aqui Compartilhar este post Link para o post Compartilhar em outros sites