Problème de header sur un site [XHTML/PHP]

Fermé
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009 - 13 juil. 2008 à 18:34
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009 - 14 juil. 2008 à 21:35
Bonjour à tous,
Je suis, avec un ami, en train de construire un site web.
Cependant, celui-ci comporte un problème; veuillez vous rendre sur ce lien pour suivre la procédure d'où l'erreur découle : http://pogoworld.free.fr/

Procédure:
Cliquez simplement sur le lien accueil ou réactualisez la page.
C'est ici que l'erreur apparaît ! En effet, la page est bien actualisée ! Mais l'header est complètement chamboulé !
La page sur laquelle vous vous trouvés est la page index.php dans laquelle est inclue header.php dans laquelle est inclue identification.php
.

Voici le code source de ces pages :

index.php :
<?php session_start();
mysql_connect("********", "*******", "********"); // Connexion à MySQL
mysql_select_db("*******"); // Sélection de la base

$reponse = mysql_query("SELECT * FROM news ORDER BY ID DESC LIMIT 0,10") or die(mysql_error());
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Pogoworld</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="style.css" />

   </head>
   
   <body>

	<?php include('header.php'); ?>

<ul>

<?php while ($donnees = mysql_fetch_array($reponse))
{
?>
   <p>
    <div class="titrenews"><?php print $donnees['titre']; ?><br /></div>

   <div class="textenews"><?php print $donnees['texte']; ?><br /></div>
   
   <?php print $donnees['auteur']; ?>
   </p>
<?php
}
?>

</ul>

<?php include('footer.php'); ?>

	</body>
</html>


header.php :
<?php session_start(); ?>

<h1 class="titre">Pogoworld</h1>

<ul>

<?php
if (isset($_SESSION['connecter']))
{
?>
	<a href="index.php">Accueil</a>
	<a href="fdeperso.php">Fiche personnage</a>
	<a href="village.php">Village</a>
<?php
}
elseif ($_SESSION['connecter'] == 'admin')
{
?>
	<a href="index.php">Accueil</a>
	<a href="fdeperso.php">Fiche personnage</a>
	<a href="village.php">Village</a>
	<a href="newser.php">Newser</a>
<?php
}
else
{
?>
	<a href="index.php">Accueil</a>
	<a href="inscription.php">Inscription</a>
<?php
}
?>

<div class="identification"><?php include('identification.php'); ?></div>

</ul>


identification.php ( Je ne pense pas qu'il soit absolument nécessaire de comprendre ce code pour résoudre le problème, je le met néanmoins à titre d'information... et sa fait toujours un formulaire de connexion potable ;-) :
<?php
if (isset($_POST['deconnecter']))
{

// ----------- DÉCONNEXION --------------

mysql_connect("sqlperso.free.fr", "pogoworld", "pogodolu"); // Connexion à MySQL
mysql_select_db("pogoworld"); // Sélection de la base

$pseudo = $_SESSION['pseudo'];
mysql_query("DELETE FROM connectes WHERE joueur='$pseudo'");
session_unset();

mysql_close(); // Déconnexion de MySQL

$deconnection = true;

// ----------- FIN DÉCONNEXION --------------

}

