Php:probleme dans le refresh de la page ????
Fermé
manoula
-
7 févr. 2011 à 10:57
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 11 févr. 2011 à 00:43
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 11 févr. 2011 à 00:43
5 réponses
hardmehdi
Messages postés
154
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
18 août 2011
21
7 févr. 2011 à 11:02
7 févr. 2011 à 11:02
Bonjour,
J'ai rencontré ce problème plusieurs fois ... Parce que je mettais la fonction header() au milieu de la page, sachant que les headers sont déjà envoyé.
Je te conseille de faire une redirection en Javascript ou HTML ça te posera moins de problèmes.
J'ai rencontré ce problème plusieurs fois ... Parce que je mettais la fonction header() au milieu de la page, sachant que les headers sont déjà envoyé.
Je te conseille de faire une redirection en Javascript ou HTML ça te posera moins de problèmes.
Alors mes amis???
hardmehdi
Messages postés
154
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
18 août 2011
21
7 févr. 2011 à 14:38
7 févr. 2011 à 14:38
Je pense qu'il faut soumettre ton formulaire avant de faire la redirection ! C'est pour ça que les variables $service $login $password n'existent pas, essaie de soumettre en Javascript ton formulaire et après rediriger ... Sinon envoi les infos dans un lien que tu récupères avec $_GET[], ou enfin, utilise les $_SESSION[].
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
7 févr. 2011 à 14:51
7 févr. 2011 à 14:51
Salut,
Si tes problemes sont les
Notice: Undefined index:service in c:\xxx\xxx\gesmailsservice.php on line 11
Notice: Undefined index: login in c:\xxx/xxx/\gesmailsservice.php on line 12
Notice: Undefined index: password_serv in c:\xxx\gesmailsservice.php on line 13
Ce n'est "pas tres grave", cela veut juste dire que tu ne vérifies pas s'il y a quelque chose dans tes variables cf : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Tu peux aussi désactiver les Notice en modifiant ton php.ini en mettant : error_reporting = E_ALL & ~E_NOTICE
Mais ce n'est pas propre.. il vaut mieux les corriger.
Si tes problemes sont les
Notice: Undefined index:service in c:\xxx\xxx\gesmailsservice.php on line 11
Notice: Undefined index: login in c:\xxx/xxx/\gesmailsservice.php on line 12
Notice: Undefined index: password_serv in c:\xxx\gesmailsservice.php on line 13
Ce n'est "pas tres grave", cela veut juste dire que tu ne vérifies pas s'il y a quelque chose dans tes variables cf : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Tu peux aussi désactiver les Notice en modifiant ton php.ini en mettant : error_reporting = E_ALL & ~E_NOTICE
Mais ce n'est pas propre.. il vaut mieux les corriger.
voila la page GesMailService.php:
<div align="center"><p class="internallink"><a class="liendeco" href="deconnexion.php">Déconnexion</a>
</p>
</div>
</div>
</body>
</html>
<p> </p>
</div>
</body>
</html>
<?php // Ligne pour la compatibilit avec l'ancienne version de php installe sur le serveur if (!isset($_POST)) $_POST=$HTTP_POST_VARS; if (!isset($_GET)) $_GET=$HTTP_GET_VARS; require("../xx.xx.php"); require("../xx/db_connect.inc.php"); require_once('../xx/xxx.php'); $services=$_POST["service"]; $loginPost=$_POST["login"]; $MdpPost=$_POST["password_serv"]; $connexion=db_connexion(); $resultat = "SELECT * FROM services WHERE id_serv='$services' and password_serv='$MdpPost' and login_serv='$loginPost'"; $Inscrit=mysql_query($resultat); $ligne = mysql_num_rows($Inscrit); if ($ligne != 0) { $row_Inscrit=mysql_fetch_array($Inscrit); $login = $row_Inscrit["login_serv"]; $mdp = $row_Inscrit["password_serv"]; $services= $row_Inscrit["id_serv"]; $query ="SELECT contact.*,services.lib_serv_fr From contact,services where contact.id_serv=services.id_serv and contact.id_serv='".$services."'"; $result=mysql_query($query) or die("query failed"); } else{ header("Location: erreurlogin.html"); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="Espace d'administration" /> <link rel="stylesheet" type="text/css" href="xx/administration.css" /> <title> - Espace d'administration</title> <style type="text/css"> <!-- .Style1 { color: #26c; font-size: 14px; font-weight: bold; } --> </style> </head> <style type="text/css"> <!-- .warning { color: red; } .Sommaire {font-family: Verdana ;font-size: 18px} --> </style> <body> <div id="main"> <div id="logo"> <h1><a href="index.php" accesskey="4"><img src="img/logo.gif" border="0" width="190" height="120" /></a></h1> </div> <div id="intro"> <h2><a id="maincontent"></a> <br /><br /><br /><br /> Espace d'administration <br /><br /></h2> <p></p> </div><div class="clear"></div> <link href="css/administration.css" rel="stylesheet" type="text/css" /> <style type="text/css"> <!-- .Style1 {color: #26c} --> </style> <h4 style="text-align:left; padding-left:5px; color:#0066FF">Nombre de visiteurs partir du 28 Octobre 2010 :<span style="font-weight:bold"> <?php $fp = fopen("../compteur.txt","r+"); // 1.On ouvre le fichier en lecture/criture $nbvisites = fgets($fp,11); // 2.On rcupre le nombre dans le fichier // 5.On crit dans le fichier le nouveau nb fclose($fp); // 6.On ferme le fichier echo("$nbvisites"); // 7.On affiche le compteur l'cran ?></span> </h4> <h3 class="headerstyle" align="left"> Gestion des E-mails </h3> <table width="880" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td align="left" style=" xpadding:20px"> <?php $ligne = mysql_num_rows($result); // echo "".$ligne; if ($ligne != 0) { ?> <table width="880" border="0" align="center" cellpadding="0" cellspacing="0"> <thead id="thead"> <tr> <td width="15%" align="center" valign="middle">Date d'enregistrement</td> <td width="10%" align="center" valign="middle">Service</td> <td width="10%" align="center" valign="middle">Nom </td> <td width="11%" align="center" valign="middle">Prnom</td> <td width="14%" align="center" valign="middle">E_mail</td> <td width="11%" align="center" valign="middle">Objet</td> <td width="14%" align="center" valign="middle">Message</td> <td></td> <td width="16%" align="center" valign="middle">Etat<br /> (valide/non valide)</td> <td width="6%" align="center" valign="middle"> </td> <td width="3%" align="center" valign="middle"></td> </tr> </thead> <tbody> <?php $i = 0 ; while ($Enreg=mysql_fetch_array($result)) { $dateEnregistrement=$Enreg['date_enregistrement']; if ($i % 2 == 0) $bgColor = ""; else $bgColor = "#CCCCCC"; $i++; ?> <tr> <td align="center" valign=middle><?=date("d/m/Y",strtotime($dateEnregistrement))?></td> <td align="center" valign=middle><?php print $Enreg["lib_serv_fr"];?></td> <td align="center" valign=middle><?php print $Enreg["nom"];?></td> <td align="center" valign=middle><?php print $Enreg["prenom"];?></td> <td align="center" valign=middle><?php print nl2br($Enreg["email"]); ?></td> <td align="center" valign=middle><?php print $Enreg["objet"]; ?></td> <td align="center" valign=middle><?php print $Enreg["message"]; ?></td> <td> <input type="hidden" name ="reponse" value="<?php $Enreg["reponse"];?>"></td> <?php /*?><input type="hidden" name ="id" value="<?php $Enreg["id"];?>"><?php */?> <input type="hidden" name ="services" value="<?php $_POST["service"];?>"> <input type="hidden" name ="loginPost" value="<?php $_POST["login"];?>"> <input type="hidden" name ="MdpPost" value="<?php $_POST["password_serv"];?>"> <td align="center" valign=middle><?php print Etat($Enreg["etat"]); ?></td> <td><a href="GesMails_Details.php?Num=<?php print $Enreg["id"];?>"><img src="img/voir.gif" border=0 /></a></td> <td><a href="GesMails_Supprime.php?Num=<?php print $Enreg["id"];?>" onclick="return confirm('Voulez-vous supprimer ce mail ?')"><img src="img/supprimer.gif" border=0 /></a></td> </form> </tr><br> </tbody> <?php } ?> </table> <?php } else { echo " <b>Il n'y a aucun mail dans ce service.</b> "; }?> </td> </tr> </table> <p> </p>
<div align="center"><p class="internallink"><a class="liendeco" href="deconnexion.php">Déconnexion</a>
</p>
</div>
</div>
</body>
</html>
<p> </p>
</div>
</body>
</html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
7 févr. 2011 à 15:46
7 févr. 2011 à 15:46
Si tu n'as plus l'erreur du header already sent modifie juste la partie php par
Par contre j'espere que c'est que du local et que c'est pas un site de prod.. car niveau securite et injection SQL tu peux pas faire pire..
Pense a protéger tes variables $_POST avec des addslashes etc..
<?php // Ligne pour la compatibilit avec l'ancienne version de php installe sur le serveur if (!isset($_POST)) $_POST=$HTTP_POST_VARS; if (!isset($_GET)) $_GET=$HTTP_GET_VARS; require("../xx.xx.php"); require("../xx/db_connect.inc.php"); require_once('../xx/xxx.php'); if (isset($_POST["service"]) && isset($_POST["login"]) && isset($_POST["password_serv"])) { $services=$_POST["service"]; $loginPost=$_POST["login"]; $MdpPost=$_POST["password_serv"]; $connexion=db_connexion(); $resultat = "SELECT * FROM services WHERE id_serv='$services' and password_serv='$MdpPost' and login_serv='$loginPost'"; $Inscrit=mysql_query($resultat); $ligne = mysql_num_rows($Inscrit); if ($ligne != 0) { $row_Inscrit=mysql_fetch_array($Inscrit); $login = $row_Inscrit["login_serv"]; $mdp = $row_Inscrit["password_serv"]; $services= $row_Inscrit["id_serv"]; $query ="SELECT contact.*,services.lib_serv_fr From contact,services where contact.id_serv=services.id_serv and contact.id_serv='".$services."'"; $result=mysql_query($query) or die("query failed"); } else{ header("Location: erreurlogin.html"); } ?>
Par contre j'espere que c'est que du local et que c'est pas un site de prod.. car niveau securite et injection SQL tu peux pas faire pire..
Pense a protéger tes variables $_POST avec des addslashes etc..
Merci chico200987 j'ai utilisé les isset mais l'erreur existe encore !!!
NB j'ai utilisé le type hidden dans les 3 page php
<input type="hidden" name ="services" value="<?php $_POST["service"];?>">
<input type="hidden" name ="loginPost" value="<?php $_POST["login"];?>">
<input type="hidden" name ="MdpPost" value="<?php $_POST["password_serv"];?>">
NB j'ai utilisé le type hidden dans les 3 page php
<input type="hidden" name ="services" value="<?php $_POST["service"];?>">
<input type="hidden" name ="loginPost" value="<?php $_POST["login"];?>">
<input type="hidden" name ="MdpPost" value="<?php $_POST["password_serv"];?>">
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
Modifié par chico200987 le 7/02/2011 à 16:59
Modifié par chico200987 le 7/02/2011 à 16:59
Dans ce cas :
Devrait passer..
Par contre encore une fois, pas tres sécurisé de ramener le password au formulaire \surtout s'il est en clair meme si le champs est cache il sera parfaitement lisible dans le code source ;)
<input type="hidden" name ="services" value="<?php (isset($_POST['service'])) ? $_POST['service'] : ''; ?>" /> <input type="hidden" name ="loginPost" value="<?php (isset($_POST['login'])) ? $_POST['login'] : ''; ?>" /> <input type="hidden" name ="MdpPost" value="<?php (isset($_POST['password_serv'])) ? $_POST['password_serv'] : ''; ?>" />
Devrait passer..
Par contre encore une fois, pas tres sécurisé de ramener le password au formulaire \surtout s'il est en clair meme si le champs est cache il sera parfaitement lisible dans le code source ;)
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
7 févr. 2011 à 17:15
7 févr. 2011 à 17:15
C'est quoi qui ne marche pas exactement ?
C'est bien la suppression des notices undefine index ou tu as toujours le "header already sent" ?
C'est bien la suppression des notices undefine index ou tu as toujours le "header already sent" ?
7 févr. 2011 à 11:04
Notice: Undefined index:service in c:\xxx\xxx\gesmailsservice.php on line 11
Notice: Undefined index: login in c:\xxx/xxx/\gesmailsservice.php on line 12
Notice: Undefined index: password_serv in c:\xxx\gesmailsservice.php on line 13
7 févr. 2011 à 11:08
7 févr. 2011 à 11:12