Comprends pas???? prob session_start() erreur

WRInaute accro
Bonjour,

J'ai réalisé un site en php ou par ma page index.php, mes membres peuvent se connecter (voilà pour la petite histoire) -->j'ai crée d'ailleurs de 2 tables Msql car j'ai 2 formules de paiements qui sont dans leurs fonctionnement différents cela explique pourquoi, je fais une requête sur mes 2 tables pour le login!

le principe de mon login est que mes membres se connectent en index.php et peuvent ensuite visiter une page de listing qui est sécurisée en annonce.php-->pas de login renvoie sur le page index.php

Mon problème est que mon script marche trés bien sur la requête des 2 tables pour se connecter......mais par contre la connexion marche qu'une seule fois!!!! Une fois connecté, ils peuvent accéder à annonce.php mais si entre temps, ils ont été sur une autre page annexe.....en revenant sur ma page annonce.php-->c'est refusé et doivent à nouveau se reconnecter!!!! Je précise que oui.....je mets session_start() sur l'ensemble de mes pages et tout au début de mes pages avant tout code <html> :D

Je pense que mon script de ces 2 pages INDEX et ANNONCE seront necessaire pour la compréhension de mon ou mes erreurs :D

Code:
--------------------PAGE INDEX---------------------------------------
<?php
session_start(); // On démarre la session AVANT toute chose

?>
<html>...........
puis................
Code:
<?php  
			$pseudo=$_POST['pseudo'];
			$motdepasse=$_POST['mot_de_passe'];
			$validation = $_POST['validation'];
			
			
			
//*********************************************
//      ETAPE 1  DEMANDE ENREGISTREMENT
//*********************************************

if ($validation==0)
	{
		?>  		
					<tr>
						<td><label><strong>Pseudo:</strong><br/><input type="text" name="pseudo" value="Connectez-vous" /></label></td>
					</tr>
					<tr>
						<td><label><strong>Mot de passe:</strong><br/><input type="password" name="mot_de_passe" /></label></td>
					</tr>
					<tr>
						<td><center><label><input type="submit" name="validation" value="Connectez-vous" onclick="validation.value=1"/></label></center></td>
					</tr>
					<tr>
						<td><center><span style="color:black;font-weight:bolder;">Inscrivez-vous :</span> <a href="http://www.voyage-surfing.com/photos/paiement.php">ici</a></center></td>
					</tr>
					<tr>
						<td><center><a href="http://www.voyage-surfing.com/photos/deconnexion.php">Se déconnecter</a></center></td>
					</tr>
		<?php
	}

