8797 sujets

Développement web côté serveur, CMS

Je dois intégrer un design sur un site déjà construit en php, sachant que moi le php ça ne me parle pas trop...
Alors voilà, mon pied de page disparait "à cause" d'un bout de code en php (lorsque j'enlève le code, ça va, lorsque je le remets, ça ne va plus...) sachant que ce code ne contient pas de div, je ne vois vraiment pas où est le problème...


Voilà le code complet de la page: (en gras la partie qui coince)

<?php

require("inclus/header.php");
?>
<div id="global">
<!-- L'en-tête -->

	<div id="bandeau"></div>

<!-- Le corps -->
	<div id="corps">
	<!-- Les menus -->
		<div id="menu">        
[b]<?php
include('menu.php'); 
?>
		</div>
<?php
	require("inclus/connect.php");
	
		

	
	if(isset($_GET['id_req'])){
		
		$id_req=$_GET['id_req'];
		
		$sql_req="SELECT requete FROM requetes WHERE id_req='$id_req'";
		
		$req_req = mysql_query($sql_req);

		$data_req = mysql_fetch_assoc($req_req);

		$sql= $data_req['requete'];
				
	}else{
	
	$requete = "delete from requetes  where date = date_sub(now(),interval 7 day);";  
	$vider_req = mysql_query($requete);

	$sql="SELECT * FROM produits WHERE ";


	if(isset($_GET['id_cat'])){
	
	$id_cat=$_GET['id_cat'];
	
	}elseif(isset($_POST['id_cat'])){
	
	$id_cat=$_POST['id_cat'];
	
	}
	
	
	if($id_cat!=0){
	

	$sql.=" id_cat='$id_cat'";
	
	}
	
	if(isset($_POST['secteur'])){
	$secteur=$_POST['secteur'];
	
	if($secteur!="0"){
	
	if($id_cat!=0){
	

	$sql.="  AND ";
	}
	
	
	$sql.=" secteur='$secteur'";
	
	}
	}
	

if(isset($_POST['reference'])){

if(!empty($_POST['reference'])){

	$reference=$_POST['reference'];


if(($id_cat!=0)OR($secteur!="0")){
	

	$sql.="  AND ";
	}

	$sql.=" reference LIKE '$reference'";


}
}
	
	
	
	if((!empty($_POST['prix1'])) AND (!empty($_POST['prix2']))) {
	
	$prix1=$_POST['prix1'];
	$prix2=$_POST['prix2'];
	
	if(($id_cat!=0) OR ($secteur!="0") OR (!empty($_POST['reference']))){
	

	$sql.=" AND ";
	
	}

	$sql.="	prix BETWEEN '$prix1' AND '$prix2'";

	
	}elseif(!empty($_POST['prix1'])){
	
	$prix1=$_POST['prix1'];
	
	if(($id_cat!=0) OR ($secteur!="0") OR (!empty($_POST['reference']))){
	

	$sql.=" AND ";
	
	}
	$sql.=" prix > '$prix1'";

	
	}elseif(!empty($_POST['prix2'])){
	
	$prix2=$_POST['prix2'];
	
	if(($id_cat!=0) OR ($secteur!="0") OR (!empty($_POST['reference']))){
	

	$sql.=" AND ";
	
	}

	$sql.=" prix < '$prix2'";

	}

	$sql.=" ORDER BY prix";
	$req = mysql_query($sql);

	$nb_rel=mysql_num_rows($req);

	
	if($nb_rel==0){
	
	echo '<span class="annonce">Il n\'y a aucun produit qui correspond à votre requête !</span><br /><br />';
	die();
	}
	
	
	$sql=addslashes($sql);
	
	$date=date("Y-m-d");
	
	$sql_req ="INSERT INTO requetes (requete,date) VALUES ('$sql','$date')";
	$req_req = mysql_query($sql_req);
	
	$id_req=mysql_insert_id();

	}
	$sql=stripslashes($sql);

	$req = mysql_query($sql);
	$nb_rel=mysql_num_rows($req);
	$nb_page=($nb_rel/10);

	$nb_page=((integer)($nb_page));

	if(!is_int($nb_rel/10)){
	$nb_page=$nb_page+1;
	}
	
	if(isset($_GET['page'])){
	$page=$_GET['page'];
	}else{
	$page=1;
	}
	
	if(isset($_GET['i'])){
		$i=$_GET['i'];
			$page=((INT)($i/10)+1);

		}
		
	
	
