Ir para conteúdo

POWERED BY:

Arquivado

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

Wagner Bianchi

Existe alguma maneira de destruir as variáveis

Recommended Posts

Opa, http://forum.imasters.com.br/public/style_emoticons/default/yes.gif

 

Galera, seguinte: montei um guest book numa página e na própria você tanto visualiza quanto posta, até aí tudo bem. . .preencho o fomulário e clico em postar. O lindo post aparece logo acima na lista de postes.

 

Verifiquei que com o refresh na janel, o post torna a publicar e assim, quantas vezes clico em refresh ele vai publicando, já que as variáveis estão na memória.

 

Fiz um if que recebe o valor==1 de um campo hidden AND compara o valor de ip==$REMOTE_ADDR, caso true, executa o insert, caso false, fica calado.

 

Pergunta:

 

Como proceder para após o INSERT, apagar essas variáveis da memória ou mesmo destruí-las?? :P

 

 

Obrigado galera!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

DEUS Abençoe!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

unset

 

(PHP 3, PHP 4, PHP 5 )

unset -- Destrói a variável especificada

Descrição

void unset ( mixed var [, mixed var [, ...]] )

 

unset() destrói a variável especificada. Lembrando que no PHP 3, unset() sempre retornará TRUE (atualmente, o valor inteiro 1). No PHP 4, porém, unset() não é uma função verdadeira: agora é um construtor da linguagem. Como tal, nenhum valor é retornado, se tentar pegar o valor de unset() um erro de sintaxe (parse error) irá acontecer.

 

Exemplo 1. Exemplo de unset()

 

PHP

[*]<?php

[*]// destrói uma única variável

[*]unset ($foo);

[*]

[*]// destrói um único elemento de uma matriz

[*]unset ($bar['quux']);

[*]

[*]// destrói mais de uma variável

[*]unset ($foo1, $foo2, $foo3);

[*]?> 

 

Retirado de http://br.php.net/unset

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas olha o que tá acontecendo galera:

 

Quando clico no botão "guestbook", ele já faz um insert variáveis vazias no banco. . .

 

Será que um isset impede isso???

 

Olha o que fiz. . .

 

PHP

[*]

[*]if (($campo==1) AND ($REMOTE_ADDR==$ip)){

[*] unset ($foo1, $foo2, $foo3);

[*]}else{

[*] $sql = mysql_query("INSERT INTO guestbook (guest_nome,guest_mail,guest_ip,guest_data,guest_msg) VALUES ('$guest_nome','$guest_mail','$guest_ip','$guest_data','$guest_msg')");

[*]}

[*]

Obrigado!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

DEUS Abençõe!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao sei se intendi bem qual o problema, mas voce pode dar unset na variavel $campo depois que passar do sql, dai ela soh vai voltar a ter valor quando vier de um form html, saco??

 

 

PHP

[*]

[*](...)

[*]if (($campo==1) {

[*] $sql = mysql_query "INSERT INTO guestbook (guest_nome,

[*] guest_mail,guest_ip,guest_data,guest_msg) VALUES 

[*] ('$guest_nome','$guest_mail','$guest_ip','$guest_data',

[*] '$guest_msg')");

[*] unset ($campo);

[*]}

[*](...)

[*]

 

<form action="arquivo.php" method=post>
<input type=hidden name=campo value=1>
(...)

 

[]s

luis

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.