Ir ao conteúdo
  • Cadastre-se

[ PHP ] Reenvio de dados ao atualizar


Posts recomendados

E aí pessoal, tudo certo?

 

Estou tendo um problema aqui com o PHP.

Eu estou desenvolvendo um sistema de encurtador de links, que até agora está na reta final.

Já está até no ar, caso queiram verificar: www.gfans.cc.

 

Porém, estou tendo um problema com reenvio de dados.

O problema é simples: se eu encurto um link e atualizo na hora de pegar o link, ele encurta o mesmo novamente.

Esse é um problema e tanto, pois podemos dizer que é meio que um spam, não?

 

Fiquem a vontade para acessar o site e testar esse problema.

 

Já procurei diversos tutoriais na internet, alguns falando de session_start(); com session_destroy(); ou alguns falando sobre unset($_POST); e outros exemplos. No entretanto, nenhum supriu minha necessidade, ou então eu não soube utilizar da maneira correta.

 

Alguém de vocês podem me ajudar a solucionar esse problema?

<?include("config.php");if (strstr($_SERVER['HTTP_REFERER'], $root));else { header ("Location: $rooturl"); }$ip = $_SERVER['REMOTE_ADDR'];$url = mysql_real_escape_string($_POST['url']);if(preg_match('|^http(s)?://[a-z0-9-]+(\.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url)) {	if (empty($_POST['tag'])) {		$query = mysql_query("INSERT INTO $table (ip,url) VALUES ('$ip','$url')") or die('MySQL error: '.mysql_error());		$qs = mysql_insert_id();	} else {		if (ereg('^[a-zA-Z0-9]+[a-zA-Z0-9]+$', $_POST['tag'])) {			$tag = mysql_real_escape_string($_POST['tag']);			$query = mysql_query("select * from $table where `tag` = '$tag';") or die('MySQL error: '.mysql_error());			if (mysql_num_rows($query) != 0)				die("<script>alert('Seu valor pr\u00e9-definido j\u00e1 est\u00e1 em uso. Por favor, tente outro ou deixe em branco para que o sistema gere um automaticamente.');history.go(-1) </script>");			else {				$query = mysql_query("insert $table (ip,url,tag) VALUES ('$ip','$url','$tag')") or die('MySQL error: '.mysql_error());				$qs = $tag;			}		} else			die("<script>alert('Seu valor pr\u00e9-definido contem caracteres inv\u00e1lidos. Apenas n\u00fameros e letras do alfabeto s\u00e3o permitidos. Por favor, reveja os dados e tente novamente.');history.go(-1) </script>");	}	$link = $destination . $qs;		require 'create_template.php';} else {	echo "<script>alert('Por favor, digite uma URL v\u00e1lida. Reveja os dados e tente novamente.');history.go(-1) </script>"; }mysql_close(); ?>

Fico tremendamente agradecido.

Forte abraço!

;)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...