?>[/b]
	<h1><?=$nb_rel;?> Produit(s) trouvé(s)</h1><br /><br /><br /><br />
	<p><a href="recherche.php">Recherche approfondie</a></p>
	<?php
	$sql=stripslashes($sql);

		




$sql.=" LIMIT ";
if($nb_page>1){

echo '<div align="center"><div class="conteneur_nav">';

if($page!=1){
$page_prev=$page-1;
?>
<a href="affich_produits.php?page=<?=$page_prev;?>&amp;id_req=<?=$id_req;?>"><img src="img/gauche.gif" width="30" height="30" alt="Page pr?c?dente" class="flottant_gauche"></a>
<?php
}else{
?>
<img src="img/x.png" width="30" height="30" class="flottant_gauche">
<?php
}
if($page!=$nb_page){
$page_next=$page+1;
?>
<a href="affich_produits.php?page=<?=$page_next;?>&amp;id_req=<?=$id_req;?>"><img src="img/droite.gif" width="30" height="30" class="flottant_droite" alt="Page suivante"></a>
<?php
}else{
?>
<img src="img/x.png" width="30" height="30" class="flottant_droite">
<?php
}
echo '<div class="par_page">';

for($nb=1;$nb<=$nb_page;$nb++){

if($nb!=$page){
?>
<span class="nav_page"><a href="affich_produits.php?page=<?=$nb;?>&amp;id_req=<?=$id_req;?>"><?=$nb;?></a></span>
<?php
}else{
echo '<span class="actu_page">'.$nb.'</span>';
}
	if($nb!=$nb_page){ 
	echo ' - ';
	}

}
echo '</div></div></div><br /><br />';
}


	if($page!=1){
	
		$limit=(($page-1) *10);
		
		$i=(($page-1) *10 +1);
			
	}else{
	
	$i=1;
	$limit=0;
	
	}

	$sql.="$limit,10";

	$req = mysql_query($sql);

	while($data = mysql_fetch_assoc($req)){

	$id_prod= $data['id_prod'];
	$produit= $data['produit'];
	$produit=stripslashes($produit);

	$prix= $data['prix'];
	$prix=number_format($prix,0," "," ");
	$resume= nl2br(stripslashes($data['resume']));
	$reference= $data['reference'];
	$secteur= $data['secteur'];

	
	$sql_photos="SELECT photo FROM photos WHERE id_prod='$id_prod' AND une='1' ";
	$req_photos = mysql_query($sql_photos);
	$nb_photos_une = mysql_num_rows($req_photos);
		
		
			if($nb_photos_une==1){
			$data_photos = mysql_fetch_assoc($req_photos);
			$photo=$data_photos['photo'];
			$photo="produits_img/".$photo;
			}else{
			$photo="img/x.png";
			}
			
	$sql_nb_photos="SELECT id_photo FROM photos WHERE id_prod='$id_prod' ";
	$req_nb_photos = mysql_query($sql_nb_photos);
	$nb_photos = mysql_num_rows($req_nb_photos);
			
	
?>
<div class="info">
	<div class="vignette">
		<a href="fiche.php?i=<?=$i;?>&amp;id_req=<?=$id_req;?>&amp;nb_rel=<?=$nb_rel;?>">
		<img src="<?=$photo;?>" height="100" width="133" alt="<?=$produit;?>" style="border:2px solid #005901;" /></a>
		<br /><a href="fiche.php?i=<?=$i;?>&amp;id_req=<?=$id_req;?>&amp;nb_rel=<?=$nb_rel;?>"><?=$nb_photos;?> Photo(s)</a>
	</div>

	<h3><a href="fiche.php?i=<?=$i;?>&amp;id_req=<?=$id_req;?>&amp;nb_rel=<?=$nb_rel;?>"><?=$produit;?></a></h3>

	<span class='prix'><?=$prix;?> ?</span><br /><br />
	
	<div class="resume"><span class="action"><a href="fiche.php?i=<?=$i;?>&amp;id_req=<?=$id_req;?>&amp;nb_rel=<?=$nb_rel;?>">Voir la fiche</a></span><?=$resume;?></div>
	<div style="width:96%;height:20px;padding-left:2%;padding-right:2%;">
	<span class="secteur">Agence : <b><?php if($secteur=="Sancerre"){ echo "Sancerre"; }else{ echo "Pouilly-sur-Loire"; } ?></b></span><span class="reference">R?f : <b><?=$reference;?></b></span></div>

</div> 
<?php
$i++;
}
if($nb_page>1){

echo '<div align="center"><div class="conteneur_nav">';

if($page!=1){
$page_prev=$page-1;
?>
<a href="affich_produits.php?page=<?=$page_prev;?>&amp;id_req=<?=$id_req;?>"><img src="img/gauche.gif" width="30" height="30" alt="pr?c?dent" class="flottant_gauche"></a>
<?php
}else{
?>
<img src="img/x.png" width="30" height="30" alt="pr?c?dent" class="flottant_gauche">
<?php
}
if($page!=$nb_page){
$page_next=$page+1;
?>
<a href="affich_produits.php?page=<?=$page_next;?>&amp;id_req=<?=$id_req;?>"><img src="img/droite.gif" width="30" height="30" class="flottant_droite"></a>
<?php
}else{
?>
<img src="img/x.png" width="30" height="30" class="flottant_droite">
<?php
}
echo '<div class="par_page">';

for($nb=1;$nb<=$nb_page;$nb++){

if($nb!=$page){
?>
<span class="nav_page"><a href="affich_produits.php?page=<?=$nb;?>&amp;id_req=<?=$id_req;?>"><?=$nb;?></a></span>
<?php
}else{
echo '<span class="actu_page">'.$nb.'</span>';
}
	if($nb!=$nb_page){ 
	echo ' - ';
	}

}
echo '</div></div></div><br /><br />';
}
?>

	</div> 

