Problème lors de la mise en ligne de mon site
ouimaisnormalement
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
ouimaisnormalement Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
ouimaisnormalement Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'apprend le php et je bute sur un problème que j'ai déjà croisé dans les forums : lors de la création du site en local, tout se passe bien mais lors de sa mise en ligne, j'ai l'erreur suivante :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /homez.501/rectangl/www/php/portfolio.php on line 1
Je fais des mises en ligne régulières à chaque étapes importantes de la construction du site. Jusque là tout allait bien.
La page qui pose problème est certainement un peu plus complexe en imbrication que les autres, le problème vient peut-être de là.
Peut-être ai-je fait une erreur de concaténation. J'ai lu quelques posts et je me dis que je n'ai peut-être pas bien compris ça.
Si quelqu'un a un peu de temps pour m'aider à relire mon fichier, ça m'aiderait beaucoup, je trop de points virgules dans les yeux je crois !
Je travaille avec Notepad++. Le fichier est encodé en utf-8(sans BOM)...
Le code de la page :
<?php
require 'connexion.php';
if(isset($_GET['id_rubrique'])){ // si tu n'as pas mémorisé $_GET['id'] la première fois
$id_rubrique=$_GET['id_rubrique']; // alors mémorise-le
}
$rub=$id_rubrique;
$rubrique=$rub;
?>
<!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=utf-8" />
<title>Rectangluti_Portfolio</title>
<link href="../css/css.css" rel="stylesheet" type="text/css" />
<!-- Spécifications pour IE 5 et supérieur : -->
<!--
[if gte IE 5]>
<link type="text/css" rel="stylesheet" href="styles-ie.css" />
<![endif]
-->
<!-- AFFICHAGE ACCORDEON GALERIES -->
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/effet.js"></script>
<!-- COLORBOX -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="../js/colorbox/jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
//Examples of how to assign the ColorBox event to elements
$(".group1").colorbox({rel:'group1', width:"75%", height:"75%"});
$(".group2").colorbox({rel:'group2', width:"75%", height:"75%"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
$(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
$(".iframe").colorbox({iframe:true,rel:'group1', width:"75%", height:"75%"});
$(".inline").colorbox({inline:true, width:"40%"});
$(".callbacks").colorbox({
onOpen:function(){ alert('onOpen: colorbox is about to open'); },
onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
$('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
return false;
});
});
</script>
</head>
<body>
<div id="conteneur">
<div id="header"> <!-- début "header" -->
<h1><a href="../index.php">Anne Basaille</a></h1>
</div> <!-- fin "header" -->
<div id="menu"> <!-- menugeneral -->
<ul>
<li><a href="../index.php">Accueil</a></li>
</ul>
<ul>
<li><a href="presentation.php">Présentation</a></li>
</ul>
<ul>
<!-- Affichage du menu -->
<?php
// fais une connexion
foreach($connexion->query('SELECT * FROM rubriques') as $ligne){
echo '<li>';
echo '<a href="portfolio.php?id_rubrique='.$ligne['id_rubrique'].'">';
echo $ligne['nom_rubrique'];
echo '</a>';
echo '</li>';
}
?>
</ul>
</div> <!-- /menu -->
<div id="main"> <!-- main -->
<div class="serie">
<ul>
<?php
foreach($connexion->query("SELECT * FROM projets WHERE rub='$rub' ") as $ligne){
$id_projet=$ligne['id_projet'];
echo '<li>';
echo '<div class="serieIcone">'; // div serieIcone
echo '<img src="../images/flecheMarron.gif">';
echo '</div>'; // fin div serieIcone
echo '<div class="serieTitre">'; // div serieTitre
echo $ligne['nom_projet'];
echo '</div>'; // fin div serieTitre
echo '<div class="serieGalerie">'; // div serieGalerie
// on récupère les variables qu'on connait et dont on aura besoin
$id_rubrique=$_GET['id_rubrique'];
$projet=$id_projet;
if($ligne['resume_projet']!=''){
echo '<div class="serieIntro">'; // div serieIntro
echo $ligne['resume_projet'];
echo '</div>'; // fin div serieIntro
}
foreach($connexion->query("SELECT * FROM oeuvres WHERE projet='$projet'") as $ligne){
if($ligne['image']!=''){
echo '<div class="vignettesSite">'; // vignette
echo '<a class="group1" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/images/'.$ligne['image'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>';
echo '</div>'; // /vignette
}
elseif($ligne['video']!=''){
echo '<div class="vignettesSite">'; // vignette
echo '<a class="iframe" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/videos/'.$ligne['video'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>';
echo '</div>'; // /vignette
}
}
echo '</div>'; // fin div serieGalerie
echo '</li>';
}
?>
</ul>
</div> <!-- /série -->
</div> <!-- /main -->
<div id="footer">
<a href="contact.php">Contact</a> - <a href="infosLegales.php">Informations légales</a> - <a href="admin/identification.php">Administration</a> - Copyright 2012
</div>
</div> <!-- /conteneur -->
</body>
</html>
Merci d'avance !!!
J'apprend le php et je bute sur un problème que j'ai déjà croisé dans les forums : lors de la création du site en local, tout se passe bien mais lors de sa mise en ligne, j'ai l'erreur suivante :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /homez.501/rectangl/www/php/portfolio.php on line 1
Je fais des mises en ligne régulières à chaque étapes importantes de la construction du site. Jusque là tout allait bien.
La page qui pose problème est certainement un peu plus complexe en imbrication que les autres, le problème vient peut-être de là.
Peut-être ai-je fait une erreur de concaténation. J'ai lu quelques posts et je me dis que je n'ai peut-être pas bien compris ça.
Si quelqu'un a un peu de temps pour m'aider à relire mon fichier, ça m'aiderait beaucoup, je trop de points virgules dans les yeux je crois !
Je travaille avec Notepad++. Le fichier est encodé en utf-8(sans BOM)...
Le code de la page :
<?php
require 'connexion.php';
if(isset($_GET['id_rubrique'])){ // si tu n'as pas mémorisé $_GET['id'] la première fois
$id_rubrique=$_GET['id_rubrique']; // alors mémorise-le
}
$rub=$id_rubrique;
$rubrique=$rub;
?>
<!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=utf-8" />
<title>Rectangluti_Portfolio</title>
<link href="../css/css.css" rel="stylesheet" type="text/css" />
<!-- Spécifications pour IE 5 et supérieur : -->
<!--
[if gte IE 5]>
<link type="text/css" rel="stylesheet" href="styles-ie.css" />
<![endif]
-->
<!-- AFFICHAGE ACCORDEON GALERIES -->
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/effet.js"></script>
<!-- COLORBOX -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="../js/colorbox/jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
//Examples of how to assign the ColorBox event to elements
$(".group1").colorbox({rel:'group1', width:"75%", height:"75%"});
$(".group2").colorbox({rel:'group2', width:"75%", height:"75%"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
$(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
$(".iframe").colorbox({iframe:true,rel:'group1', width:"75%", height:"75%"});
$(".inline").colorbox({inline:true, width:"40%"});
$(".callbacks").colorbox({
onOpen:function(){ alert('onOpen: colorbox is about to open'); },
onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); },
onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); },
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
$('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
return false;
});
});
</script>
</head>
<body>
<div id="conteneur">
<div id="header"> <!-- début "header" -->
<h1><a href="../index.php">Anne Basaille</a></h1>
</div> <!-- fin "header" -->
<div id="menu"> <!-- menugeneral -->
<ul>
<li><a href="../index.php">Accueil</a></li>
</ul>
<ul>
<li><a href="presentation.php">Présentation</a></li>
</ul>
<ul>
<!-- Affichage du menu -->
<?php
// fais une connexion
foreach($connexion->query('SELECT * FROM rubriques') as $ligne){
echo '<li>';
echo '<a href="portfolio.php?id_rubrique='.$ligne['id_rubrique'].'">';
echo $ligne['nom_rubrique'];
echo '</a>';
echo '</li>';
}
?>
</ul>
</div> <!-- /menu -->
<div id="main"> <!-- main -->
<div class="serie">
<ul>
<?php
foreach($connexion->query("SELECT * FROM projets WHERE rub='$rub' ") as $ligne){
$id_projet=$ligne['id_projet'];
echo '<li>';
echo '<div class="serieIcone">'; // div serieIcone
echo '<img src="../images/flecheMarron.gif">';
echo '</div>'; // fin div serieIcone
echo '<div class="serieTitre">'; // div serieTitre
echo $ligne['nom_projet'];
echo '</div>'; // fin div serieTitre
echo '<div class="serieGalerie">'; // div serieGalerie
// on récupère les variables qu'on connait et dont on aura besoin
$id_rubrique=$_GET['id_rubrique'];
$projet=$id_projet;
if($ligne['resume_projet']!=''){
echo '<div class="serieIntro">'; // div serieIntro
echo $ligne['resume_projet'];
echo '</div>'; // fin div serieIntro
}
foreach($connexion->query("SELECT * FROM oeuvres WHERE projet='$projet'") as $ligne){
if($ligne['image']!=''){
echo '<div class="vignettesSite">'; // vignette
echo '<a class="group1" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/images/'.$ligne['image'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>';
echo '</div>'; // /vignette
}
elseif($ligne['video']!=''){
echo '<div class="vignettesSite">'; // vignette
echo '<a class="iframe" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/videos/'.$ligne['video'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>';
echo '</div>'; // /vignette
}
}
echo '</div>'; // fin div serieGalerie
echo '</li>';
}
?>
</ul>
</div> <!-- /série -->
</div> <!-- /main -->
<div id="footer">
<a href="contact.php">Contact</a> - <a href="infosLegales.php">Informations légales</a> - <a href="admin/identification.php">Administration</a> - Copyright 2012
</div>
</div> <!-- /conteneur -->
</body>
</html>
Merci d'avance !!!
A voir également:
- Problème lors de la mise en ligne de mon site
- Site de telechargement - Accueil - Outils
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Quel site remplace coco - Accueil - Réseaux sociaux
17 réponses
Sur ta première ligne de php il manque des parenthèse
sinon si tu es chez ovh ajoute :
dans le .htaccess à la racine de l'hébergement
et tu peux aussi ajouter ça :
même si ca n'a pas grand chose a voir
sinon si tu es chez ovh ajoute :
SetEnv PHP_VER 5_3 SetEnv REGISTER_GLOBALS 0
dans le .htaccess à la racine de l'hébergement
et tu peux aussi ajouter ça :
options -indexes -MultiViews
même si ca n'a pas grand chose a voir
Hello !
Les parenthèse sur le require ne changent rien.
J'ai ajouté options -indexes -MultiViews sur le htaccess. Il avait déjà les 2 autres spécifications. (je suis bien chez ovh oui)
Je continue à chercher une erreur dans la concaténation. Pour l'instant, aucune trouvaille...
Les parenthèse sur le require ne changent rien.
J'ai ajouté options -indexes -MultiViews sur le htaccess. Il avait déjà les 2 autres spécifications. (je suis bien chez ovh oui)
Je continue à chercher une erreur dans la concaténation. Pour l'instant, aucune trouvaille...
Par exemple, est-ce que ces lignes sont correctes au niveau de la syntaxe ?
foreach($connexion->query("SELECT * FROM oeuvres WHERE projet='$projet'") as $ligne){ if($ligne['image']!=''){ echo '<div class="vignettesSite">'; // vignette echo '<a class="group1" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/images/'.$ligne['image'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>'; echo '</div>'; // /vignette } elseif($ligne['video']!=''){ echo '<div class="vignettesSite">'; // vignette echo '<a class="iframe" href="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/videos/'.$ligne['video'].'" title="'.$ligne['titre'].'"><img src="../images/'.$ligne['rubrique'].'/'.$ligne['projet'].'/vignettes/'.$ligne['vignette'].'" /></a>'; echo '</div>'; // /vignette } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je pense avoir trouvé
ca doiit venir de ces lignes
$rub = $id_rubrique;
$rubrique = $rub;
si $id_rubrique n'est pas déclaré ca risque de poser problème
ca doiit venir de ces lignes
$rub = $id_rubrique;
$rubrique = $rub;
si $id_rubrique n'est pas déclaré ca risque de poser problème
ok je regarde ça de plus près.
Mais je ne comprends pas quand tu dis "si $id_rubrique n'est pas déclaré ca risque de poser problème".
id_rubrique est déclaré comme étant = à la valeur que lui renvoie le navigatreur (via $_GET['id_rubrique'])
par d"déclaré", est-ce que tu entends, appelé plus bas dans la page ?
Dans mes tables, j'ai 3 variables qui équivalent à id_rubrique. Je fais appel aux une ou aux autres selon les tables que j'appelle justement...
Ceci dit, je ne suis pas étonnée que tu trouves pleins de variables en trop. Je vais essayer d'épurer.
Merci !
Mais je ne comprends pas quand tu dis "si $id_rubrique n'est pas déclaré ca risque de poser problème".
id_rubrique est déclaré comme étant = à la valeur que lui renvoie le navigatreur (via $_GET['id_rubrique'])
par d"déclaré", est-ce que tu entends, appelé plus bas dans la page ?
Dans mes tables, j'ai 3 variables qui équivalent à id_rubrique. Je fais appel aux une ou aux autres selon les tables que j'appelle justement...
Ceci dit, je ne suis pas étonnée que tu trouves pleins de variables en trop. Je vais essayer d'épurer.
Merci !
Est-ce que tu veux parler d'un truc du genre :
$bdd = new PDO('mysql:host='.$hote.';dbname='.$bd, $utilisateur, $passe);
$sql = $bdd->prepare('SELECT * FROM luxe);
$sql->execute();
et après, à la place de mes ligne foreach...
while ($resultat = $sql->fetch(PDO::FETCH_ASSOC)){
.....................
}
$bdd = new PDO('mysql:host='.$hote.';dbname='.$bd, $utilisateur, $passe);
$sql = $bdd->prepare('SELECT * FROM luxe);
$sql->execute();
et après, à la place de mes ligne foreach...
while ($resultat = $sql->fetch(PDO::FETCH_ASSOC)){
.....................
}
pour pdo c'est ça. un conseil n'utilise que ca et sous cette forme le plus souvent possible
et pour la variable elle n'est déclaré que si le get existe
if(isset($_GET['id_rubrique'])){ // si tu n'as pas mémorisé $_GET['id'] la première fois
$id_rubrique=$_GET['id_rubrique']; // alors mémorise-le
}
mais il n'y a pas de else donc sinon elle n'existe pas et tu donne une valeur a rub qui n'existe pas
si tu faisais :
au lieu de :
la variable $rubrique n'est appelé nul par dans la page
tu aurais le même résultat sans les problèmes de variable inexistante
a la ligne 95 et 109 tu te tapes un bon délire aussi.
ligne 95 : $id_projet=$ligne['id_projet'];
ligne 108 : $id_rubrique=$_GET['id_rubrique']; (tu redéfinit $id_rubrique sans vérifier que le get existe et pour lui donner la même valeur que tu lui a donné au début
ligne 109 : $projet=$id_projet; tu met dans une autre variable $ligne['id_projet']
utilise directement $ligne['id_projet'] et $rub pour c'est 2 cas la
après il y a peut être d'autre chose que je n'ai pas remarqué
et pour la variable elle n'est déclaré que si le get existe
if(isset($_GET['id_rubrique'])){ // si tu n'as pas mémorisé $_GET['id'] la première fois
$id_rubrique=$_GET['id_rubrique']; // alors mémorise-le
}
mais il n'y a pas de else donc sinon elle n'existe pas et tu donne une valeur a rub qui n'existe pas
si tu faisais :
$rub = (isset($_GET['id_rubrique']))? (int)$_GET['id_rubrique'] : 0;
au lieu de :
if(isset($_GET['id_rubrique'])){ // si tu n'as pas mémorisé $_GET['id'] la première fois $id_rubrique=$_GET['id_rubrique']; // alors mémorise-le } $rub = $id_rubrique; $rubrique = $rub;
la variable $rubrique n'est appelé nul par dans la page
tu aurais le même résultat sans les problèmes de variable inexistante
a la ligne 95 et 109 tu te tapes un bon délire aussi.
ligne 95 : $id_projet=$ligne['id_projet'];
ligne 108 : $id_rubrique=$_GET['id_rubrique']; (tu redéfinit $id_rubrique sans vérifier que le get existe et pour lui donner la même valeur que tu lui a donné au début
ligne 109 : $projet=$id_projet; tu met dans une autre variable $ligne['id_projet']
utilise directement $ligne['id_projet'] et $rub pour c'est 2 cas la
après il y a peut être d'autre chose que je n'ai pas remarqué
Bon, je vais essayer de reprendre comme tu me conseilles.
Mais la variable $id_rubrique est déclarée dans le get. J'avais justement vérifié avec des echo.
Après, selon les tables que j'appelle, je fais appel aux variables de ces tables qui ont la même valeur que id_rubrique.
bon, j'ai dû rater un truc...
Je m'y recolle.
Merci !
Mais la variable $id_rubrique est déclarée dans le get. J'avais justement vérifié avec des echo.
Après, selon les tables que j'appelle, je fais appel aux variables de ces tables qui ont la même valeur que id_rubrique.
bon, j'ai dû rater un truc...
Je m'y recolle.
Merci !
voilà qui devrait fonctionné
<?php require_once('connexion.php'); ?> <!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=utf-8" /> <title>Rectangluti_Portfolio</title> <link href="../css/css.css" rel="stylesheet" type="text/css" /> <!-- Spécifications pour IE 5 et supérieur : --> <!-- [if gte IE 5]> <link type="text/css" rel="stylesheet" href="styles-ie.css" /> <![endif] --> <!-- AFFICHAGE ACCORDEON GALERIES --> <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript" src="../js/effet.js"></script> <!-- COLORBOX --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="../js/colorbox/jquery.colorbox.js"></script> <script> $(document).ready(function(){ //Examples of how to assign the ColorBox event to elements $(".group1").colorbox({rel:'group1', width:"75%", height:"75%"}); $(".group2").colorbox({rel:'group2', width:"75%", height:"75%"}); $(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"}); $(".group4").colorbox({rel:'group4', slideshow:true}); $(".ajax").colorbox(); $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344}); $(".iframe").colorbox({iframe:true,rel:'group1', width:"75%", height:"75%"}); $(".inline").colorbox({inline:true, width:"40%"}); $(".callbacks").colorbox({ onOpen:function(){ alert('onOpen: colorbox is about to open'); }, onLoad:function(){ alert('onLoad: colorbox has started to load the targeted content'); }, onComplete:function(){ alert('onComplete: colorbox has displayed the loaded content'); }, onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); }, onClosed:function(){ alert('onClosed: colorbox has completely closed'); } }); //Example of preserving a JavaScript event for inline calls. $("#click").click(function(){ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here."); return false; }); }); </script> </head> <body> <div id="conteneur"> <div id="header"> <!-- début "header" --> <h1><a href="../index.php">Anne Basaille</a></h1> </div> <!-- fin "header" --> <div id="menu"> <!-- menugeneral --> <ul> <li><a href="../index.php">Accueil</a></li> </ul> <ul> <li><a href="presentation.php">Présentation</a></li> </ul> <ul> <!-- Affichage du menu --> <?php // fais une connexion foreach($connexion->query('SELECT * FROM rubriques') as $ligne){ echo '<li><a href="portfolio.php?id_rubrique='.$ligne['id_rubrique'].'">'.$ligne['nom_rubrique'].'</a></li>'; } ?> </ul> </div> <!-- /menu --> <div id="main"> <!-- main --> <div class="serie"> <ul> <?php $rub = (isset($_GET['id_rubrique'])) $_GET['id_rubrique'] : 0; foreach($connexion->query('SELECT * FROM projets WHERE rub=\''.$rub.'\'') as $rubLine){ echo '<li>'. '<div class="serieIcone"><img src="../images/flecheMarron.gif"></div>'. // fin div serieIcone '<div class="serieTitre">'.$rubLine['nom_projet'].'</div>'. // div serieTitre '<div class="serieGalerie">'; // div serieGalerie if($rubLine['resume_projet'] != '') echo '<div class="serieIntro">'.$rubLine['resume_projet'].'</div>'; foreach($connexion->query('SELECT * FROM oeuvres WHERE projet=\''.$rubLine['id_projet'].'\'') as $oline){ if($oline['image']!='' || $oline['video']!=''){ echo '<div class="vignettesSite">'; // vignette if($oline['image']!= '' ) { $class = ($oline['image']!= '' )? 'group1' : 'iframe'; $href = ($oline['image']!= '' )? '/images/'.$oline['image'] : '/videos/'.$oline['video']; } echo '<a class="'.$class.'" href="../images/'.$oline['rubrique'].'/'.$oline['projet'].$href.'" title="'.$oline['titre'].'">'. '<img src="../images/'.$oline['rubrique'].'/'.$oline['projet'].'/vignettes/'.$oline['vignette'].'" /></a>'. '</div>'; // /vignette } } echo '</div>'. // fin div serieGalerie '</li>'; } ?> </ul> </div> <!-- /série --> </div> <!-- /main --> <div id="footer"> <a href="contact.php">Contact</a> - <a href="infosLegales.php">Informations légales</a> - <a href="admin/identification.php">Administration</a> - Copyright 2012 </div> </div> <!-- /conteneur --> </body> </html>
tu nommes mal tes variables et du coup tu t'embrouilles avec
de plus ton code contient trop de répétitions ça embrouille d'autant plus la lecture.
dit toi qu'en générale plus un code est court pour faire une tâche donnée plus il est efficace. mis à part la longueur du nom des variables qui ne change pas grand chose
$ligneRubrique vaut mieux que $ligne ou $lr parce que c'est plus clair
de plus ton code contient trop de répétitions ça embrouille d'autant plus la lecture.
dit toi qu'en générale plus un code est court pour faire une tâche donnée plus il est efficace. mis à part la longueur du nom des variables qui ne change pas grand chose
$ligneRubrique vaut mieux que $ligne ou $lr parce que c'est plus clair
argh, non ça ne marche pas.
Je sais bien que plus le code est court, plus clair c'est.
Mais comme j'apprends, je crois que je décortique. Certainement que je me mélange les pinceaux !!
Et alors, je n'ai absolument pas appris à écrire comme tu le fais.
Je continue donc...
Je sais bien que plus le code est court, plus clair c'est.
Mais comme j'apprends, je crois que je décortique. Certainement que je me mélange les pinceaux !!
Et alors, je n'ai absolument pas appris à écrire comme tu le fais.
Je continue donc...
un code plus court au niveau algorithmique.
évité de répéter plusieurs fois la même chose ce n'est pas qu'au niveau de la lisibilité que c'est important pour l'optimisation ce l'est également.
pour le code que je t'ai donnée si il ne fonctionne pas j'ai peut être fait une erreur je n'ai aps pu le tester vu que je n'ai pas de base de donnée pour
pour la synthaxe tu parles de ca ?
si c'est pour ça c'est tout simplte ca revient a faire
je vient de me rendre compte que j'avais oublié le "?" pour la condition
il faut l'ajouter
ca se présente sous cette forme
évité de répéter plusieurs fois la même chose ce n'est pas qu'au niveau de la lisibilité que c'est important pour l'optimisation ce l'est également.
pour le code que je t'ai donnée si il ne fonctionne pas j'ai peut être fait une erreur je n'ai aps pu le tester vu que je n'ai pas de base de donnée pour
pour la synthaxe tu parles de ca ?
$rub = (isset($_GET['id_rubrique']))? $_GET['id_rubrique'] : 0;
si c'est pour ça c'est tout simplte ca revient a faire
if((isset($_GET['id_rubrique'])) $rub = $_GET['id_rubrique']; else $rub = 0;
je vient de me rendre compte que j'avais oublié le "?" pour la condition
il faut l'ajouter
ca se présente sous cette forme
$var = (condition)? 'valeur si la condition retourne true' : 'valeur si la condition retourne false';
Bon, j'essaie de suivre tes conseils mais ça ne marche pas.
De toute façon, si le reste du site fonctionne, c'est que ma manière d'écrire n'est pas si pourrie que ça.
Je continue à optimiser mes déclarations de variables, ce sera déjà ça de fait.
De toute façon, si le reste du site fonctionne, c'est que ma manière d'écrire n'est pas si pourrie que ça.
Je continue à optimiser mes déclarations de variables, ce sera déjà ça de fait.
pour la façon d'écrire ça ne change rien c'est juste plus rapide
si vraiment tu ne trouve pas il faudrait que tu m'envoies le contenu complet de ce fichier et de connexion.php
si vraiment tu ne trouve pas il faudrait que tu m'envoies le contenu complet de ce fichier et de connexion.php
alors j'ai refait le fichier en mettant le script de connexion plus bas et en réécrivant le ifset et ses 3 variables différemment.
La connexion plus bas, c'est pas très catholique mais ça passe.
Je crois que ce qui faisait bugger, ce sont mes div dans les div pour afficher un menu déroulant.
En théorie, ça devrait marcher puisque ça marche en local...
Mais, ça ira bien comme ça pour l'instant.
En fait, je dois faire valider un examen basique de php la semaine prochaine, donc les subtilités de webdesign sont remises à plus tard.
En tout cas, je note bien tes conseils, et je suis bien d'accord sur le fait d'optimiser. C'est logique.
Je continue donc dans ce sens.
Merci beaucoup pour ton aide !!
La connexion plus bas, c'est pas très catholique mais ça passe.
Je crois que ce qui faisait bugger, ce sont mes div dans les div pour afficher un menu déroulant.
En théorie, ça devrait marcher puisque ça marche en local...
Mais, ça ira bien comme ça pour l'instant.
En fait, je dois faire valider un examen basique de php la semaine prochaine, donc les subtilités de webdesign sont remises à plus tard.
En tout cas, je note bien tes conseils, et je suis bien d'accord sur le fait d'optimiser. C'est logique.
Je continue donc dans ce sens.
Merci beaucoup pour ton aide !!