Problème session message d'erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème session message d'erreur

Re: Problème session message d'erreur

par spidercrash » 29 mars 2010, 08:37

ailllll j'ai parler trop vite le problème se reproduit sur deux page mesannonces.php puis mes donnee.php toujours le même message d'erreur
Les données de l'utilisateur sont perdu il faut se déconnecter et se reloguer






et au sujet du NUMUTILISATEURS je pourrai faire une page verif exemple :
<?
session_start();

if(!session_is_registered('MAILUTILISATEURS'))
    {
    include('ajoutannonce.php');
    exit;
    }
?>  
Et je placerai dans mes pages cela
<? include ('./verif.php');
Je pense que si je fait cela lorsqu'une personne essaye d'acceder a une page et qu'il n'est pas loggué il sera rediriger vers la page inscription non ?

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 23:47

Maintenant que tu as déplace ton include juste avant ta requête il reste une chose à faire:
Donner une valeur par défaut à ta variable $NUMUTILISATEURS, car si tu perds la session ou que quelqu'un se connecte sans session à cette page, cette variable ne sera pas définie (inconnue).
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if (isset($_SESSION['NUMUTILISATEURS'])) {
// Recuperation pour la variable
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];
}
else {
$NUMUTILISATEURS = null;
}
?>
Cela évitera d'avoir une autre erreur ensuite :wink:

Ou si tu veux interdire la page si aucune session:
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if (isset($_SESSION['NUMUTILISATEURS'])) {
// Recuperation pour la variable
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];
}
else {
die('Accès non Autorisé');
}
?>
(on pourrait fait autrement, mais c'est le plus simple à mon avis)

Re: Problème session message d'erreur

par stealth35 » 28 mars 2010, 23:08

faut bosser en STRICT sinon c'est vite le foutoire

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 23:05

:wink:

Re: Problème session message d'erreur

par spidercrash » 28 mars 2010, 23:04

ah toute de suite c'est mieux :D je te remercie Dr@ke cela a l'air d'être bon.

Merci a toi aussi stealth35

Je comprend d'où viens toute mes erreurs maintenant, encore merci

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 23:01

Ton fichier connect, c'est un fichier pour se connecter au serveur SQL.
Donc il devrait y avoir que des lignes pour se connecter au serveur.
hors, il y aussi ces lignes dedans:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT");
header("Cache-Control: no-store, no-cache,must-revalidate");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Pragma: no-cache");
Ces lignes te posent souvent des soucis comme la dernière fois...
Il faut donc enlever ces lignes, et les mettre ailleurs dans un autre fichier si tu y tiens vraiment.

Donc quand tu auras enlevé les lignes de dessus, tu pourras enfin déplacer ton include connect juste avant tes requêtes. :)

Re: Problème session message d'erreur

par spidercrash » 28 mars 2010, 23:00

désolé je n'avait pas vu ton post plus haut

Re: Problème session message d'erreur

par spidercrash » 28 mars 2010, 22:57

Une fois que tu auras supprimé ceci, descend ton include conect juste au dessus de tes requêtes comme je t'expliquais l'autre fois.
excuse moi c'est quoid le ceci ?

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 22:54

Ok alors explique moi comment tu peux avoir des erreurs de header si tu as supprimé les lignes headers comme je te disais avant de descendre cette ligne?

Re: Problème session message d'erreur

par spidercrash » 28 mars 2010, 22:50

Je viens de faire se que tu ma dit et j'obtient l'erreur

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesdonnees.php:25) in /homez.316/logisdesq/www/php/connect.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesdonnees.php:25) in /homez.316/logisdesq/www/php/connect.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesdonnees.php:25) in /homez.316/logisdesq/www/php/connect.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesdonnees.php:25) in /homez.316/logisdesq/www/php/connect.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /homez.316/logisdesq/www/mesdonnees.php:25) in /homez.316/logisdesq/www/php/connect.php on line 6

Donc voici le code
<?php
// initialisation des sessions
session_start() ;

// tester la présence de la session numutilisateurs
if ( isset( $_SESSION['NUMUTILISATEURS']) ) {
// Recuperation pour la variable 
$NUMUTILISATEURS = $_SESSION['NUMUTILISATEURS'];





}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head> 
 <title>petite annonce gratuite pour particulier encart publicitaire pour profesionnel - mon espace</title>
 <meta http-equiv="Content-Type" content="text/html";
	charset=iso-8859-1" />
 <link rel="stylesheet" media="screen" type="text/css"
	title="Design espace" href="css/donneesutilisateurs_style.css" />
</head>
<body>






