Updates from août, 2009 Masquer les fils | Raccourcis clavier

  • Mysql : UPDATE ne marche pas chez moi 

    freyafinker 4:37 pm on August 4, 2009 Permalien | Répondre
    Mots-clefs : syntaxe UPDATE

    A force de perdre des jours et des jours à faire fonctionner la commande UPDATE, je suis stressée chaque fois que je dois mettre à jour une table mysql.
    Je vous rassure, le titre est juste destiné à attirer ici les brebis égarées. UPDATE marche, si j’ai persévéré c’est que j’ai toujours fini par réussir.
    J’utilise souvent UPDATE pour mettre à jour des tables avec de très nombreux champs (en général tous mes champs sont modifiables).
    Si vous avez des problèmes avec UPDATE, commencez par vérifier soigneusement les noms de vos champs, les espaces, les majuscules, etc… Tout ceci doit être parfaitement cohérent entre la table MYSQL et les diverses instructions php.
    On peut très bien faire UPDATE d’un seul champ à la fois, cela vous permettra de vérifier une fois pour toute que UPDATE fonctionne, et de tester progressivement où est le problème.
    J’ai si souvent perdu un après-midi pour un guillemet manquant !
    Syntaxe UPDATE

    $query=”UPDATE Table SET Champ=’$Champ’ WHERE id=$id”;

    Autres vérifications :
    - être bien connecté à la table
    - le nom de la table
    - le nom de la base de données tant qu’à faire
    - que tous les paramètres que l’on veut mettre à jour ont bien été passés dans le fichier php

    $Champ=$_POST['Champ'];

    - et puisqu’on en est là, que l’on a bien form method=’post’ (et non pas ‘get’ n’est-ce-pas ?)
    - que tous les champs du formulaire que l’on poste sont bien les mêmes que ceux qu’on veut mettre à jour, ET que ceux de la table qu’on a créée.
    Le plus simple pour vérifier le passage des paramètres, c’est de faire
    echo $Champ;
    Petit bug rencontré récemment, mes echo ne s’affichent pas, il me faut prévoir un affichage en gras pour les faire apparaître.
    J’en ai d’autres à votre service des petits bugs que l’on n’apprend qu’avec l’expérience.
    Etre cohérent et ordonné, c’est probablement le B A/BA pour les informaticiens, mais pas forcément pour ceux dont coder est un hobby !
    Allez, puisque j’y suis, je vous livre ma méthode pour mettre à jour de nombreux champs et de nombreuses lignes d’une immense table.

    for($z=$zmin;$z<$zmax;$z++)
    {
    $query="UPDATE $table SET Champ='$Champ[$z]' WHERE id=$z";
    $result=mysql_query($query);
    }

     
  • Mysql : champs tronqués après apostrophes ou tirets 

    freyafinker 2:06 pm on June 1, 2009 Permalien | Répondre
    Mots-clefs : apostrophe, champ tronqué, ENT_QUOTES, htmlentities, input, tiret

    Des données de type nom ou adresse entrées dans une table mysql comportent souvent des apostrophes ou des tirets.

    Même si elles ont été entrées correctement dans la table, elles apparaissent tronquées lorsqu’on les rappelle à l’intérieur d’un champ input (pour modifier l’ensemble des données par exemple).

    Exemple : <form method=’post’ action=’modifier.php’><input type=’text’ size=’10′ name=’Adresse’ value=’”.$row[3].”‘>
    <input type=’submit’ value=’Mettre a jour’></form>

    Solution trouvée (en faisant abstraction des divers commentaires lus sur les forums qui nous font nous perdre entre problème de sécurité et commandes obsolètes).

    La solution, tout convertir en html que ce soit lors de la première entrée dans la table :
    $Adresse=htmlentities($Adresse, ENT_QUOTES);
    Cela implique de prévoir des champs bien plus grands dans la table car le code html d’un caractère comporte bien plus de caractères que le caractère lui-même (ex : é=&eacute; prend 8 fois plus de place !)

    ou au moment de la modification des données :

    $query=”UPDATE $Table SET
    Adresse=’”.htmlentities($Adresse, ENT_QUOTES).”‘, etc…

    En plus, il semble que ce soit une bonne chose pour la sécurité informatique !
    Remarque : les 3 guillemets c’est un guillemet simple suivi d’un guillemet double (l’inverse pour fermer).
    Remarque encore : le ENT_QUOTES permet de convertir également les guillemets (simples ou doubles en leur code html).

     
  • Que faire quand PHP ne marche pas ? 

    freyafinker 8:07 pm on December 16, 2007 Permalien | Répondre
    Mots-clefs : Mysql, PHP, tableaux

    J’ai perdu de précieuses journées à essayer de passer un tableau en paramètre d’une page à l’autre.

    L’avantage avec la programmation, c’est qu’un jour, ça finit par marcher.

    J’ai un problème avec les tableaux associatifs, avec la portée des variables, il faudrait que je me penche sérieusement sur le sujet, mais là je n’ai pas eu besoin puisque (presque) tout a fini par marcher.

    Il faudrait tenir le journal de mes tâtonnements pour ne pas refaire les mêmes erreurs.

    Mais au moment de tenir le journal c’est parfois l’écoeurement.

    Donc j’essayais de passer un tableau associatif en paramètre, à la maison et au travail. Sans succès, je revenais du travail en concluant que ce n’était peut-être pas possible quand… ô surprise, je m’aperçois que j’avais réussi ce cas de figure juste le week-end précédent à la maison.

    Bon, il peut y avoir des problèmes de compatibilité de php. Que faire quand on recopie un code qui a marché et qu’il ne marche pas dans la nouvelle configuration ?

    Je vous passe toutes les péripéties, mais il convient de se rappeler les résolutions suivantes :

    1. Etre très soigneux dans le nom des champs de la table Mysql (attention majuscules-minuscules)
    2. Pour la commande “Insert into $table values…”, dans mon expérience, il faut lister sans exception tous les champs de la table, même si on ne les utilise pas tous.
    3. Avoir conscience que Insert et Update ne fonctionnent pas de la même façon (éviter de mélanger un insert et un update dans le même formulaire !!!).
    4. Ne pas compliquer les choses, c’est à dire que tant que ça ne marche pas, se dispenser des tests sur les paramètres, ne pas rajouter de if-else, ni de mot de passe.
    5. La solution miracle peut être simplement de réécrire tout le code de zéro. Il me semble par exemple que une ligne sautée de trop peut être fatale. J’ai aussi l’exemple d’avoir gâché tout un week-end à cause d’un guillemet mal ouvert ou fermé.
    6. Ne pas s’acharner, aller faire un tour, boire un thé, prendre une pause, et le problème sur lequel on est bloqué se résoudra mystérieusement (facile à dire cependant, j’ai du mal à me décoller !)
    7. Il n’est pas nécessaire de déclarer le tableau. Un signe qu’on est sur la bonne voie, c’est quand on fait afficher $tableau[$id] et qu’on tombe sur Array. Toutes les données du tableau passent toutes seules d’un formulaire à la page suivante si on passe bien en paramètre $_POST[tableau]=$tableau.
    8. Quant à l’imbrication d’un tableau et des données d’une table Mysql, il faut procéder par ordre (passer les $tableau[$id] et ensuite interroger la table avec id).
    9. Les pros me conseilleront d’aller suivre des cours, et je me suis vraiment posé la question ces deux dernières semaines, mais bon, je reste une dilettante.
    10. C’est en se trompant qu’on apprend.
     
  • 10 Freemen au hasard 

    freyafinker 7:56 pm on September 24, 2007 Permalien | Répondre

    Pour les modifier, il suffit de cliquer sur ce lien, pensez à le faire de temps à autre.

    J’ai simplement utilisé la commande “ORDER BY RAND” lorsque j’appelle les données de ma base de données Mysql.

    Sinon, c’est simplement un pseudo-RSS qui s’écrit dans un fichier xml, dont l’adresse est à indiquer dans son widget lecteur RSS chez WordPress.

    Pour Dotclear, il suffit de limiter à 10 le nombre d’entrées dans le lecteur de fil de nouvelles.

     
  • Listes freemen : mode d’emploi 

    freyafinker 7:42 pm on September 11, 2007 Permalien | Répondre
    Mots-clefs : , liste freemen, OPML, XML, Liste automatique

    Les freemen, n’allez pas chercher vos listes sur la plateforme de pluralisme, mais prenez-les plutôt sur autresmondes. D’autant plus qu’il y a un bug sur la plateforme. Je suis en train d’installer une autre plateforme sur Autresmondes.

    Je gère une base de données qui comporte toute la liste des blogs et sites freemen en plus des informations que vous pouvez mettre à jour vous-mêmes en remplissant votre fiche.

    Sur cette page, le fait de cliquer sur un lien ou un logo (XML, RSS, OPML, PHP) écrit un fichier avec la liste des liens correspondants. L’url de ce fichier vous est indiqué. Par exemple, l’url OPML vous permet d’importer toute la liste dans votre blogroll grâce aux menus Blogoliste, Importer des liens (chez WordPress). Si on vous demande un fichier à télécharger de votre disque dur, vous pouvez copier-coller le ficher OPML, dans un traitement de texte, et il vous faudra l’enregistrer sous format texte seulement et avec une extension .xml. Attention, en utilisant cette instruction, je suis tombée sur une erreur : c’est l’adresse qui se termine par .xml qu’il faut indiquer dans WordPress comme url OPML.

    Si vous êtes sur Dotclear, vous avez tout intérêt à utiliser le widget : lecteur de fil de nouvelles et à y indiquer l’url qui vous est donnée en cliquant sur : liste alphabétique ou le logo XML. Ainsi vous aurez une liste alphabétique toujours à jour (même si son design ne plaît pas à tout le monde).

    Malheureusement WordPress ne permet l’insertion que de 10 entrées dans son widget RSS. C’est pourquoi j’ai ajouté une variante que je nomme : pseudo RSS et qui permet d’avoir une liste ordonnée avec les dix derniers blogs du réseau en premier. Cela permet d’avoir une liste presque à jour grâce à OPML et d’afficher les 10 derniers grâce à RSS. Remarque : le pseudo RSS génère une sorte de flux RSS de la liste freemen.

    Si vous n’avez pas encore rejoint WordPress ou Dotclear, il y a peut-être une solution pour vous chez Typepad ou Canalblog, qui semblent permettre l’intégration de flux RSS, merci de votre feedback.

    Pour ceux qui pourraient utiliser du code php sur leurs blogs (or de nombreuses plateformes zappent le code php), il existe aussi un fichier php à inclure. Pour info c’est la commande : (elle a été zappée)

    Cela s’adresse malheureusement seulement à ceux qui ont leur wordpress chez eux et qui ont activé le php.

    Sur blogspirit, je me suis fait une liste décorative que j’appelle par une commande (zappée aussi)

    Attention une telle liste ne crée pas de liens vers les blogs de la liste.

    Plus je tente d’expliquer tout cela et plus je me rends compte que ce n’est pas très simple. Désolée. N’hésitez pas à poser des questions.

     
  • Comment installer un blog WordPress en 5 minutes ? 

    freyafinker 10:00 am on September 8, 2007 Permalien | Répondre

    L’installer sur son site est presque aussi rapide que de prendre un blog sur WordPress.com.

    Pré-requis : le site doit offrir php et une base de données Mysql.

    Comment faire ? Télécharger le package.

    En format Zip (comprimé), il se dézipe tout seul avec un clic droit (extraire les fichiers). Un nouveau dossier wordpress non comprimé va être créé.

    Transférer le dossier dans son entier sur le serveur ftp (bien choisir où on le place).

    Editer le fichier wp-config-sample.php en y entrant les informations de connection à votre base de données mysql (données par votre hébergeur).

    define(‘DB_NAME’, ‘entrerlenomdevotrebasededonneesici’); // Le nom de la base de donnéesdefine(‘DB_USER’, ‘votrenomdutilisateur’); // Votre nom d’utilisateur
    define(‘DB_PASSWORD’, ‘votremotdepasse’); // le mot de passe qui vous sert à accéder à votre site

    define(‘DB_HOST’, ‘localhost’); // 99% de chance que vous n’ayez pas à modifier

    Enregistrer le fichier modifié sous wp-config.php et transférer le fichier sur le serveur à la racine du dossier wordpress.

    Lancer l’installation : trouver le chemin qui permet d’aller lancer le fichier install.php adresse du répertoire dans lequel vous avez placé le dossier wordpress/wordpress/wp-admin/install.php

    Et hop, c’est fini.

    Bon, il y a peu de thèmes proposés et après j’ai perdu toute la matinée à choisir des thèmes parmi les milliers disponibles. (il suffit de les télécharger et d’ajouter les dossiers correspondants une fois extraits dans le dossier wp-content/themes).

    En surfant pour chercher une doc en français, j’ai cru voir que certains vendent des packages pour faire tout cela, surtout ne payez pas !

     
    • freyafinker 11:11 on septembre 28, 2007 Permalien | Répondre

      En installant la dernière version (2,3), j’ai eu une erreur avec localhost et j’ai du entrer l’adresse sql de mon hébergeur : sql.hébergeur.net

    • freyafinker 2:39 on novembre 17, 2007 Permalien | Répondre

      J’ai installé un Worpress 2.3.1 ce matin.
      Petit conseil, avant d’installer un wordpress, bien choisir le dossier dans lequel il sera au final, surtout si l’on se trouve dans des sous-domaines. En effet, lorsqu’on déplace le WordPress après installation, on tombe sur un message d’erreur ou parfois sur la racine du site (qui n’est pas sensée être visible par tout le monde), ça fait désordre. Il faut alors retourner dans la page ….wp-admin/install.php, vider toutes les tables et réinstaller WordPress (la dernière opération prend une seconde) mais si on ne veut pas perdre le contenu des tables il faut les déplacer, ou les renommer, ce qui est tout de même désagréable.

    • base de données Mysql 2:50 on avril 19, 2009 Permalien | Répondre

      Cette base de base de données Mysql, est-elle suposser déjà créée pas l’hébergeur et disponible sur mon compte?

      Je suis avec hostpapa

      Merci

    • freya finker 10:16 on avril 21, 2009 Permalien | Répondre

      Il faut voir avec l’hébergeur s’il propose une base de données mysql et php ou pas.

    • kivx 9:54 on juin 10, 2009 Permalien | Répondre

      Merci beaucoup pour cet article et je confirme ne payer pas pour ces informationss !!!

  • Comment utiliser Simplepie ? 

    freyafinker 8:22 am on September 1, 2007 Permalien | Répondre

    C’est simple, Simplepie, il suffit d’y croire. J’ai dû pêcher par manque de foi.

    Voici les erreurs que j’ai commises :

    1- J’ai téléchargé le package et j’ai créé sur le serveur un dossier php et un dossier cache, mais j’avais mal lu, le dossier cache doit être dans le dossier php. (d’où j’avais des erreurs du type cannot write cache). J’ai fixé les droits d’écriture de mon dossier cache (chmod à 777) et ça marche. Pour d’autres c’est chmod à 755.

    2- J’ai longtemps cherché un fichier exemple pour lancer simplepie. Finalement je l’ai trouvé dans le dossier demo, c’est multifeeds.php. Il est bien documenté et il suffit d’y changer quelques paramètres, comme par exemple y entrer la liste des flux RSS que l’on veut agréger.

    3- Il faut faire hyper attention au chemin des fichiers qui sont appelés par le script. Par exemple require_once(‘./simplepie.inc’); Dans le même registre, je n’avais pas d’affichage d’images tant que je n’ai pas modifié ce chemin dans le fichier handler_image.php.

    4- L’encodage: j’avais de méga problèmes d’encodage car j’essayais de lire les fluxRSS à partir d’une base de données mysql. Les textes m’apparaissaient en hiéroglyphes d’une langue encore inconnue de moi. C’est là que je me suis aperçue que ma bdd était en latin_swedish, mais même si je la passe en UTF-8, le problème persiste. C’est un grand mystère.

    5- Pour l’instant, je suis tellement content de voir un agrégateur aussi beau, que je vais lui donner les flux de la liste freemen à la main.

    6- L’étape suivante est l’import dans WordPress, il existe un plugin mais ça demande tout de même de mettre les mains dans le camboui.

    7- Pour avoir un aperçu du résultat qui m’a pris 15 jours au lieu de 30 minutes, c’est ici.

    8- Ah oui, j’oubliais, merci Christophe.

     
    • freyafinker 12:13 on septembre 9, 2007 Permalien | Répondre

      Un grand espoir pour le problème d’encodage lorsqu’on va chercher les données dans la base de données : envoyer les headers :
      header(‘Content-type:text/html; charset=UTF-8′)

      A suivre…

    • Christophe Lefevre 11:46 on septembre 13, 2007 Permalien | Répondre

      Et bien voilà. Félicitation

      C’est peut être ennuyant de passer des jours à chercher une solution à un problème, mais c’est comme ça qu’on apprend le mieux.

  • Plateforme de gestion de listes, comment ça marche ? 

    freyafinker 1:28 pm on August 14, 2007 Permalien | Répondre

    Elle est localisée sur Autresmondes.eu, un site qui a pour but d’envisager le web autrement.

    http://www.autresmondes.eu/Plateforme.php
    On peut y créer une liste, en entrant simplement le nom de la liste, un mot de passe, et un email qui peut être utile pour récupérer le mot de passe de la liste par exemple. On pourra aussi ajouter un logo et afficher le manifeste du réseau en question.

    Cela crée une base de données (une table en fait) dans la base de données sur le même serveur.

    On peut alimenter cette base de données en entrant essentiellement le nom des blogs du réseau et leur adresse. Il peut être très utile d’entrer également l’adresse du flux RSS de ces blogs, si l’on songe à en rassembler le contenu dans un Agrégateur dans un avenir proche.

    On récupère alors automatiquement la liste sous de nombreux formats :

    - 3 versions d’html pour insertion dans une page Web (il suffit de faire CTRL C) pour copier la plage de données qui nous intéresse. La quatrième colonne correspond au format wiki.
    - une version php dont on peut inclure l’adresse dans son blog, à condition qu’il supporte php (certains blogs zappent le code php), il suffit alors d’introduire la commande<?php include(“url”);?> (url étant l’adresse du fichier php correspondant à la liste, qu’on obtient en cliquant sur php).

    logo opml carre- une version OPML : on peut soit télécharger la cible du lien sur son disque dur, soit indiquer l’url OPML qui doit être importée dans sa blogoliste (cas de WordPress et Dotclear).

    logo rss carre- une version RSS et XML, et c’est là que ça devient intéressant ! Les deux versions ne diffèrent que par l’ordre des blogs, dans un cas, c’est alphabétique (pour XML) et dans l’autre cas (RSS), ce sont les derniers blogs inscrits en premier. L’adresse de l’url XML peut être indiquée dans le lecteur de fil de nouvelle de Dotclear, et la liste apparaît dans la blogroll et est toujours* à jour. Si le nombre d’entrées est limitée comme dans WordPress, il y a avantage à importer dans un widget RSS la liste RSS, ce qui permet aux derniers blogs entrés d’apparaître en premier. Cette liste complète une liste OPML qui serait en blogroll et donc évite d’avoir à la mettre à jour trop souvent.

    Il me semble que cela est clair, mais étant l’auteur, je comprends sans doute plus facilement les choses, n’hésitez pas à poser toute question ici.

    *Elle est toujours à jour, à condition que quelqu’un ait cliqué sur le lien qui écrit le fichier à jour, je pense qu’on peut compter sur les robots pour faire cela, mais si vous constatiez que votre liste ne se met pas à jour, vous pouvez aller cliquer

    **Enfin, patience, car pour que la liste se mette à jour sur votre blog, il faut attendre l’heure où le scanneur de flux scanne les flux, et selon les cas, ça peut être toutes les heures, ou tous les jours, donc la mise à jour n’est pas instantanée mais ça ne veut pas dire que ça ne marche pas.

    ***Et finalement, pour ceux qui auraient des listes de 700 blogs sous format excel, je peux les insérer pour eux dans une base de données.

     
    • freyafinker 1:50 on août 14, 2007 Permalien | Répondre

      Je vois en surfant sur les blogs politiques, qu’il faut que j’ajoute rapidement une version wiki !

    • freyafinker 7:08 on août 18, 2007 Permalien | Répondre

      La liste au format wiki est désormais disponible.

  • Le pseudo RSS, comment ça marche ? 

    freyafinker 1:01 pm on August 14, 2007 Permalien | Répondre

    Il ne reste plus qu’à tromper le système, examiner la structure du fichier RSS, et mettre à la place les données qui nous intéressent, à savoir le nom du blog et le lien et la date de modification de l’entrée dans la base de données.

    Donc, à partir d’une base de données Mysql dans laquelle on rentre les noms des blogs, leur adresse, on va pouvoir générer automatiquement un fichier XML qui aura la structure d’un flux RSS et sera accepté par les lecteurs de flux RSS.

    Certains Weblogs, notamment Dotclear, WordPress, probablement Typepad et sans doute Canalblog, permettent d’importer le contenu d’autre blog dans un Widget lecteur RSS ou lecteur de fil de nouvelle, que l’on place dans les colonnes de son blog.

    Dotclear ne limite pas le nombre d’entrées, si bien que l’on peut avoir une liste complète toujours à jour en insérant l’adresse du pseudo RSS dans un lecteur de fil de nouvelles.

    Pour WordPress, le nombre d’entrées est malheureusement limité à 10. C’est pourquoi je combine l’insertion du fichier OPML dans les la liste des liens, et le pseudo RSS dans le lecteur de flux RSS. Ainsi, les dix dernières entrées apparaissent automatiquement, ce qui évite d’avoir à mettre à jour la liste trop souvent.

     
c
créer une nouvelle entrée
j
prochain article / prochain commentaire
k
message précédent / commentaire précédent
r
Repondre
e
modifier
o
afficher/masquer les commentaires
t
Remonter
l
go to login
h
afficher/masquer l'aide
esc
annuler