<div id="pied"></div>
       

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2175904-3";
urchinTracker();
</script>
</div>
</body>
</html>
 
Bonjour aussi,

Ce n'est pas un problème de CSS. Les CSS (ou plutôt le navigateur) ne s'occupent que du code HTML de la page. Si tu as un bloc qui «disparait», cela peut avoir plusieurs raisons:
1. le code PHP génère une erreur, et PHP bloque la génération de la page, de sorte que le document qui est envoyé au navigateur est incomplet;
2. le code PHP génère des éléments HTML qui modifient la structure HTML de la page, par exemple en modifiant les imbrications d'éléments.

Dans tous les cas, tu dois regarder dans le code source généré de la page quel est le résultat que tu obtiens. Et, si besoin, te faire aider par le développeur du site. Ce dernier devrait être en mesure d'intégrer ton design statique (HTML + CSS + éventuellement JavaScript) au code qu'il a développé. Au passage, le fait qu'il faille insérer de longs blocs de PHP dans ton design est le signe d'un développement mal structuré. Smiley ohwell
Modifié par Florent V. (19 Jul 2008 - 17:24)
J'ai bien regardé le bout de code qui pose problème pour voir s'il génère du HTML, mais je ne pense pas, bien que je sois novice en php. Il s'agit de requêtes.
Bon, si le php génère une erreur, je vais devoir m'en remettre au développeur.

Merci pour ces infos.
Modérateur
Salut,

Je ne comprend pas pourquoi je ne vois pas de fonctions « personnelles ».

J'ai du mal à suivre ton code car il est très mal endenté et manque furieusement de commentaires (// ou /* */ ou #).

Comme l'affirme Florent V., je pense que le site est mal structuré. As tu fait un test de vérification dans le cas où il y ait une mauvaise syntaxe de requête ?

Néanmoins, je te propose de regarder si chaque variable renvoi une valeur (utilisation de print_r(), ou echo()). Vérifie également dans la console Mysql ou dans PhpmyAdmin que tes requêtes soient justes.

À vue de nez, je pense que ton code à un moment donné n'a pas la connexion à MySql et qu'un array n'a donc pas de valeur.

++

<<<EDIT
PS : J'aime bien ton site Florent Smiley smile
EDIT;
Modifié par Nolem (19 Jul 2008 - 19:13)