<div id="entete">
  <div id="h2">
<p><h2>Mes données personnelles  </h2></p>
</div>

</div>
</div>

<div id="corps">
 
    <img src="contenu/logisdesannonces.png" alt="logisdesannonces" class="logisdesannonces" />
    <img src="contenu/logo.png" alt="logo" class="logo" />	
	<a href="http://www.logisdesannonces.fr/accueil.html"><img src="contenu/bouton_accueil.png" alt="accueil" class="accueil" border="0"/></a>
	<a href="php/deconnexion.php"><img src="contenu/deconnexion.png" alt="deconnexion" class="deconnexion" border="0"/></a>
	 


		<div id="fond">
		<table>
		
		<tr>
			<td>
			<div id="mesannonces">
			<a href="mesannonces.php"><img src="contenu/favoris2.png" alt="mesannonces" class="mesannonces"  border="0"/></a>
			<a href="ajoutannonceparticulier.php"><img src="contenu/jajoute2.png" alt="jajoute" class="jajoute" border="0"/></a>
			<a href="modifierannonce.php"><img src="contenu/modifierannonces2.png" alt="modifierannonces" class="modifierannonces" border="0"/></a>			
			<a href="mesdonnees.php"><img src="contenu/mesdonnees2.png" alt="mesdonnees" class="mesdonnees" border="0"/></a>			
			
			<div id="texte"><hr><b>Actions :</b></hr>
			</td>
		</tr>		
		<tr>
				<td>
			<div id="tableauannonces">		
			<b>Bienvenue dans votre Logis:</b>
			<div id="textebienvenue">
				<br /><br />
				Vous pouvez modifier vos données personnelles
				ou si vous le souhaitez supprimer votre compte
				avec toutes vos annonces en cours.
				<br /><br />
	          <img src="contenu/cartable.jpg" alt="cartable" class="cartable"  border="1"/></a>
				</td>
		</tr>
		
		</div>
		
		<div id="donneesperso">
<?php
include 'php/connect.php';
$sql = "SELECT * FROM utilisateurs WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
$req= mysql_query($sql) or die ('erreur sql §<br />'.$sql.'<br />'.mysql_error());


while($data=mysql_fetch_array($req)) 
  { // ici la boucle qui permet d'effectuer la recherche 
  ?>
  
  <div id="donneesutilisateur">
	<div id="donneesutilisateur2">
		<?php echo 'Email : ', $data['MAILUTILISATEURS'],'<br />';?>
		<?php echo 'Nom : ', $data['NOMUTILISATEURS'],'<br />';?>
		<?php echo 'Prénom : ', $data['PRENOMUTILISATEURS'],'<br />';?>
		<?php echo 'Code Postal : ', $data['CPUTILISATEURS'],'<br />';?>
		<?php echo 'Ville : ', $data['VILLEUTILISATEURS'],'<br />';?>
		<?php echo 'Téléphone : ', $data['TELEPHONE'],'<br />';?>		
 
   </div>
  </div>
   
<?php
  }
 mysql_free_result ($req);
mysql_close ();
  ?>

		

		</div>
		</table>
		</div>
			</div>
			</div>
			</div>
</div>

 <div id="pied_de_page">
 
 </div>


	
	
</body>
</html>
Et je viens de faire attention j'ai pas echo placé juste avant :)

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 22:36

Une fois que tu auras supprimé ceci, descend ton include conect juste au dessus de tes requêtes comme je t'expliquais l'autre fois.
include 'php/connect.php';
Donc ici, juste au dessus de ceci:
$sql = "SELECT * FROM utilisateurs WHERE NUMUTILISATEURS = '$NUMUTILISATEURS'";
Ici c'est juste une bonne habitude que je te conseille :wink:

Re: Problème session message d'erreur

par stealth35 » 28 mars 2010, 22:33

t'arrive ta te connecter via phpmyadmin ?

Re: Problème session message d'erreur

par Dr@ke » 28 mars 2010, 22:33

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") ." GMT");
header("Cache-Control: no-store, no-cache,must-revalidate");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Pragma: no-cache");
Supprime ceci, cela n'a rien à faire dans ton fichier connect.
je comprends mieux pourquoi le bug de l'echo la dernière fois :wink:

Au pire tu fais un autre include juste pour hearders, mais il faudra que cet include soit toujours au début du script pour éviter des erreurs...

Re: Problème session message d'erreur

par spidercrash » 28 mars 2010, 22:25

Non #-o cela ne marche toujours pas toujours se problème

Re: Problème session message d'erreur

par stealth35 » 28 mars 2010, 22:15

change ton <? en <?php