Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
;)
Carregando comentários...