Problème lors de la mise en ligne de mon site
Fermé
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
-
13 oct. 2012 à 21:32
ouimaisnormalement Messages postés 11 Date d'inscription samedi 13 octobre 2012 Statut Membre Dernière intervention 15 octobre 2012 - 15 oct. 2012 à 18:29
ouimaisnormalement Messages postés 11 Date d'inscription samedi 13 octobre 2012 Statut Membre Dernière intervention 15 octobre 2012 - 15 oct. 2012 à 18:29
A voir également:
- Problème lors de la mise en ligne de mon site
- Site de telechargement - Accueil - Outils
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Aller à la ligne excel - Guide
17 réponses
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
13 oct. 2012 à 21:44
13 oct. 2012 à 21:44
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
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
Modifié par ouimaisnormalement le 13/10/2012 à 22:20
Modifié par ouimaisnormalement le 13/10/2012 à 22:20
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...
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
13 oct. 2012 à 22:25
13 oct. 2012 à 22:25
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 } }
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
Modifié par Atropa le 13/10/2012 à 22:34
Modifié par Atropa le 13/10/2012 à 22:34
je ne vois pas
par contre il y a beaucoup de variables inutiles
par contre il y a beaucoup de variables inutiles
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
Modifié par ouimaisnormalement le 13/10/2012 à 22:38
Modifié par ouimaisnormalement le 13/10/2012 à 22:38
grrumpf, je continue
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
13 oct. 2012 à 22:45
13 oct. 2012 à 22:45
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
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
13 oct. 2012 à 22:47
13 oct. 2012 à 22:47
ça ne sert a rien ce jeux de variable, pourquoi tu fais ça ?
fait attention aux injections sql il faut utiliser pdo et prepare comme ca tu es sure que niveau injection sql tu es cool
fait attention aux injections sql il faut utiliser pdo et prepare comme ca tu es sure que niveau injection sql tu es cool
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
13 oct. 2012 à 22:49
13 oct. 2012 à 22:49
j'envois en petit bloque parce que le boutton "créer un nouveau sujet" est super mal placé je clic dessus quasiment a chaque fois que je veux envoyer (faudrait manifester pour qu'ils nous enlèvent ça)
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
13 oct. 2012 à 22:54
13 oct. 2012 à 22:54
très bien les ptits blocs !
Je fais tout ce jeu de variables parce que je galère, je présume !!
Je crois voir ce que tu dis quand à l'utilisation de pdo et prepare. Je vais essayer de réécrire ça correctement
Je fais tout ce jeu de variables parce que je galère, je présume !!
Je crois voir ce que tu dis quand à l'utilisation de pdo et prepare. Je vais essayer de réécrire ça correctement
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
Modifié par ouimaisnormalement le 13/10/2012 à 22:51
Modifié par ouimaisnormalement le 13/10/2012 à 22:51
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 !
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
13 oct. 2012 à 23:04
13 oct. 2012 à 23:04
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)){
.....................
}
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
14 oct. 2012 à 00:07
14 oct. 2012 à 00:07
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é
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
14 oct. 2012 à 00:09
14 oct. 2012 à 00:09
j'ai pas tout effacé cette fois c'est cool
sinon juste pour ajouter que c'est peut être register global 0 du .htaccess qui fait l'erreur mais qu'il faut mieux laisser le .htaccess comme ça et modifier ton code
sinon juste pour ajouter que c'est peut être register global 0 du .htaccess qui fait l'erreur mais qu'il faut mieux laisser le .htaccess comme ça et modifier ton code
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
14 oct. 2012 à 11:44
14 oct. 2012 à 11:44
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 !
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
14 oct. 2012 à 12:48
14 oct. 2012 à 12:48
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>
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
14 oct. 2012 à 12:55
14 oct. 2012 à 12:55
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
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
14 oct. 2012 à 13:19
14 oct. 2012 à 13:19
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...
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
14 oct. 2012 à 21:07
14 oct. 2012 à 21:07
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';
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
15 oct. 2012 à 10:10
15 oct. 2012 à 10:10
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.
Atropa
Messages postés
1940
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
11 mai 2014
274
15 oct. 2012 à 17:49
15 oct. 2012 à 17:49
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
ouimaisnormalement
Messages postés
11
Date d'inscription
samedi 13 octobre 2012
Statut
Membre
Dernière intervention
15 octobre 2012
15 oct. 2012 à 18:29
15 oct. 2012 à 18:29
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 !!