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