elseif ($validation==1)
	{	
//********************************************************************************************
//                         LES CONDITIONS SUR LES DEUX TABLES
//*********************************************************************************************
//--------pour la connexion sur la table "xxxxxxx"---------------------------
		mysql_connect("xxxxx", "xxxxxx", "xxxxxx"); //connexion Table Msql
		mysql_select_db("xxxxxxx");
		
		$reponse = mysql_query("SELECT pseudo, motdepasse, prenom FROM xxxxx WHERE pseudo='$pseudo' AND motdepasse='$motdepasse'");
		// Récupération des données

		 while ($donnees = mysql_fetch_array($reponse)) 
			{
				$bonpseudo=$donnees['pseudo'];
				$bonmotdepasse=$donnees['motdepasse'];
				$prenom=$donnees['prenom'];
			}
		mysql_close(); // Déconnexion	
//--------------Fin des données de la table "xxxxxxx"-----------------------
//-----récupération de la table "xxxxxxx"-----------------------
		mysql_connect("xxxxx", "xxxxxx", "xxxxxx"); //connexion Table Msql
		mysql_select_db("xxxxxx");
		
		$reponse_consultant = mysql_query("SELECT pseudo, motdepasse, prenom FROM xxxxxxx WHERE pseudo='$pseudo' AND motdepasse='$motdepasse'");
		// Récupération des données

		 while ($donnees_consultant = mysql_fetch_array($reponse_consultant)) 
			{
				$bonpseudo_consultant=$donnees_consultant['pseudo'];
				$bonmotdepasse_consultant=$donnees_consultant['motdepasse'];
				$prenom_consultant=$donnees_consultant['prenom'];
			}
		mysql_close(); // Déconnexion
//---------------------------Fin de la récupération de la table"xxxxxxx"----------------------------------------	

		if ($pseudo==$bonpseudo AND $motdepasse==$bonmotdepasse)// les 2 sont bons  enregistrement PREMIUM
			{
				session_start() ;//----------création de la session
				$_SESSION['pseudo'] = $bonpseudo;
				$_SESSION['motdepasse'] = $bonmotdepasse;
				$_SESSION['prenom'] = $prenom;

				?>
					<tr>
						<td><center><span style="color:black;">Bonjour,</span><span style="color:red;font-weight:bolder;text-decoration:blink;"><?php echo "$prenom"; ?></span> !!<br/>Vous êtes maintenant connecté!!!<br/>Bonne recherche!!</center></td>
					</tr>
				<?php	
			}		
		elseif ($pseudo==$bonpseudo_consultant AND $motdepasse==$bonmotdepasse_consultant)// les 2 sont bons enregistrement CONSULTANT
		
			{
				session_start() ;//----------création de la session
				$_SESSION['pseudo'] = $bonpseudo_consultant;
				$_SESSION['motdepasse'] = $bonmotdepasse_consultant;
				$_SESSION['prenom'] = $prenom_consultant;

				?>
					<tr>
						<td><center><span style="color:black;">Bonjour,</span><span style="color:red;font-weight:bolder;text-decoration:blink;"><?php echo "$prenom_consultant"; ?></span> !!<br/>Vous êtes maintenant connecté!!!<br/>Bonne recherche!!</center></td>
					</tr>
				<?php
			}	
		elseif ($pseudo!=$bonpseudo OR $motdepasse!=$bonmotdepasse)
			{
				echo "<tr><td>Une erreur est survenue!! Respectez la forme de votre pseudo et du mot de passe!!&nbsp;<a href=\"http://www.voyage-surfing.com/index.php \">revenir</a></center></td></tr>";
			}
		elseif ($pseudo!=$bonpseudo_consultant OR $motdepasse!=$bonmotdepasse_consultant)
			{
				echo "<tr><td>Une erreur est survenue!! Respectez la forme de votre pseudo et du mot de passe!!&nbsp;<a href=\"http://www.voyage-surfing.com/index.php \">revenir</a></center></td></tr>";
			}
	}
	?>
Voilà pour la page INDEX, maintenant pour la page ANNONCE...
Code:
<?php
//----------------PAGE ANNONCE----------------------
session_start(); // On démarre la session AVANT toute chose

