Hola de nuevo.
He probado la opción de contar desde un .txt y más o menos me sale correcto.
Código PHP:
<?php
$aintentos = fopen("intentos.txt", "a+");
$aintentos = fopen("intentos.txt", "r");
$cintentos = fread($aintentos, 1024);
fclose($aintentos);
$cintentos = $cintentos + 1;
echo "<p>Intentos de contraseña:" . $cintentos . "</p>";
$aintentos = fopen("intentos.txt", "w");
fwrite($aintentos, $cintentos);
fclose($aintentos);
?>
Luego intento recoger el nº de envios o de intentos de contraseña para no pasar de 2 ya que solo hay dos intentos para acertar la contraseña correcta pero no termino de enlazarlo todo.
Código PHP:
<?
function hacer_formulario()
{
//Primero creo el formulario para mostrar
echo "<form action=\"funciones-ejercicio-probando2b.php\" method=\"post\">
<input type=\"text\" name=\"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";
//Abro y creo un archivo de texto para guardar nombre y contraseña
$ftexto= fopen("formulario.txt", "a+") or die("Ha surgido un problema al crear el archivo");
fwrite($ftexto,"\r\n");
//Recojo el nombre en pantalla y en el archivo.txt
if (isset($_POST[nombre]) && $_POST[nombre]!="") {
echo "$nombre <br />";}
elseif (isset($_POST[nombre]))
{echo "Rellene su nombre<br />";}
fwrite($ftexto,"Su nombre es: $nombre");
fwrite($ftexto,"\r\n");
//Preparo el número de intentos máximo para acertar la contraseña
$intentos=2;
//Recojo la contraseña en pantalla y en el archivo.txt
fwrite($ftexto,"Su contraseña es: $contraseña");
fwrite($ftexto,"\r\n");
include('contador-intentos.php'); //aquí meto el contador de intentos
if (isset($_POST[contraseña]) && $_POST[contraseña]!="") {
if($contraseña==$contraseñareal)
{echo "Contraseña correcta - ";}
elseif ($contraseña!=$contraseñareal and $cintentos<=2)
{$intentos=$intentos-1;
echo "Contraseña incorrecta - Le quedan $intentos intentos - ";}
echo "$contraseña<br />";}
elseif($contraseña!=$contraseñareal and $cintentos>2)
{echo "Contraseña incorrecta - No tiene más intentos";}
elseif(isset($_POST[contraseña]))
{echo"Rellene su contraseña<br />";}
fwrite($ftexto,"Intentos realizados: $intentos");
fwrite($ftexto,"\r\n");
fclose($ftexto);
}
hacer_formulario();
?>
Se que con un .txt no es lo mejor pero es el ejercicio que me piden. ¿como puedo enlazar correctamente ese recuento?