Bonjour,

J'ai easyPhp 1.8 en local sous Windows XP et j'ai un problème de rafraichissement de pages en php.

J'ai un formulaire et je veux vérifier les champs saisis lors de l'appui sur le bouton Validation.

Pour cela je veux réafficher la page avec les messages d'erreurs

Malheureusement lorsque la page se réaffiche toutes les saisies ont disparues comme si c'était son premier affichage.

Voic un bout de code simplifié qui reproduit le phénomène
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
/*
  Teste de validation et de redirection
*/
 
// mes includes simplifiés
function validation_apresacte($valeur) {
	$erreurs = array();
	if ($valeur != "ok")
	{
		$erreurs[0] = "'$valeur' n'est pas la valeur attendue!";
	}
	return $erreurs;
}
function initialise_apresacte() {
	$bdd = array();
	$bdd[] = "valeur de la base";
	return $bdd;
}
 
// mon code d'entête retors
$valide = false;
$apreacte = array();
if (true){ // session  ok
 
	if (isset($avalider))
	{
		$apreacte = validation_apresacte($persiste);// ou un tableau de valeur.
        $valide = (count($apreacte) == 0)? true : false;		
		if ($valide)
		{
			//tout est ok, page suivante
			header("Location:page_suivante.php"); // redirection  apres validation
			exit();
		}	 
 
		// y'a des erreurs, là, pas de redirection, on continue dans cette page, avec apresacte bien rempli de message d'erreur
	}
	else
	{
		// Initialisation des données pour les affichages
		$apreacte = initialise_apresacte();
	}
 
}
else {
	header("Location:identification.php?erreur=intru"); // redirection en cas d'echec
}
 
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<p>rentrer "ok" pour bonne valeur et autre pour mauvaise</p>
<form>
	<input name="persiste" type="text" size="70" maxlength="70" value="<?php echo $apreacte[0]; ?>">
	<br>
    <input type="submit" name="Submit" value="Validation">
	<input name="Annulation" type="reset" value="Annulation">
	<input type="hidden" name="avalider" value="1">
</form>
</body>
</html>
J'ai installé ce code sur un serveur distant et le problème n'apparaît pas.

Je l'ai testé sur un autre ordinateur avec easyphp 1.8 puis 1.7 et c'est toujours le même bug.

Comme ca ne marche qu'à distance, je soupçonne la configuration d'Apache sous easyPhp, mais j'ignore comment régler ce problème !

Si quelqu'un connait une solution ...
Merci