8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis en local sur une tablette Samsung. Lorsqu'elle est mise en veille et que la page est rechargée les champs de formulaire input présents sur la page deviennent inutilisables (ils passent en grisé). Voici ce que je fais pour éviter d'avoir un message demandant la confirmation du renvoi du formulaire, c'est sûrement lié :

// { Début - Première partie
if(!empty($_POST) OR !empty($_FILES))
{
    $_SESSION['sauvegarde'] = $_POST ;
    $_SESSION['sauvegardeFILES'] = $_FILES ;
     
    $fichierActuel = $_SERVER['PHP_SELF'] ;
    if(!empty($_SERVER['QUERY_STRING']))
    {
        $fichierActuel .= '?' . $_SERVER['QUERY_STRING'] ;
    }
 
     
    
   header('Location: ' . $fichierActuel);
    exit;
}
// } Fin - Première partie
 
// { Début - Seconde partie
if(isset($_SESSION['sauvegarde']))
{
    $_POST = $_SESSION['sauvegarde'] ;
    $_FILES = $_SESSION['sauvegardeFILES'] ;
     
 
 
}
// } Fin - Seconde partie

Bonjour,
c'est bien joli mais jamais vous n'effacez le contenu des superglobales donc ça sent la redirection infinie en plein nez
// { Début - Première partie
if(!empty($_POST) OR !empty($_FILES))
{
    $_SESSION['sauvegarde'] = $_POST ;
    $_SESSION['sauvegardeFILES'] = $_FILES ;
    unset($_POST, $_FILES);/* <================*/
 
    $fichierActuel = $_SERVER['PHP_SELF'] ;
    if(!empty($_SERVER['QUERY_STRING']))
    {
        $fichierActuel .= '?' . $_SERVER['QUERY_STRING'] ;
    }
 
     
    
   header('Location: ' . $fichierActuel);
    exit;
}
// } Fin - Première partie
 
// { Début - Seconde partie
if(isset($_SESSION['sauvegarde']))
{
    $_POST = $_SESSION['sauvegarde'] ;
    $_FILES = $_SESSION['sauvegardeFILES'] ;
     
 
 
}
// } Fin - Seconde partie

Quel intérêt pour vous la seconde partie ? Vous les virez en partie 1, autant laisser ainsi et poursuivre le travail sur $_SESSION, non ?
Modifié par Greg_Lumiere (20 Oct 2019 - 17:04)
Bonjour,

Merci pour ce retour, j'ai en fait pris une solution directement trouvée sur un forum, qui jusque là remplissait son office. Ma difficulté est que je pense que c'est ce qui fait qu'après une mise en veille mes formulaires deviennent inactifs...

Merci encore et bonne journée