| cerium 1+1 = 42 Profil : Penguin Pro | Reprise du message précédent : "je ne ferais ps mieux de mettre le code ci dessous dans la pae de formulaire ?"
Absolument, car sinon il suffit d'avoir l'adresse de la page d'admin puis d'y accéder et là session commencera quand même sans login ni mdp  ---------------
twitter.com/Ipsudum
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | Ok merci, pour ma question sur les else qui ne sont pas dans la même portion de code, c'est grave? ---------------

| |
cerium 1+1 = 42 Profil : Penguin Pro | Hummm je vois pas trop ce que tu veux dire on pourrais avoir le code en entier stp ?  ---------------
twitter.com/Ipsudum
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | voilà le code
j'ai aussi l'impression que me s variables $_SESSION ne marchent pas ---------------

| |
Fixxx Profil : Penguin Pro | Attention coker, il y a beacoup d'erreurs dans tes codes...
Premièrement, un souci d'optimisation surtout, utilise mysql_fetch_assoc plutôt que mysql_fetch_array, voir même mieux, fetch_assoc de la classe mysqli si tu as PHP 5 sur tes serveurs.
Deuxièmement, tu n'est pas obligé d'utiliser session_start() à chaque fois que tu veux utiliser tes variables de session. Il suffit de le mettre sur chaque page qui utilise tes sessions.
Troisièmement, dans le code plus haut, même si $_SESSION['connecte'] vaut false, tu sera connecté puisque ton if est toujours positif, ce qui laisse un serieux problème de securité puisque n'importe qui peut se connecter sur tes pages admins. En fait, c'est ton if qui est foireux. Tu as:
Code :
- if($_SESSION['connecte'] = true)
- {
- ...
|
Or, ici tu assigne (=) la valeur true à ta variable $_SESSION['connecte'], puis tu demande au if de te dire si cette même variable vaut true, ce qui sera toujours le cas vu que tu viens de l'assigner. Ce que tu dois faire, c'est tester l'égalité (==) de $_SESSION['connecte'] avec true, càd:
Code :
- if($_SESSION['connecte'] == true)
- {
- ...
|
Cependant, là où les booléens prennent toute leur beauté, c'est qu'ils permettent de raccourcir les conditions. L'idéal serait donc d'utiliser:
Code :
- if($_SESSION['connecte'])
- {
- ...
|
Voilà pour ce qui est de cette condition.
Une autre erreur se situe dans le formulaire de connection, quand tu teste si le MdP entré correspond à un mot de passe present dans la BDD. Tu recupère le mot de passe dans un formulaire tout ce qu'il y a de plus normal, après tu va chercher tes mots de passes dans la BDD à l'aide de cette requête:
Code :
- $retour = mysql_query('SELECT * FROM user WHERE login="' . $login . '" ') or die(mysql_error());
|
Dejà ici nous avons un problème d'optimisation. Vu que n'utilise que le champ password de ta table, le mieux serait de faire la requête comme ceci:
Code :
- $retour = mysql_query('SELECT password FROM user WHERE login="' . $login . '" ') or die(mysql_error());
|
Mais la où ton code pose vraiment problème c'est que tu fait un while pour mettre ton champ password dans la variable $password, or à chaque tour de la boucle, la variable $password se fait ecrasé par la valeur la plus recente, ce qui pose problème si tu n'est pas le dernier utilisateur de ta liste...
Bon, dernièrement, je ne sais pas vraiment si c'est super de recopier mot par mot le code de news de M@teo21 du SDZ pour faire ton propre CMS... Tu devrais peut-être le réecrire depuis zéro, avec des fonctions cohérentes pour un blog, tels que les tags, les commentaires, etc... J'ai, quand j'étais debutant en PHP, essayé d'ameliorer ce code en ajoutant ces détails, et il n'est vraiment pas conçu pour. Certes, c'est un excellent TP quand on apprend le PHP, mais le mettre en production n'est surement pas la meilleur idée qui soit.
Voilà, c'est les erreurs que j'ai trouvé au premier regard, il y en a peut-être d'autres, mais dans ce cas, je te laisse le soin de les trouver  Message édité par Fixxx le 28-11-2008 à 16:38:50
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | j'ai corrigé pour les if de connect == true
pour ce qui est de la requete je sélectionne tous les champ, car j'ai aussi besoin du champ statut, permettant de voir si l'utilisateur qui s'identifie peut acéder à la aprtie utilisateur de l'admin, mais je n'ai pas compris la fin, sur la boucle while
pour le code, j'ai surtout préparé les bases, pour ce qui est des tags, je ne vois pas comment enregistrer plusieurs tag dans un même champ et les séparé en les reprenant un à un ---------------

| |
Fixxx Profil : Penguin Pro | Alors, si tu as aussi besoin du champ statut, la requete suivante est adequat:
Code :
- SELECT password, status FROM user WHERE login=[taconcatenationquejailaflemmedefaire]
|
Pour enregistrer plusieurs tags dans le même champs, c'est toi qui voit, tu peux dire dans ton formulaire de separer les tags pas de virgules, des espaces, des tiraits, c'est au choix. Remarque que l'on prefère utiliser les virgules. Après, pour séparer les tags, la fonction explode() est ton ami  | |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | merci pour la fonction
je vais essayer de voir ça, et comment organiser le plus lisiblement cette gestion des tag ---------------

| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | sur tes conseils Fixxx, je recode tout mon CMS
j'ai essayé de mettre un système de tag, qui pourront par la suite être utilisé pour un nuage de tag, mais je bloque sur un point
j'ai une page avec une variable $_GET qui récupère le nom du tag qu'on recherche
les tag sont enregistré comme ceci
nouvelle table avec comme champ
- id
- nom du tag
- id_article (permettant de savoir à quoi le tag est associé)
comment donc, faire une requete pour récupéré les id_article où le nom du tag correspond à la recherche, et utilisé cette id_article pour ensuite affiché les article correspondant ---------------

| |
Fixxx Profil : Penguin Pro | En gros tu utilise la requête suivante:
Code :
- SELECT id_article FROM [nomDeTaTable] WHERE tag_name="[ConcatenationDeOufPourFaireRentrerTaVariable$_GET]"
|
Bon après je doute bien que tu dois pouvoir te debrouiller avec le code ci-dessus. Il suffit de l'afficher avec un while{} et un mysql_fetch_assoc  Message édité par Fixxx le 01-12-2008 à 18:06:24
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | mais justement comment faire afficher les articles des id correspondant
en mettant comme ceci
Code :
- requete pour allerchercher les id_article
- while...
- {
- requete pour sélectionner les id de la table articles à partir de $donnees['id_article']
- while...
- {
- }
- }
| ---------------

| |
Fixxx Profil : Penguin Pro | Ah oui, en effet. Après il te suffit de faire:
Code :
- SELECT * FROM articles WHERE id='article_id'
|
Oui, je sais, le * caymal, mais je ne sais pas de quels champs tu as besoin, donc à toi d'affiner la requêtre après. "Articles" est le nom de ta table SQL et à la place du article_id tu devras faire une concatenation avec la variable article_id que tu as recupéré plus tôt  Message édité par Fixxx le 01-12-2008 à 21:01:25
| |
blondinette Profil : New Penguin | TheGuit a écrit :
Ce topic n'est pas un tutorial, il s'agit simplement de regrouper nos trucs et astuces et de pouvoir regler les soucis que l'on pourrait rencontre lors de la mise en place d'un webdesign en (x)HTML.
Dans un premier temps je vais simplement vous donnez quelques ressources, par la suite, au fur et a mesure des questions et des réponses, je ferais un index des meilleurs Astuces pour les retrouver facilement.
Pour une meilleur lisibilité essayer de toujours quoter le message auquel vous répondez et de mettre les morceau de code html que vous ecrivez toujours entre les baslie [ html ] et [ / html ]
|
Dsl de te demander ça mais je veux créer un site.
Je ne sais pas ce que je peux mettre sur mon site sans violer le droit des auteurs?
merci de ne pas être décourager par ma question hyper complexe et d'y répondre. bisous bisous | |
clowniseb Profil : Big Penguin | blondinette a écrit :
Dsl de te demander ça mais je veux créer un site.
Je ne sais pas ce que je peux mettre sur mon site sans violer le droit des auteurs?
merci de ne pas être décourager par ma question hyper complexe et d'y répondre. bisous bisous
|
Bonjour blondinette.
On ne peut pas trop te renseigner comme ça. Il faudrait que tu nous donnes un peu plus de précisions concernant le site que tu veux créer. Indiques-nous donc le sujet ou les thèmes que tu souhaites présenter sur ton site.
En ce qui concerne le droit d'auteur, cela dépend de ce que tu va présenter. Il y a les droits d'auteur pour des créations graphiques par exemple, mais il y a aussi certains droits d'utilisation pour des scripts que tu envisagerais d'utiliser.
En gros, essaie d'être plus clair dans ce que tu veux avant que je te donne éventuellement plus d'informations. Message édité par clowniseb le 02-12-2008 à 14:40:48
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | bizarrement il ne m'affiche que le dernier article, je ne sais pas à quoi c'est dû , et ce, où que je place la fin de la boucle qui va récupérer les id des articles dans la table tags ---------------

| |
Fixxx Profil : Penguin Pro | Blondinette En gros, ne mets pas à disposition de la musique, des films, des creations artistiques, bref tout ce qui n'est pas de toi. Le radioblogs et les videos youtube ou dailymotion passent, du moment qu'il n'est pas possible de les télécharger directement depuis ton blog. Il y a cependant quelques exceptions à ces règles simple, je pense notemment aux Creative Commons. Sinon, pour des informations plus précises, et comme le dit clowniseb, il nous faudrait de plus amples précisions
Coker A mon avis c'est ta table qui n'est pas bien construite. Je ne suis pas sûr, mais dans id_article, il y a surement qu'un seul id non? Donc le seul article que ton code va chercher c'est celui là. Après je ne sais pas comment tu as codé ton système de tag. Message édité par Fixxx le 02-12-2008 à 20:21:43
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | ma table tags est organisé comme ça
table Tags
champs id tag id_article
donc par exemple si un tag s'appelle html, il est rentré comme ça
id html 15 (article 15 par exemple)
un autre tag
id taz 15
...
voilà mon code
Code :
- $tag = $_GET['tag'];
- $reponse = mysql_query("SELECT * FROM tags WHERE tag = '$tag' " ) or die(mysql_error());
- while ($donnees = mysql_fetch_assoc($reponse))
- {
- echo $donnees['id_article'];
- $article = $donnees['id_article'];
- }
- $reponse = mysql_query("SELECT title FROM articles WHERE id = '$article' " ) or die(mysql_error());
- while ($donnees = mysql_fetch_assoc($reponse))
- {
- echo $donnees['title'];
- }
| ---------------

| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | bonjour
je suis en train de codé un petit site pour mon CMS, mon but étant de faire un site qui respecte les normes W3C, mais j'ai quelques problèmes, voici mon code :
Code :
- <!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>
- <link rel="shortcut icon" href="favicon.png"/>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
- <title>eBlog</title>
- <link rel="stylesheet" href="css/coda-slider.css" type="text/css" media="screen" title="no title" charset="iso-8859-1" />
- <!--Coda-->
- <script src="js/jquery.js" type="text/javascript"></script>
- <script src="js/jquery.scrollTo-1.3.3.js" type="text/javascript"></script>
- <script src="js/jquery.localscroll-1.2.5.js" type="text/javascript" charset="utf-8"></script>
- <script src="js/jquery.serialScroll-1.2.1.js" type="text/javascript" charset="utf-8"></script>
- <script src="js/coda-slider.js" type="text/javascript" charset="utf-8"></script>
- <!--Coda-->
- <!--ShadowBox-->
- <script type="text/javascript" src="src/adapter/shadowbox-base.js"></script>
- <script type="text/javascript" src="src/shadowbox.js"></script>
- <script type="text/javascript">
- Shadowbox.loadSkin('classic', 'js/shadowbox/skin');
- Shadowbox.loadLanguage('fr', 'js/shadowbox/lang');
- Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], 'js/shadowbox/player');
- window.onload = function(){
- Shadowbox.init();
- };
- </script>
- <!--ShadowBox-->
- <!--Rollover Download-->
- <script type="text/javascript">
- bouton = new Image();
- bouton.src = "images/download_hover.png";
- </script>
- <!--Rollover Download-->
- </head>
- <body>
- <div id="header">
- <center><a href="index.php" title="" ><img src="images/header.png" alt="" /></a><br/>
- <a href="" onmouseover="bouton.src = 'images/download_hover.png';" onmouseout="bouton.src = 'images/download.png';">
- <img src="images/download.png" alt="" width="172" height="44" name="bouton" /></a>
- </center>
- </div>
- <div id="wrapper">
-
-
- <div id="intro">
- <p></p>
- </div>
-
- <div id="slider">
- <ul class="navigation">
- <li><a href="#home">Home</a></li>
- <li><a href="#news">News</a></li>
- <li><a href="#downloads">Downloads</a></li>
- <li><a href="#themes">Themes</a></li>
- <li><a href="#add-on">Add-on</a></li>
- <li><a href="#upload">Upload</a></li>
- <li><a href="#about">About</a></li>
- </ul>
- <div class="scroll">
- <div class="scrollContainer">
- <div class="panel" id="home"><h2>Home</h2><p><?php include('include/home.php'); ?></p></div>
- <div class="panel" id="news"><h2>News</h2><p><?php include('include/news.php'); ?></p></div>
- <div class="panel" id="downloads"><h2>Downloads</h2><p><?php include('include/downloads.php'); ?></p></div>
- <div class="panel" id="themes"><h2>Themes</h2><p><?php include('include/themes.php'); ?></p></div>
- <div class="panel" id="add-on"><h2>Add-on</h2><p><?php include('include/addon.php'); ?></p></div>
- <div class="panel" id="upload"><h2>Upload</h2><p><?php include('include/upload.php'); ?></p></div>
- <div class="panel" id="about"><h2>About</h2><p><?php include('include/about.php'); ?></p></div>
- </div>
- </div>
- <div id="shade"></div>
- </div>
- <center><span id="copyrights" >© 2009 - athlon64 | eblog</span></center>
-
- </div>
- </body>
- </html>
|
et voici les erreurs que me met le validateur
si vous pouviez m'aider à les résoudre
merci
PS : le CSS et le Javascript ne comporte aucune erreur ---------------

| |
cerium 1+1 = 42 Profil : Penguin Pro | >La balise <center> n'exista plus car elle définit l'apparence ce qui est réservé au CSS
>Je dirai la même chose pour name, utilise un id (mais pas sûr)
Essaye un Doctype transitionnal ça peut peut-être passer si tu garder tes "name" et "<center>"  ---------------
twitter.com/Ipsudum
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | merci, ça marche parfaitement (ça va être surement mon premier site validé HTML/CSS et oui je préfère garder <center>, c'est plus simple pour la mise en forme ---------------

| |
cerium 1+1 = 42 Profil : Penguin Pro | De rien (plus simple mais pas idéal sémantiquement parlant ) ---------------
twitter.com/Ipsudum
| |
Fixxx Profil : Penguin Pro | Le mieux est de rester en xHTML strict. Le transitional est, comme son nom l'indique, juste une phase de transition, non une solution, bien que nombreux soit les webmasters flemmards qui garde le transitional.
Pour tes erreurs, essaye avec ce qui suit. Pour la premiere erreur, et comme le dit Cerium, la balise <center> est un vestige du HTML, lorsqu'on codait le contenu et la mise en page dans le meme fichier. La deuxieme erreur, la balise <img /> n'a pas d'attributs name; utilise un id plutot. Troisiemement, ce n'est pas vraiment des erreurs, mais tu contourne le validateur en mettant des attributs alt et name vides. Pourquoi ne pas faire un tout petit effort et remplir les attributs, pour que les personnes handicapes peuvent elles aussi acceder a ton site?
Donc voici ce que je te propose a la place:
Code :
- <div id="header">
- <a href="index.php" title="Index" ><img src="images/header.png" alt="index image" /></a>
- <a href="#" onmouseover="getElementById('bouton').src = 'images/download_hover.png';" onmouseout="getElementById('bouton').src = 'images/download.png';">
- <img src="images/download.png" alt="download" width="172" height="44" id="bouton" /></a>
- </div>
|
Code :
- div#header
- {
- margin:auto;
- }
|
Pour la derniere erreur, meme raison encore une fois. Voici un code pour le remplacer:
Code :
- <div id="copyrights" >© 2009 - athlon64 | eblog</div>
|
Code :
- div#copyrights
- {
- margin:auto;
- }
|
Et comme le disais Buck, coder c'est bien, bien coder c'est mieux
Ps: Desole pour les accents, j'ecris sur un qwerty. Message édité par Fixxx le 05-01-2009 à 17:19:08
| |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | pour le header, qui est un include, le CSS margin: auto ne marche pas ---------------

| |
cerium 1+1 = 42 Profil : Penguin Pro | Il faut lui définir une largeur pour que le margin auto fonctionne  ---------------
twitter.com/Ipsudum
| |
Fixxx Profil : Penguin Pro | Exact Cerium j'avais oublie ca  | |
coker T : y = f'(a)(x-a) + f(a) Profil : Top Penguin | c'est bon ça marche, j'avais sans faire exprès mis deux fois
par contre, ma popup avec mon span ne marche plus Message édité par coker le 06-01-2009 à 18:50:33 ---------------

| |
| |