picture picture
décembre 20, 2019 PHP 9 Commentaires

[Tuto] Envoyer un mail avec PHPMailer

L'une des meilleures solutions pour envoyer des e-mails en PHP consiste à passer par l'excellente librairie gratuite PHPmailer. Petit tutoriel simple !

En PHP, la fonction mail() suffit souvent pour envoyer des e-mails simples (format texte, pas de pièces jointes…)

La situation se corse lorsqu’il faut envoyer des pièces jointes, afficher des données en HTML sur tous les clients mails sans erreurs d’en-codage (vive les iPhone :( !), ou encore ne pas être tout simplement rejetés d’office le FAI dans la boîte de spam de votre destinataires…

L’une des meilleures solutions consiste à passer par l’excellente librairie gratuite PHPmailer qui fait tout cela très bien… et simplement.

décembre 20, 2019 PHP 1 Commentaire

[Tuto] Créer un PDF en PHP avec FPDF

Petit tutoriel FPDF pour la créer un fichier PDF en PHP avec données extraites d'une base des données, et incluant un tableau: cela suffit dans 95% des cas.

Créer un PDF dynamiquement avec PHP est un travail long, je dirais presque fastidieux…

La librairie gratuite FPDF simplifie sensiblement cette tâche, sans pour autant la rendre totalement intuitive. Concrètement, l’affichage des données s’apparente à un dessin créé avec les chaîne de caractères à afficher : tout doit être positionné à l’avance, il n’y aura dans la plupart des cas pas de retour à la ligne automatique (ni de redimensionnement selon la taille des écrans puisqu’il s’agit d’un format d’impression)

Voici un petit tutoriel FPDF de base, pour la créer un fichier PDF avec des données extraites d’une base des données et incluant un tableau : cela suffira à couvrir 95% des besoins…

mars 19, 2019 MySQL, PHP 0 Commentaire

MySQL depracated …

Mettre à jour une page PHP contenant les erreurs: "MySQL depracated" ou "Fatal error: Uncaught Error: Call to undefined function mysql_query" ? Simple !

Il y a peu de développeurs à qui la question a échappé : le passage d’un serveur en PHP 7 entraine une cascade d’erreurs sur le pages, commençant en général par « MySQL depracated » ou « Fatal error: Uncaught Error: Call to undefined function mysql_query() in … »

Concrètement toutes les fonctions de connexion aux bases des données mysql_xxx() sont à modifier, pour tenter (entre autre) d’endiguer les vagues des piratages de bases liées aux failles de sécurité.

Si vous n’utilisiez pas le langage orienté objet (nommé du doux nom de « PDO »), les mises à jours liées à ce changement peuvent sembler barbares sur beaucoup de tutoriels…
En fait, il est inutile de changer : si vous avez l’habitude de programmer en PHP « classique » (autrement dit en mode dit « procédural »), ne changez rien, c’est inutile !

mars 5, 2019 PHP 0 Commentaire

Envoyer un e-mails avec caractères spéciaux (site et base en UTF8)

Une petite fonction PHP toute simple, qui permet d’envoyer un e-mail contenant des caractères spéciaux (en particulier des accents).

L’objet de l’e-mail ainsi que le contenu sont supposés provenir soit d’une base des données soit d’une page HTML avec un formulaire de saisie, l’un et l’autre encodés en UTF8.

août 18, 2018 PHP 0 Commentaire

Validation des e-mails avec PHP

validation des e-mails avec PHPPourquoi une validation des e-mails avec PHP ? Parce que la plupart des formulaires de contact incluent la saisie d’un e-mail, de manière à pouvoir répondre à la demande. Et la plupart des internautes détestent les spams… Un certain nombre de petits malins ont donc tendance à insérer une fausse adresse, voire ‘xxxxx’ pour shunter l’obligation de saisie. Sans compter les fautes de frappe (que l’on peut limiter avec une double saisie de cet e-mail)…

Pour écarter les pièges les plus grossiers, il est donc nécessaire de contrôler au minimum la présence d’une arobase @, ainsi que d’une extension du nom de domaine (.com, .fr, etc.)

août 17, 2018 MySQL, PHP 0 Commentaire

Supprimer la limite de session sur phpMyAdmin

limite de session sur phpMyAdminLe problème de la limite de session sur phpMyAdmin est surtout gênant lorsque vous travaillez en local sur vos bases des données (avec WampServer ou easyPHP par exemple) : par défaut, toutes les 23 minutes (1400 secondes), une déconnexion vous oblige à ressaisir les identifiants d’accès. C’est pénible, à la longue…

Si vous avez accès aux fichiers du serveur, la solution est très simple.

août 13, 2018 PHP 0 Commentaire

Comparer deux dates avec PHP

La question se pose régulièrement pour un développeur, afin de déclencher (ou non) un évènement PHP. Comparer deux dates n'est pas si simple !Comparer deux dates : cette question se pose régulièrement pour un développeur , afin de déclencher (ou non) un évènement. La date que je vais extraire de ma base des données est-elle passée ? Ou à venir ?

Or comparer deux dates au format MySQL (AAAA-mm-jj) ne fonctionne pas toujours selon les mois calendaire (à 2, ou à 1 chiffre ?)…

La solution consiste à ramener les 2 dates en secondes par rapport à une date de référence (1er janvier 1970 par défaut); puis à les comparer. Exemple ici : […]

janvier 31, 2018 PHP, WordPress 0 Commentaire

La barre d’outils et le texte ont disparus dans l’éditeur WordPress O_x

Hier je me connecte au back-office d’un de mes sites développés sous WordPress, je cherche un article à mettre à jour, et là panique : la zone de saisie est vide et l’éditeur de texte n’a plus de barre d’outils :?

En creusant un peu j’ai vite découvert que le texte était toujours dans la zone de saisie de la page ou de l’article, mais il était devenu blanc… sur fond blanc (en le sélectionnant il apparaissait) !

Quelques recherches sur Google m’ont permis de trouver la solution à ce bug, je la partage : cela fera surement gagner du temps à l’un ou l’autre.

janvier 11, 2018 Excel, MySQL, PHP 4 Commentaires

Export d’une table MYSQL au format CSV… sans message d’erreur

La solution traditionnelle en PHP était de créer un tableau HTML : comment exporter une table MYSQL au format CSV sans message d'erreur ?Pour générer en PHP un fichier au format Excel (.xls ou .csv), la solution traditionnelle était de créer un tableau HTML, dont chaque ligne (<TD></TD>) correspondait à un tuple de la table MySQL exportée en boucle.

Oui, mais… si Excel sait lire le format HTML, les versions récentes affichent un désagréable message à l’ouverture du fichier pour signifier que le langage qu’on lui impose n’est pas le sien :
« Le format et l’extension du fichier « xxx.csv » ne correspondent pas. Le fichier peut présenter un risque ou avoir été endommagé. Ne l’ouvrez pas, à moins que la source soit fiable. Voulez-vous quand même l’ouvrir ? »

Comme quoi, le multiculturalisme ça ne marche pas pour les fichiers non plus… :lol:

décembre 19, 2017 MySQL, PHP 2 Commentaires

Extraire les noms des colonnes d’une table MySQL

Pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des colonnes d’une table MySQL via PHP. Blog de Web TolosaPour de multiples raisons, comme par exemple pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des champs d’une table MySQL via PHP.

L’astuce consiste à récupérer ces noms de colonnes en utilisant la commande « SHOW COLUMS FROM« …

septembre 22, 2017 JavaScript, PHP 1 Commentaire

Installer l’éditeur de texte Tiny MCE en mode avancé

Comment Installer l'éditeur de texte Tiny MCE en mode avancé. Si le N°1 des blogs (WordPress) l'a choisi, ce n’est pas pour rien ! Blog de Web TolosaC’est une demande récurrente de clients : « Faites-moi un champ de saisie de texte où on peut mettre du gras, de l’italique, des listes et des couleurs, comme Word« … L’objectif étant bien entendu de récupérer cette mise en forme, en général pour la stocker dans une base des données.

HTML ne permettant pas ce type de fantaisies, il faut donc se tourner vers les « éditeurs de texte » open-source. Il y en a quelques uns, je présente ici l’intégration de Tiny-MCE. C’est à la fois l’un des plus abouti, et des plus simple d’utilisation. C’est celui qu’a choisi le N°1 des moteur de blog (WordPress) : ce n’est pas pour rien…

septembre 21, 2017 JavaScript, MySQL, PHP 3 Commentaires

Autocomplétion du champ de texte avec JQuery-UI

L’auto-complétion consiste à proposer une pré-sélection de valeurs dans le champ texte d’un formulaire.
Ces valeurs sont extraites à la volée d’une base des données, et contiennent le caractère (ou la chaîne de caractères) déjà saisi par l’utilisateur.

Cette fonction utilise AJAX (JavaScript + PHP), c’est à dire qu’il n’est pas nécessaire de recharger une page pour extraire dynamiquement et afficher les valeurs souhaitées depuis une base des données. Le moteur utilisé dans cet exemple est JQuery-UI (puissant JavaScript opensource)

septembre 19, 2017 PHP 19 Commentaires

Envoyer des e-mails depuis votre ordinateur avec WampServer

Tout développeur qui se respecte a eu un jour (au moins !) besoin d’envoyer des e-mail depuis un site en développement local. Ne serait-ce que pour  tester la mise en forme du sacro-saint formulaire de contact…

Ceux qui utilisent la plateforme de développement web sous Windows WampServer ont pu constater qu’elle n’intègre plus par défaut de serveur d’envoi des e-mails. L’envoi d’un e-mail génère au mieux : rien du tout; au pire : un message d’erreur (Failed to connect to mailserver at « localhost » port 25, verify your « SMTP » and « smtp_port » setting in php.ini…  etc.)

Il existe une solution simple et efficace : le serveur SMTP ( (Simple Mail Transfer Protocol)  Fake Sendmail for Windows !

juin 17, 2015 Excel, MySQL, PHP 5 Commentaires

Exporter une table MySQL au format CSV (Excel)

PHP calculsPHP est un langage d’extraction et d’affichage, mais sa puissance de calcul est limitée. Qui n’a pas été confronté un jour ou l’autre à ses erreurs ses memory_limit, upload_max_filesize ou autres blocage du temps de connexion d’un script ?

Il est possible de « bidouiller » le serveur pour tenter de rallonger tout cela, mais c’est tout de même limité et handicapant lorsque certains exports de grosses bases des données nécessitent des calculs croisés complexes. L’autre solution consiste à exporter les tables, puis à les retravailler avec les tableaux croisés dynamiques de Excel ou Access, par exemple, dont c’est la vocation.

Mode d’emploi pour un export PHP propre, d’une table MySQL vers un ficher Excel (csv en l’occurrence) …

octobre 13, 2013 (X)HTML, PHP 2 Commentaires

Le captcha de la mort qui tue :)

captchaLes captcha, vous savez tous ce que c’est : ces petits champs à remplir au bas des formulaire web pour prouver que vous êtes bien… humains ! On ne sait jamais… « des fois que vous soyez des algues » ?

Bref, c’est moche, souvent illisible et pénible à remplir. Les pires ce sont ceux de Google … à pleurer de laideur.

Celui que je vous propose ici, c’est comme l’œuf de Christophe Colomb : tellement simple qu’on aurait presque honte de ne pas y avoir pensé tout seul avant ! […]

octobre 12, 2013 (X)HTML, PHP 0 Commentaire

Ma page PHP commence par 

BoomCela s’appelle un BOM (Byte Order Mark) ou, en français, « Marque d’Ordre des Octets », il se trouve au début des fichiers UTF-8 et contient des renseignements sur le sens de lecture des données.

Malheureusement, certains logiciels n’interprètent pas correctement le BOM, ils le considèrent comme une partie du texte et l’affichent…

octobre 12, 2013 (X)HTML, PHP 1 Commentaire

J’ai des ? à la place des caractères accentués…

point d'interrogation

Classique des caractères latins et des extractions de bases des données UTF8 …

Le sujet a déjà été traité mais une petite synthèse ne fait pas de mal !

novembre 29, 2011 Excel, MySQL, PHP 4 Commentaires

PHP : exporter une table MySQL vers un fichier Excel

NOTA : article mis à jour ici (juin 2015)

Depuis la version d’Excel 2007, les exportations en PHP de données sous Excel (par exemple des extractions depuis une table MySQL) déclenchent  l’affichage d’un désagréable message d’erreur à l’ouverture du .xls

Il y a bien la solution de passer outre, les données sont tout de même présentes dans le fichier exporté…

Mais il existe une autre solution plus « propre » !

novembre 29, 2011 PHP 2 Commentaires

« Function eregi_replace() is deprecated »…

Vous avez mis à jour votre serveur, et votre nouvelle version PHP est supérieure ou égale à la version 5.3 ?
ce message de « Warning » apparaitra au sommet de bien des pages (si vous autorisez les erreurs à s’afficher pour débuguer le code, bien entendu!)…

La solution est simple.

avril 28, 2011 PHP, TIC News 1 Commentaire

Une bonne raison d’adopter le navigateur Opera !

Manuel PHP sur Opéra<< Cliquez pour agrandir
Opéra, vous connaissez ? C’est le dernier must des  navigateur de geeks !

Personnellement je ne suis pas emballée pour plein de raisons que je ne vais pas détailler ici, mais il a UN avantage sur tous les autres… Il intègre dans ses moteurs de recherche par défaut le manuel PHP !  Mode d’emploi ici …