// Maintenant que le session_start est fait, on peut taper du code HTML
?>
<html>................
puis........................
Code:
<?php
//**********************************************************
//                         ETAPE 1       le visiteur doit s'enregistrer
//**********************************************************

			if (($_SESSION['pseudo'])=="")
				{
					?>
					<table class="paiement">
				<tr>
					<td>Profitez des avantages que vous offre notre site: "Voyage-surfing" !!!!<br/>Pour cela, Suivez ce lien: <a href="http://www.voyage-surfing.com/photos/paiement.php">Cliquer ici</a> et vous pourrez par la suite déposer une annonce, suivre la votre et bénéficier de nos formules d'abonnements:<br/><center><span style="font-weight:bolder;">SERVICE PREMIUM </span>ou <span style="font-weight:bolder;">SERVICE CONSULTANT</span><br/></center> Vous pourrez de plus, connaître les coordonnées de nos membres qui vous attendent pour des échanges d'hébergement, des services de prestations sur nos rubriques :<br/><center><strong>Voyage Humanitaire</strong> et <strong>Voyage Nature et Découverte</strong></center></td>
				</tr>
				<tr>
					<td><hr /></td>
				</tr>	
				<tr>
					<td>Ami(e) membre, nous vous conseillons de vous connecter afin de pouvoir parcourir nos annonces <a href="http://www.voyage-surfing.com/index.php">Se connecter</a><br /><br /></td>
				</tr>
			</table>
			<?php
				}
			elseif (!empty($_SESSION['pseudo']))
				{
					mysql_connect("xxx", "xxxx", "xxxx"); //connexion Table Msql
					mysql_select_db("xxxxxx");
		
					$reponse = mysql_query("SELECT * FROM xxxxxx WHERE id='$id'");
					// Récupération des données

					while ($donnees = mysql_fetch_array($reponse)) 
						{
							$abonnement=$donnees['abonnement'];
							$timestamp=$donnees['timestamp'];
							$pseudo=$donnees['pseudo'];
							$motdepasse=$donnees['motdepasse'];
							$nom=$donnees['nom'];
							$prenom=$donnees['prenom'];
							$adresse=$donnees['adresse'];
							$codepostal=$donnees['codepostal'];
							$pays_domicile=$donnees['pays_domicile'];
							$ville=$donnees['ville'];
							$telephone=$donnees['telephone'];
							$email=$donnees['email'];
							$site_internet=$donnees['site_internet'];
							$profession=$donnees['profession'];
							$choix_hebergement=$donnees['choix_hebergement'];
							$prix_loca=$donnees['prix_loca'];
							$ville_plus_proche=$donnees['ville_plus_proche'];
							$direction_rapport_ville=$donnees['direction_rapport_ville'];
							$distance_km_ville=$donnees['distance_km_ville'];
							$duree_sejour=$donnees['duree_sejour'];
							$periode_sejour=$donnees['periode_sejour'];
							$nombre_adulte=$donnees['nombre_adulte'];
							$nombre_adolescent=$donnees['nombre_adolescent'];
							$age_adolescent=$donnees['age_adolescent'];
							$nombre_enfant=$donnees['nombre_enfant'];
							$age_enfant=$donnees['age_enfant'];
							$descriptif_logis=$donnees['descriptif_logis'];
							$nombre_accueillir_personnes=$donnees['nombre_accueillir_personnes'];
							$nombre_chambres=$donnees['nombre_chambres'];
							$nombre_salledebain=$donnees['nombre_salledebain'];
							$qualites=$donnees['qualites'];
							$indication1=$donnees['indication1'];
							$indication2=$donnees['indication2'];
							$indication3=$donnees['indication3'];
							$indication4=$donnees['indication4'];
							$indication5=$donnees['indication5'];
							$indication6=$donnees['indication6'];
							$region1=$donnees['region1'];
							$region2=$donnees['region2'];
							$region3=$donnees['region3'];
							$region4=$donnees['region4'];
							$activite_disponible1=$donnees['activite_disponible1'];
							$activite_disponible2=$donnees['activite_disponible2'];
							$extra1=$donnees['extra1'];
							$extra2=$donnees['extra2'];
							$expert=$donnees['expert'];
							$avertissement=$donnees['avertissement'];
							$allergie=$donnees['allergie'];
							$langue_parlee1=$donnees['langue_parlee1'];
							$langue_parlee2=$donnees['langue_parlee2'];
							$choix1_destination=$donnees['choix1_destination'];
							$choix2_destination=$donnees['choix2_destination'];
							$choix3_destination=$donnees['choix3_destination'];
							$savefile=$donnees['savefile'];
						}
					mysql_close(); // Déconnexion de MySQL				
					?>
					<table class="enregistrement">
						<tr>
							<td><span style="text-decoration:underline;">Date de l'annonce:</span>&nbsp;<strong><span class="variable"><?php echo $timestamp; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Catégorie:</span>&nbsp;<strong><span class="variable"><?php 
																															if (($choix_hebergement==$location1) OR ($choix_hebergement==$location2) OR ($choix_hebergement==$location3) OR ($choix_hebergement==$location4))
																																{
																																	echo "$choix_hebergement'-'$prix_loca";
																																}
																															else
																																{
																																	echo "$choix_hebergement";
																																}

																															?></span></strong></td>
							<td><span style="text-decoration:underline;">Réf.:</span>&nbsp;<strong><span class="variable"><?php echo $id; ?></span></strong></td>																								
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td><span style="text-decoration:underline;">Pays:</span>&nbsp;<strong><span class="variable"><?php echo $pays_domicile; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Localité:</span>&nbsp;<strong><span class="variable"><?php echo $ville; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Téléphone:</span>&nbsp;<strong><span class="variable"><?php echo $telephone; ?></span></strong></td>
						</tr>
						<tr>
							<td><span style="text-decoration:underline;">Ville plus proche:</span>&nbsp;<strong><span class="variable"><?php echo $ville_plus_proche; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Direction par rapport à la ville:</span>&nbsp;<strong><span class="variable"><?php echo $direction_rapport_ville; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Distance en KM:</span>&nbsp;<strong><span class="variable"><?php echo $distance_km_ville; ?></span></strong></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td><span style="text-decoration:underline;">Descriptif du logis:</span>&nbsp;<strong><span class="variable"><?php echo $descriptif_logis; ?></span></strong></td>
							<td colspan="2"><span style="text-decoration:underline;">Nombre de personnes acceptées:</span>&nbsp;<strong><span class="variable"><?php echo $nombre_accueillir_personnes; ?></span></strong></td>
						</tr>
						<tr>
							<td><span style="text-decoration:underline;">Nombre de salle de bain:</span>&nbsp;<strong><span class="variable"><?php echo $nombre_salledebain; ?></span></strong></td>
							<td><span style="text-decoration:underline;">Nombre de chambres:</span>&nbsp;<strong><span class="variable"><?php echo $nombre_chambres; ?></span></strong></td>
							<td></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="2"><span style="text-decoration:underline;">Famille/groupe:</span>&nbsp;<em><span style="text-decoration:underline;">Adulte:</span></em>&nbsp;<strong><span class="variable"><?php echo $nombre_adulte; ?></span></strong>&nbsp; ::&nbsp;<em><span style="text-decoration:underline;"> Adolescent:</span></em>&nbsp;<strong><span class="variable"><?php echo $nombre_adolescent; ?></span></strong>&nbsp;<em><span style="text-decoration:underline;">Age:</span></em>&nbsp;<strong><span class="variable"><?php echo $age_adolescent; ?></span></strong>&nbsp; ::&nbsp;<em><span style="text-decoration:underline;"> Enfant:</span></em>&nbsp;<strong><span class="variable"><?php echo $nombre_enfant; ?></span></strong>&nbsp;<em><span style="text-decoration:underline;">Age:</span></em>&nbsp;<strong><span class="variable"><?php echo $age_enfant; ?></span></strong></td>
							<td></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>	
							<td colspan="2"><span style="text-decoration:underline;">Période/Date:</span>&nbsp;<strong><span class="variable"><?php echo $periode_sejour; ?></span></strong>&nbsp;::&nbsp; <strong><span class="variable"><?php echo $duree_sejour; ?></span></strong></td>
							<td></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><span style="text-decoration:underline;">Services complémentaires:</span>&nbsp;<strong><span class="variable"><?php echo $indication1; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $indication2; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $indication3; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $indication4; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $indication5; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $indication6; ?></span></strong></td>
						</tr>
						<tr>	
							<td colspan="3"><span style="text-decoration:underline;">Activités possible:</span>&nbsp;<strong><span class="variable"><?php echo $activite_disponible1; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $activite_disponible2; ?></span></strong></td>
						</tr>
						<tr>	
							<td colspan="3"><span style="text-decoration:underline;">Partie attrayante de la région:</span>&nbsp;<strong><span class="variable"><?php echo $region1; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $region2; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $region3; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $region4; ?></span></strong></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><span style="text-decoration:underline;">Destinations préférées:</span>&nbsp;<strong><span class="variable"><?php echo $choix1_destination; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $choix2_destination; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $choix3_destination; ?></span></strong></td>
						</tr
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><center><span style="text-decoration:underline;">Photo:</span><br/><img src="http://www.voyage-surfing.com/photos/<?php echo "$savefile"; ?>" /></center></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>	
							<td colspan="3"><span style="text-decoration:underline;">Commentaire:</span><br/><strong><span class="variable"><?php echo $qualites; ?></span></strong></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><span style="text-decoration:underline;">Indications importantes:</span><br/><em><span style="text-decoration:underline;">Advertissement:</span></em>&nbsp;<strong><span class="variable"><?php echo $avertissement; ?></span></strong>&nbsp;::&nbsp;<em><span style="text-decoration:underline;">Allergie possible:</span></em>&nbsp;<strong><span class="variable"><?php echo $allergie; ?></span></strong>&nbsp;::&nbsp;<em><span style="text-decoration:underline;">Niveau expert:</span></em>&nbsp;<strong><span class="variable"><?php echo $expert; ?></span></strong><br/><em><span style="text-decoration:underline;">En extra:</span></em>&nbsp;<strong><span class="variable"><?php echo $extra1; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $extra2; ?></span></strong></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><span style="text-decoration:underline;">Contact:</span>&nbsp;<strong><span class="variable"><?php echo $nom; ?></span></strong>&nbsp;<strong><span class="variable"><?php echo $prenom; ?></span></strong>&nbsp;<strong><span class="variable"><?php echo $adresse; ?></span></strong>&nbsp;<strong><span class="variable"><?php echo $codepostal; ?></span></strong>&nbsp;<strong><span class="variable"><?php echo $ville; ?></span></strong>&nbsp;<strong><span class="variable"><?php echo $pays_domicile; ?></span></strong><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em><span style="text-decoration:underline;">Email:</span></em>&nbsp;<strong><span class="variable"><?php echo $email; ?></span></strong></td>
						</tr>
						<tr>
							<td colspan="3"><hr /></td>
						</tr>
						<tr>
							<td colspan="3"><span style="text-decoration:underline;">Divers:</span>&nbsp;<em><span style="text-decoration:underline;">Profession:</span></em>&nbsp;<strong><span class="variable"><?php echo $profession; ?></span></strong>&nbsp;::&nbsp;<em><span style="text-decoration:underline;">Site internet:</span></em>&nbsp;<strong><span class="variable"><?php echo $site_internet; ?></span></strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em><span style="text-decoration:underline;">Langue parlée:</span></em>&nbsp;<strong><span class="variable"><?php echo $langue_parlee1; ?></span></strong>&nbsp;::&nbsp;<strong><span class="variable"><?php echo $langue_parlee2; ?></span></strong><br /><br /><br /><br /><br /></td>
						</tr>
					</table>	
					<?php
				}
