Salut a tous !!
J'ai fais un script qui permet d’exécuter des actions après vérification d'un mot de passe enregistré dans un fichier, le problème est que l'action en question peut mettre plusieurs minute a s’exécuter, j'aimerai donc écrire un message qui demande a l'utilisateur de patienter, le temps du chargement de l'action, sauf que je ne vois absolument pas comment faire, car a partir du moment ou l'action est lancé, le script restera bloqué a cette ligne jusqu’à ce qu'elle ce termine.
Je vous montre une maquette du code afin que vous puissiez visualiser :
Cette page est appellée par un simple formulaire a plusieure choix
J'ai fais un script qui permet d’exécuter des actions après vérification d'un mot de passe enregistré dans un fichier, le problème est que l'action en question peut mettre plusieurs minute a s’exécuter, j'aimerai donc écrire un message qui demande a l'utilisateur de patienter, le temps du chargement de l'action, sauf que je ne vois absolument pas comment faire, car a partir du moment ou l'action est lancé, le script restera bloqué a cette ligne jusqu’à ce qu'elle ce termine.
Je vous montre une maquette du code afin que vous puissiez visualiser :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Rock</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
function EnvoieFormulaire ($mdp) {
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<p>
<input type="password" name="<?php echo $mdp; ?>">
<input type="submit" value="Valider">
</form>
</p>
<?php
}
$monFichier = fopen('MotDePasse.txt', 'r') or die("Fichier manquant"); // 1 : on ouvre le fichier
$contenu=file_get_contents('MotDePasse.txt'); // Parcours le fichier et le stock dans contenu
$nombrmots = str_word_count($contenu, 0);
for ($i = 1; $i <= $nombrmots; $i++)
{
$mdp[$i] = fgets($monFichier); // 2 : on récupere le mot de passe
$mdp[$i] = trim($mdp[$i]);
}
fclose($monFichier); // 3 : quand on a fini de l'utiliser, on ferme le fichier
if (isset($_POST['choix']) AND $_POST['choix']=='Choix1')//Est ce que choix1 a été validés
{
echo "Veuillez entrer votre mot de passe";
EnvoieFormulaire ('mot_de_passe_1');
}
if (!isset($_POST['choix']) AND isset($_POST['mot_de_passe_1']))
{
$mdp_temp = $_POST['mot_de_passe_1'];
$continue = 0;
for ($i = 1; $i <= $nombrmots; $i++)
{
if ($mdp_temp === $mdp[$i])
{
$continue = 1;
$i = $nombrmots;
}
else
{
}
}
if($continue === 1)
{
*Action qui peut durer jusqu'a 2 min avant de s'executer complement, c'est ici que j'aimerai instauré mon message d'attente*
}
elseif($continue === 0)
{
echo "Veuillez retaper votre mot de passe";
EnvoieFormulaire ('mot_de_passe_1');
}
} ?>
</body>
</html>
Cette page est appellée par un simple formulaire a plusieure choix