if (isset($_POST['pseudo']) AND isset($_POST['password'])) // Si les variables existent
{

// ----------- VÉRIFICATION --------------

    if ($_POST['pseudo'] != NULL AND $_POST['password'] != NULL) // Si on a quelque chose à enregistrer
    {
		mysql_connect("sqlperso.free.fr", "pogoworld", "pogodolu"); // Connexion à MySQL
		mysql_select_db("pogoworld"); // Sélection de la base
		
		$donnees = mysql_query("SELECT * FROM joueurs");
		$ok = false;
	
		while ($joueurs = mysql_fetch_array($donnees) AND $ok == false) // Compare les pseudos et les passwords aux POSTS
		{
			if ($joueurs['pseudo'] == $_POST['pseudo'] AND $joueurs['password'] == $_POST['password'])
			{
				$ok = true;
				
				// Création des variables de session
				$_SESSION['pseudo'] = $_POST['pseudo'];
				$_SESSION['connecter'] = "oui";
				$pseudo = $_SESSION['pseudo'];
				
				mysql_query("INSERT INTO connectes VALUES('', '$pseudo')");
			}
		}
		mysql_close(); // Déconnexion de MySQL
	
		if ($ok == true) // Suivant le résultat de l'authentification afficher la page appropriée
		{

		//---------------- AUTHENTIFICATION RÉUSSIE ------------------

		?>
		
	<form class="bienvenue" method="post" action="index.php">
	
	Bienvenue <?php print $_SESSION['pseudo'] ?>
	<input type="hidden" name="deconnecter" value="true"/>
	<input type="submit" value="Déconnexion" />
	
	</form>
	
		<?php
		
		// ---------------- FIN AUTHENTIFICATION RÉUSSIE ------------------
		
		}
		else
		{
		
		//---------------- TEST AUTHENTIFICATION ADMIN ------------------
		
			mysql_connect("sqlperso.free.fr", "pogoworld", "pogodolu"); // Connexion à MySQL
			mysql_select_db("pogoworld"); // Sélection de la base
		
			$donnees = mysql_query("SELECT * FROM admin");
			$ok = false;
	
			while ($joueurs = mysql_fetch_array($donnees) AND $ok == false) // Compare les pseudos et les passwords aux POSTS
			{
				if ($joueurs['pseudo'] == $_POST['pseudo'] AND $joueurs['password'] == $_POST['password'])
				{
					$ok = true;
				
					// Création des variables de session
					$_SESSION['pseudo'] = $_POST['pseudo'];
					$_SESSION['connecter'] = 'admin';
					$pseudo = $_SESSION['pseudo'];
				
					mysql_query("INSERT INTO connectes VALUES('', '$pseudo')");
				}
			}
			mysql_close(); // Déconnexion de MySQL
			
			if ($ok == true) // Suivant le résultat de l'authentification afficher la page appropriée
			{

				//---------------- AUTHENTIFICATION ADMIN RÉUSSIE ------------------

				?>
		
				<form class="bienvenue" method="post" action="index.php">
	
				Bienvenue <?php print $_SESSION['pseudo'] ?>
				<input type="hidden" name="deconnecter" value="true"/>
				<input type="submit" value="Déconnexion" />
	
				</form>
	
				<?php
		
				// ---------------- FIN AUTHENTIFICATION ADMIN RÉUSSIE ------------------
			}
			
			//---------------- FIN TEST AUTHENTIFICATION ADMIN ------------------
		}
	}
}
	
// ----------- FIN VÉRIFICATION --------------

if (isset($_SESSION['connecter'])){}
else
{

// ----------- PREMIER ESSAI --------------

?>
	<form class="identification" method="post" action="index.php">

	Se connecter :
			
	<input class="valid" type="text" name="pseudo" value="pseudo"/>
	<input class="valid" type="password" name="password" value="password"/>
	<input type="submit" value="Connexion" />
	</form>

<?php

// ----------- FIN PREMIER ESSAI --------------

}
?>


Je remercie d'avance tous ceux qui auront l'amabilité de proposer leurs idées !
A voir également:

11 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
13 juil. 2008 à 23:01
bonsoir,

j'ai fais un teste avec FireFox = pas de problème.
Avec IEE = problème de CSS (feuille de style)
La voici avec les modifs:
.titre
{
	text-align: center;
}

ul
{
	border: outset #0000CC;
}

.perso
{
	text-align: center;
}

.imageperso
{
	padding-left: 3px;
	padding-top: 3px;
}

.identification
{
	margin-left: 370px;
	margin-top: -20px;
}

