8722 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes,

Je suis confronté à un petit soucis, à la suite de l'utilisation de switch case,

- j'ai ma page : galerieart.php

Lorsque j'y accède aucun problème jusqu'à là.

J'ai inséré dans cette page un switch avec plusieurs cases, et lorsque j'essaye de rentré dans l'une des sous sessions de la page galerieart ( artistes, par exemple ) mon pied de page (footer) remonte derrière la bannière du haut de page ( header ) ce qui est assez gênant Smiley ohwell .

voici le code de ma page galerieart.php :


<?php session_start(); ?>
<?php  require_once("connexioninscription.inc.php");
$artiste = (int) $_GET['a'];
?>
<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut icon" title="galerie" type="image/png" href="mafavicon.png" />
<link href="css.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Galerie d'art." />
<meta name="keywords" content="galerie, art, oeuvres" />
<title>Galerie d'art</title>
</head>

<body>
<div id="container">
<?php include("header.inc.php"); ?>
<?php include("menus.inc.php"); ?>
<div id="corpsgalerieart">
<div id="retourselect">
<a href="galerieart.php" title="recharger la page"><h1 class="titre1">Galerie art</h1></a>
</div>
<?php
switch ($_GET['selection'])
{
	case "artistes":
echo '<h3 class="textesimple">'."Les derniers artistes inscrit".'</h3>';
$reponse=$bdd->prepare('SELECT membre_avatar, membre_pseudo, membre_id FROM membres');
$reponse->execute();
 while ($data=$reponse->fetch()) { 
 
 echo '<div id="ficheartistegal"><a href="./galerieart.php?a='.stripslashes(htmlspecialchars($data['membre_id'])).'&amp;selection=artiste"><figure><img src="./images/avatars/'.$data['membre_avatar'].'" class="imgavatargal" alt="avatar artiste" /><figcaption><p class="boutonlien">'.htmlspecialchars($data['membre_pseudo']).'</p></figcaption></figure></a></div>';
 }
 $reponse->closeCursor();

break;

	case "oeuvres":
echo '<h3 class="textesimple">'."Oeuvre".'</h3>';
$req=$bdd->prepare('SELECT image_oeuvre, titre_oeuvre FROM oeuvre_artiste');
$req->execute();
while ($data1=$req->fetch()) {
echo '<div id="ficheartistegal"><figure><img src="./images/oeuvres/'.$data1['image_oeuvre'].'" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">'.htmlspecialchars($data1['titre_oeuvre']).'</p></figcaption></figure></div>';
}
 $req->closeCursor();
break;

	case "artiste":
 $query=$bdd->prepare('SELECT membre_id, membre_pseudo, membre_avatar, membre_mail, membre_siteweb, membre_inscription, membre_nom, membre_prenom, membre_localisation, membre_biographie FROM membres WHERE membre_id=:membre');
	$query->bindValue(':membre',$artiste, PDO: [langue]ARAM_INT);
	$query->execute();
	$data=$query->fetch();
echo '<div id="inline-block">';	
echo '<div id="encartartisteinfo">';	
echo '<img src="./images/avatars/'.$data['membre_avatar'].'" class="imgavatar" alt="avatar" />';	

echo '<p class="boutonlienforum"><strong><a href="voirprofil.php?m='.$data['membre_id'].'&amp;action=consulterprofil">'.$data['membre_pseudo'].'</a></strong></p>';

echo '<p class="textesimple">'.$data['membre_nom'].' '.$data['membre_prenom'].'</p>';

echo '<p class="textesimple">'."Inscrit le : ".$data['membre_inscription'].'</p>';

echo '<p class="textesimple">'.$data['membre_localisation'].'</p>';

echo '<p class="boutonlienforum"><a href="mailto:'.$data['membre_mail'].'">'.$data['membre_mail'].'</a></p>';
echo '</div>';

echo '<div id="biographieartiste">';
echo '<p class="textesimple"><b>'."Biographie de l'artiste".'</b></p>';
echo '<p class="textesimple">'.$data['membre_biographie'].'</p>';
echo'</div>';
echo '</div>';
break;

default;
?>
<div id="souscorpsgalerieart">
<div id="encartartiste">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=artistes">Les artistes</a></h3>
<?php

$reponse=$bdd->prepare('SELECT membre_avatar, membre_pseudo, membre_id FROM membres');
$reponse->execute();
 while ($data=$reponse->fetch()) { 
 
 echo '<div id="ficheartistegal"><figure><a href="./galerieart.php?a='.stripslashes(htmlspecialchars($data['membre_id'])).'&amp;selection=artiste"><img src="./images/avatars/'.$data['membre_avatar'].'" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">'.htmlspecialchars($data['membre_pseudo']).'</p></figcaption></a></figure></div>';
 }
 $reponse->closeCursor();
 
?>
</div>

<div id="encartoeuvre">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=oeuvres">Les Oeuvres</a></h3>

<?php 
$req=$bdd->prepare('SELECT image_oeuvre, titre_oeuvre FROM oeuvre_artiste');
$req->execute();
while ($data1=$req->fetch()) {
echo '<div id="ficheartistegal"><figure><img src="./images/oeuvres/'.$data1['image_oeuvre'].'" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">'.htmlspecialchars($data1['titre_oeuvre']).'</p></figcaption></figure></div>';
}
 $req->closeCursor();
}
?>
   </div>
  </div>
 </div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>


