Foros del Web » Programando para Internet » PHP »

cookie para deshabilitar la validacion de un formulario

Estas en el tema de cookie para deshabilitar la validacion de un formulario en el foro de PHP en Foros del Web. bueno, primero que todo hola, espero puedan ayudarme Sucede que tengo un formulario de contacto Código HTML: _contacto.html <form id= "contacto" name= "contacto" method= "post" ...
  #1 (permalink)  
Antiguo 23/10/2010, 17:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 107
Antigüedad: 13 años, 6 meses
Puntos: 14
Pregunta cookie para deshabilitar la validacion de un formulario

bueno, primero que todo hola, espero puedan ayudarme

Sucede que tengo un formulario de contacto
Código HTML:
_contacto.html

<form id="contacto" name="contacto" method="post" action="enviar.php" class="contacto"   >
 <p>&nbsp;</p>
 <p>
   <label style="margin-right:9px"  >*Nombre<input name="nombre" type="text" id="nombre" size="30" ></label>
 </p>
 <p><label style="margin-right:32px" >Organizacion<input name="empresa" type="text" id="empresa" size="30"/></label></p>
 <p>
   <label>*E-mail
     <input name="mail" type="text" id="mail" size="30" ></label></p>
 <p><label >*Mensaje<br />
 <textarea name="mensaje" cols="40" rows="8" id="mensaje" ></textarea></label></p>
 <p><input type="submit" name="Submit" value="Enviar" class="envio"  /></p>

 </form> 

Código PHP:

_enviar
.php


    $nombre 
$_POST['nombre'];
$mail $_POST['mail'];
$empresa $_POST['empresa'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "De " $nombre ", de  " $empresa " \r\n";
$mensaje .= "e-mail: " $mail " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Mensaje de Marcasteleon.netai.net';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'ok';
header("Refresh: 1; ".$_SERVER['HTTP_REFERER'] .""); 

que me envia un mail; lo que quiero hacer es que cuando el usuario me mande el mail, el boton para que se haga su envio ya no aparesca por un tiempo de un dia y asi el usuario pueda solo enviarme un mail al dia.

yo habia intentado hacerlo utilizando cookies con php

Código HTML:
<?

if(isset($_POST["contacto"])){
   /
   $contacto = $_POST["contacto"];
   
   setcookie("contacto", $contacto, time() + (60 * 60 * 24 * 1));
}else{
   
   if (isset($_COOKIE["contacto"])){
      
      $contacto = $_COOKIE["contacto"];
   }
}
?>



<form id="contacto" name="contacto" method="post" action="enviar.php" class="contacto"   >
 <p>&nbsp;</p>
 <p>
   <label style="margin-right:9px"  >*Nombre<input name="nombre" type="text" id="nombre" size="30" onblur="conta()" onclick="conta()"/></label>
 </p>
 <p><label style="margin-right:32px" >Organizacion<input name="empresa" type="text" id="empresa" size="30" onblur="conta()" onclick="conta()"/></label></p>
 <p>
   <label>*E-mail
     <input name="mail" type="text" id="mail" size="30" onblur="conta()" onclick="conta()"/></label></p>
 <p><label >*Mensaje<br />
 <textarea name="mensaje" cols="40" rows="8" id="mensaje" onblur="conta()" onclick="conta()"></textarea></label></p>
 <p>
 
 
 <?
 if (isset($contacto)){
   echo 'uff! demasiados mensajes por un dia';
}
else{ 

echo '<input type="submit" name="Submit" value="Enviar" class="envio"  />';

}

?> 
pero no me funcionaba.



gracias por su ayuda.
  #2 (permalink)  
Antiguo 23/10/2010, 19:10
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: cookie para deshabilitar la validacion de un formulario

Y si borran la cookie? que?


Para lo que queres hacer es llevar un registro de los usuarios, ya sea en un archivo de texto o una bd.
En cada registro agregar un valor time() que es la hora actual (es un valor en segundos), cuando recibis el form, tenes que cotejar que el time() guardado sea superior al time() actual + 86400, ya que 86400 es el valor en segundos de 1 día, si ese ultimo valor es inferior al guardado, significa que el usuario envio un nuevo post antes de las 24 horas del previo



Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 24/10/2010, 02:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola MARCASTELEON. Bienvenido al foro.

Muevo tu tema al foro de PHP desde Web general.

Saludos,
  #4 (permalink)  
Antiguo 24/10/2010, 06:31
 
Fecha de Ingreso: octubre-2010
Mensajes: 107
Antigüedad: 13 años, 6 meses
Puntos: 14
Respuesta: cookie para deshabilitar la validacion de un formulario

Cita:
Iniciado por emprear Ver Mensaje
Y si borran la cookie? que?


Para lo que queres hacer es llevar un registro de los usuarios, ya sea en un archivo de texto o una bd.
En cada registro agregar un valor time() que es la hora actual (es un valor en segundos), cuando recibis el form, tenes que cotejar que el time() guardado sea superior al time() actual + 86400, ya que 86400 es el valor en segundos de 1 día, si ese ultimo valor es inferior al guardado, significa que el usuario envio un nuevo post antes de las 24 horas del previo



Saludos

Gracias por la solucion que das, no soy experto en php y no sabria como hacer lo que dices, espero que puedas decirme como hacerlo o que alguien mas me ayude.

Gracias

Etiquetas: cookie, deshabilitar, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.