.titrenews
{
	background-color:#666666;	
	border-style: solid;	
	border-color:#000000;	
	border-width: 1px;	
	margin-right: 200px;	
	padding: 3px;	
	margin-left: 25px;	
	font-family: "bauhaus 93", "dayton, forte", "OCR A std", "snap ITC", "serif";	
	color:#FFFFFF;	
}

.textenews
{
	border-width: 1px;	
	border-color: #000000;	
	border-style: solid;		
	margin-bottom: 25px;	
	margin-right: 200px;	
	padding: 5px;	
	color:#0000CC;	
}

PS: pense a changer le mot de passe a ta basse de données, si c'est le vrai !

Bonne soirée
0
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009
13 juil. 2008 à 23:07
Merci de ton aide et de ton honnêteté ;-) ! On test ça et on te tient au courant... mais pourtant je suis sous firefox =s
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 juil. 2008 à 01:19
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'pogoworld'@'172.20.245.9' (using password: YES) in /mnt/165/sdb/5/4/pogoworld/index.php on line 2

Problème de connexion à ta base de donnée.
0
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009
14 juil. 2008 à 11:03
Oui désolé, c'est réglé désormais, juste un contre-temps qui nous a empêché de changer le mot de passe !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 juil. 2008 à 11:13
Du coup je comprends pas le problème. En fait y'en a pas de mon côté.
0
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009
14 juil. 2008 à 11:17
En fait c'est assez étrange, nous développons se site à deux, nous possédons tous deux firefox, mais l'erreur apparaît de mon côté des que je clique sur accueil et du côté de mon coéquipier lorsque qu'il se connecte puis actualise ou clique sur accueil. Pour vous connecter voici un login et un mot de passe valide.

Login : zetsubo
Mot de passe : jerome
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 juil. 2008 à 11:19
Au fait, on se déconnecte comment ?
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 juil. 2008 à 11:30
A mon avis, pour ton header, tu as mis une conditions pour un affiche particulier pour se connecte et qui l'enlève quand on se déconnecte.
C'est peut-être de là que viens le problème. Si j'ai bien compris le problème en soit...
0
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009
14 juil. 2008 à 13:59
Oui le principe est là : lorsque tu te connecte, les liens de l'header sont sensés changés !Tu peux voir le code utilisé dans header.php. Maintenant je ne vois pas où est le problème dans le code =(
Merci beacoup de l'intéresser à notre problème arthezius !
Pour te déconnecter tu n'a d'autre choix que d'interdir les cookies dans ton navigateur, de réactualiser la page puis de les réactiver ! Logiquement un formulaire de déconnexion apparaît mais là . . .
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
14 juil. 2008 à 14:16
Pour ton header, je pencherai plutôt pour un code du style:

if(empty($_SESSION['connecter'])) {echo '...'; }
else { echo '...'; }


Ou encore:

if($_SESSION['connecter'] == 'oui') {echo '...'; }
if($_SESSION['connecter'] == 'non') {echo '...'; }


Dans les deux cas, remplace '...' par le contenu à afficher suivant les cas.
0
grollum Messages postés 44 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 février 2009
14 juil. 2008 à 21:35
Voici le nouveau contenu de la page header.php :

<?php session_start(); ?>

<h1 class="titre">Pogoworld</h1>

<ul>

<?php
if($_SESSION['connecter'] == 'oui')
{
	echo '<a href="index.php">Accueil</a>
	      <a href="fdeperso.php">Fiche personnage</a>
	      <a href="village.php">Village</a>'; 
}

if($_SESSION['connecter'] == 'admin')
{
	echo '<a href="index.php">Accueil</a>
		<a href="fdeperso.php">Fiche personnage</a>
		<a href="village.php">Village</a>
                <a href="newser.php">Newser</a>';
}

if(isset($_SESSION['connecter']) == false)
{
	echo '<a href="index.php">Accueil</a>
	        <a href="inscription.php">Inscription</a>';
}
?>

<div class="identification"><?php include('identification.php'); ?></div>

</ul>


Cependant, le problème persiste . . . il n'y a pourtant aucune raison =s
0