Merci pour votre attention et votre aide Smiley smile
Bonjour,
Ton problème ne vient certainement pas de ton php, mais du html.
Valide le code html final. Je soupçonne une balise non fermée.
Je repère une erreur de syntaxe qui t'est peut-être fatale : tu as écrit :
default;

au lien de
default:

A mon avis, ça peut faire mal !
Bonjour à vous et merci pour votre attention Smiley smile ,

J'ai vérifié plusieurs fois de suite mon code html qui ne semble pas avoir d'erreur Smiley ohwell ,

effectivement j'ai corrigé l'erreur repéré par petibato, mais le problème d’alignement persiste toujours Smiley ohwell ,

Merci encore pour votre attention et votre aide.
Bien sur voici mon code :

<!DOCTYPE HTML>
<html>
<head>
<title>Galerie d'art</title>
</head>

<body>
<div id="container">
<div id="corpsgalerieart">

<div id="retourselect">
<a href="galerieart.php" title="recharger la page"><h1 class="titre1">Galerie art</h1></a>
</div>

<div id="souscorpsgalerieart">
 </div>
  </div>
 </div>
</div>
</body>
</html>


effectivement une "</div>" semble être en trop, mais lorsque je la retire,et que je me rend sur ma page source "galerieart.php" le footer se trouve à l'interrieur de ma div "corpsgalerieart" Smiley ohwell ce qui ne devrait pas se produire Smiley decu

Merci ton ton aide benj Smiley smile
Je pense que Benj voulait parler du code html intégral de ta page (lorsque tout les includes ont été faits). Par exemple, sous firefox ou chrome, tu affiches ta page finale (là où il y a le problème), et tu fais ctrl+U pour avoir la source complète.

Mais effectivement, vu ton problème, il y a de fortes chances que cela provienne d'une balise html non fermée.
Salut à toi GroquikMLV Smiley lol ,

voici mon code html, extrait comme GroquikMLV me l'as conseillé ^^

<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut icon" title="titre" type="image/png" href="mafavicon.png" />
<link href="css.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Galerie d'art </title>
</head>

<body>
<div id="container">

<div id="header">
<div id="imageheader">
</div>
</div>

<div id="contenuheader">
<a href="connexion.php" title="Connéctez-vous"><p class="condec">Connexion</p></a>
<a href="inscription.php" title="Inscrivez-vous"><p class="condec">Inscription</p></a>
</div>

<nav id="menucontainer" role="navigation">
	<ul id="menu">
		<li><a href="index.php" title="page principale">Accueil</a></li>
		<li><a href="actualite.php?page=1" title="l'actualité">Actualités</a></li>
		<li><a href="dessins.php" title="voir les oeuvres">Dessins</a></li>
        <li><a href="aproposde.php" title="renseignez-vous !">À propos de</a></li>
        <li><a href="livreor.php" title="Donner votre avis !">Livre d'or</a></li>
        <li><a href="forum.php" title="forum crobara2bal">Forum</a></li>
        <li><a href="contact.php" title="contactez-nous !">Contact</a></li>
                <li><a href="inscription.php" title="rejoignez-nous !">Inscription</a></li>
                          <li><a href="connexion.php" title="Connectez-vous !">Connexion</a></li>
         	</ul>
