Ver Mensaje Individual
  #8 (permalink)  
Antiguo 08/12/2010, 06:08
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Respuesta: Contar envios en un formulario con submit/enviar

Hola de nuevo.

areslepra , la forma de hacerla con sessiones y/o cookies la dejo para más adelante ya que a esa parte todavía no he llegado, así que por ahora anoto tu explicación hasta que llegue a ese tema. Gracias.


abimaelrc he seguido tu ejemplo y he cambiado algunas cosas, por ejemplo en el contador en vez de empezar de 0 le meto -1 ya que al cargar la url ya me hace una cuenta, y así empieza de 0 en pantalla.

Código PHP:
<?php
$file 
'file.txt';
if(!
file_exists($file)){ file_put_contents($file, -1);}
$count file_get_contents($file) + 1;
file_put_contents($file$count);
//echo $count;
?>
Por otro lado creo que todo va bien, lo único que veo es que el campo de contraseña no hace el conteo aparte, es decir que el conteo lo hace siempre que se refresque o se envie el formulario aunque el campo contraseña esté vacio.

¿Es posible no sumar 1 cuanto el campo de contraseña está vacío?

Código PHP:
<?php
function hacer_formulario()
{
//Primero creo el formulario para mostrar
echo "<form action=\"funciones-ejercicio-probando4.php\" method=\"post\">
<input type=\"text\" name=\"nombre\" value=\"$_POST[nombre]\"/> Nombre<br />
<input type=\"text\" name=\"contraseña\" /> Contraseña<br />
<input type=\"submit\" name=\"enviar\" />
</form>"
;
//Recojo las variables nombre y contraseña
$nombre=$_REQUEST[nombre];
$contraseña=$_REQUEST[contraseña];
//Preparo una contraseña real
$contraseñareal="per78";
include(
'file.php'); //aquí meto el contador de intentos
if (isset($_POST[nombre]) && $_POST[nombre]!="") {
    echo 
"$nombre <br />";}
elseif (isset(
$_POST[nombre]))
{echo 
"Rellene su nombre<br />";}
if (isset(
$_POST[contraseña]) && $_POST[contraseña]!="" and $contraseña==$contraseñareal)
     {echo 
"Contraseña correcta.";}
elseif (isset(
$_POST[contraseña]) && $_POST[contraseña]!="" and $contraseña!=$contraseñareal)
     if(
$count<2)
    {echo 
"Contraseña incorrecta - Intentelo de nuevo. Lleva $count intentos";}
    else {echo 
"Contraseña incorrecta - No tiene más intentos. Lleva $count intentos";}
elseif(isset(
$_POST[contraseña]))
{echo
"Rellene su contraseña<br />";
/*$count=$count-1;*/}
}
hacer_formulario();
?>
Saludos