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
J'ai installé ce code sur un serveur distant et le problème n'apparaît pas.
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>
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
Partager