</nav><div id="corpsgalerieart">
<div id="retourselect">
<a href="galerieart.php" title="recharger la page"><h1 class="titre1">Galerie art</h1></a>
</div>
<div id="souscorpsgalerieart">
<div id="encartartiste">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=artistes">Les artistes</a></h3><div id="ficheartistegal"><figure><a href="./galerieart.php?a=1&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">nEpho24</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=2&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">cd</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=4&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">jp</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=10&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">cedric</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=12&amp;selection=artiste"><img src="./images/avatars/logoréseau.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">Crocro</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=14&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">ptidessin</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=32&amp;selection=artiste"><img src="./images/avatars/formationsps.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">pierre</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=33&amp;selection=artiste"><img src="./images/avatars/profilpardefaut.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">essai</p></figcaption></a></figure></div><div id="ficheartistegal"><figure><a href="./galerieart.php?a=34&amp;selection=artiste"><img src="./images/avatars/logoreverb.jpg" class="imgavatargal" alt="avatar artiste"/><figcaption><p class="boutonlien">reverb</p></figcaption></a></figure></div></div><div id="encartoeuvre">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=oeuvres">Les Oeuvres</a></h3><div id="ficheartistegal"><figure><img src="./images/oeuvres/logoreverb.jpg" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">petit test</p></figcaption></figure></div>   </div>
  </div>

<div id="footer">
 <div class="backgroundimage">
  <div id="copyright">
 <p class="copyright">Corpyright © 2013 Tout droit d'auteurs réservé.</p>
  </div>
  <div id="retrouveznous">
  <p class="retrouveznous">retrouvez-nous sur :</p>
  <a href="http://www.facebook.com/Crobara2bal" title="Facebook"><img src="images/facebook.png" alt="Facebook"></a>
  <a href="http://www.crobara2bal.tumblr.com" title="Tumblr"><img src="images/tumblr.png" alt="Tumblr"></a>
  <a href="http://www.twitter.com/Crobara2bal" title="Twitter"><img src="images/twitter.png" alt="Twitter"></a>
  <a href="http://www.pinterest.com/crobara2bal/" title="Pinterest"><img src="images/pinterest.png" alt="Pinterest"></a>
  <a href="http://www.fotolog.com/crobara2bal/" title="Fotolog"><img src="images/fotolog.png" alt="Fotolog"></a>
  <a href="http://www.plus.google.com/107505756353734222952/posts" title="Google plus"><img src="images/googleplus.png" alt="Googleplus"></a>
  <a href="http://www.flickr.com/photos/crobara2bal/" title="Flickr"><img src="images/flickr.png" alt="Flickr"></a>
  </div>
 </div>
</div></div>
</body>
</html>


Jusqu'à là, je n'ai jamais eu de soucis avec les includes ( header, menu, et footer ) je ne pense pas qu'il y ai d'erreur html dans celles-ci ^^.

Merci encore pour votre attention Smiley smile .
Modifié par Reverb (16 Oct 2013 - 11:57)
Après une première lecture du code, il semblerait que ton footer soit inclu dans la div "corpsgalerieart". C'est normal?

Edit: de plus, il semble que ton div "container" ne soit pas fermé
Modifié par GroquikMLV (16 Oct 2013 - 12:46)
Re, J'ai trouvé d'ou l'erreur venait Smiley smile ,

s'était effectivement le code html, une balise fermente mal placé :

echo '<div id="encartoeuvre">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=oeuvres">'."Les Oeuvres".'</a></h3>';


$req=$bdd->prepare('SELECT image_oeuvre, titre_oeuvre FROM oeuvre_artiste');
$req->execute();
while ($data1=$req->fetch()) {
echo '<div id="ficheartistegal"><figure><img src="./images/oeuvres/'.$data1['image_oeuvre'].'" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">'.htmlspecialchars($data1['titre_oeuvre']).'</p></figcaption></figure></div>';
}
 $req->closeCursor();
}


?>
[b]</div>[/b]
   </div>
  </div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>


et voici mon code corrigé :

echo '<div id="encartoeuvre">
<h3 class="boutonlienforum"><a href="galerieart.php?selection=oeuvres">'."Les Oeuvres".'</a></h3>';


$req=$bdd->prepare('SELECT image_oeuvre, titre_oeuvre FROM oeuvre_artiste');
$req->execute();
while ($data1=$req->fetch()) {
echo '<div id="ficheartistegal"><figure><img src="./images/oeuvres/'.$data1['image_oeuvre'].'" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">'.htmlspecialchars($data1['titre_oeuvre']).'</p></figcaption></figure></div>';
}
[b]echo '</div>';[/b]
 $req->closeCursor();
}


?>
   </div>
  </div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>


la </div> devait être inclus à l'intérieur de "case" du switch concerné ^^,

Merci vraiment, encore une fois pour votre aide Smiley smile .
Modifié par Reverb (16 Oct 2013 - 13:15)