Précédent   Forum des professionnels en informatique > PHP > Outils > EasyPHP
EasyPHP Forum d'entraide sur EasyPHP : installation, utilisation, etc. Avant de poster -> Cours EasyPHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/07/2005, 00h03   #1
Invité de passage
 
Inscription : avril 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 9
Points : 3
Points : 3
Par défaut EasyPhp et rafraîchissement de page

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 :
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
Thomy Lobo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2005, 08h11   #2
Membre régulier
 
Inscription : mars 2004
Messages : 98
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 98
Points : 87
Points : 87
Très probablement un register global à off sur EasyPHp (depuis la 1.7 par défaut), et à on sur ton serveur distant.
Utilise les tableaux $_POST et $_GET pour accéder à tes variables
Essaie de remplacer :

Code :
1
2
3
4
5
 
 
   if (isset($avalider))
   {
      $apreacte = validation_apresacte($persiste);// ou un tableau de valeur.
par

Code :
1
2
3
4
5
 
 
   if (isset($_GET['avalider']))
   {
      $apreacte = validation_apresacte($_GET['persiste']);// ou un tableau de valeur.
($_GET car tu n'as pas précisé la méthode de ton form)
aravis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2005, 11h31   #3
Invité de passage
 
Inscription : avril 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 9
Points : 3
Points : 3
C'est exactement ça le register_globals du php.ini était à Off

Merci beaucoup !

J'utilise principalement $_POST pour lire mes variables (sauf dans cet exemple )

Merci encore
Thomy Lobo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h08.


 
 
 
 
Partenaires

Hébergement Web