//Find de boucle
				?>

Voilà, voilà désolé pour la longueur :oops: mais au moins c'est clair!!

Merci de votre attention[/b]
 
WRInaute accro
spationaute-troglodyte a dit:
le commentaire ne drait pas y être déjà..
avant session_start() il ne doit rien y avoir

oui merci de ton attention spationaute-troglodyte :D
tu parles de INDEX etc...... je sais c'est moi qui l'ai rajouté sur ce poste pour améliorer la compréhension des scripts mais sur l'original, il n'y a rien :D
 
WRInaute accro
Je viends de créer une page test.php qui j'utilise pour récupérer mes sessions et ainsi m'assurer de sa validité et elle marche correctement du fait qu'une fois connecté ....je récupère ma sessionid, mon pseudo, mot d passe etc.....

ça marche donc je ne comprends pas pourquoi...je dois toujours me connecter si je m'écarte de ma page de listing!!!?????
 
WRInaute accro
merci Tilt de ton attention,

en faite, mon prob s'est déplacé avec la reprise de mon script.

Voilà, pour résumer ma page "se-connecter.php" indique le login de mes membres.....puis sur la page index.php via une recherche rapide, on peut accéder à mes listing sécurisés...jusquà là, pas de prob.....j'ai crée une page "test.php" pour vérifier ma session (id, pseudo etc...)....tout fonctionne correctement!!

Mais mon unique soucis et le plus important, c'est que lorsque je fais un login puis je viens sur mon listing....clique pour activer le détail de mon annonce (qui est sécurisée).....ma page test.php indique cette session avec par défaut le pseudo et mot de passe de l'annonce consultée!!!!?????? 8O et n'a pu les paramètres de mon login!!! :roll:

Merci de vos conseils car là, je sèche!!!
 
Discussions similaires
Haut