samamao 0 Denunciar post Postado Janeiro 3, 2012 Ola pessoal sou novo aqui no forum então desculpe se estiver postando no lugar errado, estou com um pequeno problema em php, tenho um metodo simples que pega o nome email e mensagem da pessoa de um form e envia para um email da pessoa a mensagem. O problema é o seguinte se eu nao fizer algum esquema de segurança, permite que a pessoa envie 100 , 200 , 1000 mensagens para minha caixa de entrada atraves do formulario de contato, precisava fazer alguma validação para que a pessoa só consiga mandar no maximo 5 emails por dia. Qqr dúvida sera bem vindo e obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 comece usando cookies, e talvez um captcha para evitar robos. Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 Obrigado por sua atenção teria algum exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 http://wbruno.com.br/blog/2011/08/25/nao-busque-exemplos-esqueca-os-tutoriais/ Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 quando se gera um cookie aonde ele fica armazenado? Preciso armazenar o cookie em c:\cookies Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 o cookie fica na pasta temporária de cada navegador. você não tem como "direcionar" para onde você quiser. Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 Tipo gerei um cookie e queria ir na pasta raiz do google chrome e ver se realmente o cookie esta lá, porém fui na pasta do chrome e n achei nada de Temp la e nas opcoes de cookies do Chrome n tem o cookie do site que fiz, nesta lista de cookies armazenados do chrome ele aparece como nome o site ou é definido em algum parametro o nome do cookie que sera salvo? Obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Blod 0 Denunciar post Postado Janeiro 3, 2012 Cookies recebem nomes para poderem ser recuperados depois. http://www.php.net/manual/pt_BR/function.setcookie.php Exemplo: <?php setcookie('usuario1','roma',time()+12345); ?> usuario1 = nome do cookie Roma = valor armazenado no cookie time()+12345 = validade, data de expiração Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Janeiro 3, 2012 e se o navegador estive me modo privado/---o? como fica os cookies? Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 $ip = $_SERVER['REMOTE_ADDR']; veja só tenho o ip da pessoa que visitou meu site e preciso setar o cookie com o nome do ip setcookie($ip, $ip, $dataExpiracao); echo "O valor do cookie e :" . $_COOKIE[$ip]; porem nao funciona! ele nao seta com numero de ip? tentei setar pelo email da pessoa e tambem nao deu certo ele retorna vazio o echo :(. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 http://php.net/setcookie o "correto", seria o cookie se chamar "ip", e o valor do cookie ser o IP(numerico) do cara. assim como qualquer variavel em muitas linguagens de programação, você deve começar ela com um caracter não numerico(a-z_), provavelmente por isso o seu erro. pelo funcionamento do cookie, ele só estará disponível no proximo acesso a página. Por esse motivo, você não vai conseguir recuperar ele, logo depois de setar. Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 Parse error: syntax error, unexpected T_VARIABLE in e a linha que está o erro é esta e n tem erro nenhum veja que sinistro. $dataExpiracao = (time() + 86400); tentei com e sem os parenteses. do time Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 sempre que você ver um erro, você deve olhar tb para a linha de cima. oq tem acima disso ? Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 3, 2012 Era realmente na linha de cima o problema e ja resolvi obrigado. $dataExpiracao = (time() + 86400); setcookie('ip', $ip, $dataExpiracao); if (isset($_COOKIE['ip'])) { echo "O valor do cookie e :" . $_COOKIE['ip']; } tipo fiz o cookies ele já esta gerando e verificando se ele existe qual próximo passo agora para resolver meu problema? Lembrando que preciso que a pessoa só consiga enviar 5 vezes a mensagem no Email no período de 86400 que no caso é 24h! Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 3, 2012 cria um cookie na maquina da pessoa: "vezesEnviado". Cada vez q ela enviar você soma + 1 nesse cookie. (o ip é completamente desnecessário). antes de deixar ela enviar, você verificar o valor desse cookie: "vezesEnviado" Se vezesEnviado for maior ou igual a 5, você não deixa enviar. Se for menor, você deixa, e incrementa + 1 nele. Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 4, 2012 Fala meu rei, segui teus passos e aqui estou if (isset($_COOKIE['vezesenviado'])) { echo "<p align=center> Entrou aqui. </p>"; //echo "O valor do cookie e :" . $_COOKIE['vezesenviado']; $vezes = $vezes + 1; echo "<p align=center>$vezes</p>"; while ($vezes >= 5) { $podeenviar = false; echo "<p align=center>$vezesenviado Não pode mais enviar!</p>"; } } o problema é que ele esta retornando o echo "<p align=center>$vezes</p>"; 1 ou 2, ele nao esta incrementando o $vezes = $vezes + 1; sabe o porque disso? Vlw. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 4, 2012 pq você tem que guardar esse valor no cookie. Da forma que você fez, você não está atualizando o cookie. Compartilhar este post Link para o post Compartilhar em outros sites
samamao 0 Denunciar post Postado Janeiro 4, 2012 e como incrementa um valor em um cookie recebido? tentei isso mas n da tambem echo "O valor do cookie e :" . $_COOKIE['vezesenviado']; if (isset($_COOKIE['vezesenviado'])) { //echo "<p align=center> Entrou aqui. </p>"; //echo "O valor do cookie e :" . $_COOKIE['vezesenviado']; //$vezes++; setcookie('vezesenviado', $vezes=$vezes+1, $dataExpiracao); echo "<p align=center>$vezes</p>"; while ($vezes >= 5) { $podeenviar = false; echo "<p align=center>$vezesenviado Não pode mais enviar!</p>"; } } else { $vezes = 1; setcookie('vezesenviado', $vezes, $dataExpiracao); } Compartilhar este post Link para o post Compartilhar em outros sites
_Rafhael_ 2 Denunciar post Postado Janeiro 4, 2012 adapte a suas necessidades <?php if(isset($_COOKIE['teste'])) { $n = $_COOKIE['teste']; $n = $n+1; setcookie('teste',$n); echo $_COOKIE['teste']; } else { setcookie('teste',1); } ?> Compartilhar este post Link para o post Compartilhar em outros sites