Soucis de connexion avec les includes...

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 : Soucis de connexion avec les includes...

par azerty53 » 23 avr. 2007, 08:02

j'ai trouvé...

en fait dans ma page connexion.php j'avais oublié mon session_start();

encore désolé

bonne journée...

par azerty53 » 23 avr. 2007, 07:42

voici le code de la page connexion.php
<?php
	include("source.php");
	if(isset($_POST["pseudo"]) && isset($_POST["motdepasse"]))
	{
		if(!empty($_POST["pseudo"]) && (!empty($_POST["motdepasse"])))
		{
			//Connexion à la BDD
			Connexion();
			$Pseudo = (htmlentities(addslashes($_POST["pseudo"])));
			$MotDePasse = md5(htmlentities(addslashes($_POST["motdepasse"])));
			//Si les champs sont renseignés, on cherche si la personne existe dans la BDD
			$existe = mysql_query("select count(*) AS compteur from administration where admi_pse='$Pseudo'");
			$donnees = mysql_fetch_array($existe);
			//Si $donnees renvoie 0 alors le pseudo n'existe pas.
			if($donnees["compteur"]==0)
			{
				echo("Pseudo introuvable");
			}
			//Si renvoie 1 alors le pseudo existe.
			else 
			{
				if($donnees["compteur"]==1)
				{
					//On test si le mot de passe est le bon.
					$res = mysql_query("select * from administration where admi_pse='$Pseudo'");
					$req = mysql_fetch_array($res);
					if ($req["admi_pas"]==$MotDePasse)
					{
						$_SESSION['connecte']=1;
						$_SESSION['pseudo']=$Pseudo;
						$_SESSION['IdConnecte']=$req["admi_id"];
						//On redirige...
						?>
						<meta http-equiv="Refresh" content="0;URL=index.php?page=admin">
						<?php
					}
					else
					{
						echo("Mot de passe incorrect");
					}
				}
				else
				{
					echo("Erreur lors de l'execution de la requête, veuillez réessayer.");
				}
			}	
		}
	}
?>
en gros on dirait que php ne crée pas de variable de session car dans ma page admin.php j'ai fait un echo de la variable 'connecte' et il m'affiche rien snif

cordialement

Re: Soucis de connexion avec les includes...

par guilt92 » 23 avr. 2007, 02:41

La page connexion.php fonctionne bien car la redirection vers la page index.php?page=admin se fait bien ;)
C'est surement dans cette page que tu crées la variable de session non ? Car le fait que la redirection fonctionne ne veut pas dire que la variable est bien créee... Pourrais tu mettre le code de cette page ?

Soucis de connexion avec les includes...

par azerty53 » 22 avr. 2007, 22:40

Bonsoir,

jai un soucis que je n'arrive pas a résoudre depuis tout ce weekend.

je suis actuellement sur ma partie administration, et lorsque je me connecte, il me redirige bien vers ma partie admin, mais il ne me vois pas comme connecte.

voici un peu de code:

page index.php.
<?php
	session_start();
	include("source.php");
	Haut("Bienvenue")
?>
<div id="corps">
				<?php
				// on test si le $_GET["page"] n'est pas vide, si c'est vrai, on prend la page sinon 			on redirige vers index.php
				$page = (!empty($_GET["page"])) ? htmlentities($_GET["page"]) : "accueil";
				// Définition du array...
				$array_pages = array(
					"accueil" => "accueil.php",
					"competences" => "competences.php",
					"formations" => "formations.php",
					"etablissement" => "ficheEtablissement.php",
					"experiences" => "experiences.php",
					"entreprise" => "ficheEntreprise.php",
					"loisirs" => "loisirs.php",
					"admin" => "admin.php"
					);
				// 1. Test si la page demandée est dans le array.
				if (!array_key_exists($page,$array_pages)) include ("accueil.php");
				// 2. Test si le fichier est bien sur le FTP
				elseif (!is_file($array_pages[$page])) include ("erreur.php");
				// 3. Si les tests sont bons, on inclue la page.
				else (include($array_pages[$page]));
			?>	
			</div>
<div id="connectezVous">
				<div id="connectezVousTop"></div>
				<?php
					include("connectezVous.php");
				?>
				<div id="contactezMoiBas"></div>
			</div>
page source.php
<?php
//include("erreur.php");
function Connexion()
{
	mysql_connect("******","******","*****");
	mysql_select_db("*****");
}

function Haut($titre)
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo($titre); ?></title>
<!-- Feuille de style par défaut -->
<?php
echo($_SESSION['connecte']);
if(isset($_SESSION['connecte']) && ($_SESSION['connecte']==1))
{
?>
<link rel="stylesheet" type="text/css" href="templates/styles/adminfirefox.css">
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="templates/styles/adminie.css">
<![endif]-->
<?php
}
else
{
?>
<link rel="stylesheet" type="text/css" href="templates/styles/firefox.css">
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="templates/styles/ie.css">
<![endif]-->
<?php
}
?>
</head>
<body>
<?php
Connexion();
}
?>

<?php
function Bas()
{
?>
</body>
</html>
<?php
}
?>

page connectezvous.php
<?php
	if(isset($_SESSION['connecte']) && (!empty($_SESSION['connecte'])) && ($_SESSION['connecte']==1))
	{
		if(isset($_SESSION['pseudo']) && !empty($_SESSION['pseudo']))
		{
?>
		<p>Bienvenue <?php echo(html_entity_decode(stripslashes($_SESSION['pseudo']))); ?></p>
		<a href="deconnexion.php"><p>Deconnexion</p></a>
<?php
		}
	}
	else
	{
		?>
			<form action="connexion.php" method="post">
				<p><input type="text" name="pseudo" value="Login" class="connexion" /></p>
				<p><input type="password" name="motdepasse" value="Mot de passe" class="connexion" /></p>
				<p><input type="image" src="templates/images/ok.png" alt="OK" class="boutonOK" /></p>
			</form>
			<div class="clear"></div>
		<?php
	}
?>
La page connexion.php fonctionne bien car la redirection vers la page index.php?page=admin se fait bien ;)

puis la page admin qui est incluse en cas de connexion.
<?php
if(isset($_SESSION['connecte']) && ($_SESSION['connecte']==1))
	{
		echo("connecte");
	}
	else
	{
		echo("pas connecte");
	}
?>
quand j'execute tout ce code, il m'affiche a l'écran pas connecte.

J'espere que vous verrez mon soucis car la j'y ai passé mon weekend.

Cordialement