[PHP] Astuce pour faire des formulaires et gagner du temps
Il n'y a rien de plus long et de plus fastidieux dans le cadre d'un
développement que faire ces indispensables pages de formulaires. Ces
pages permettent d'ajouter/de modifier du contenu dans la base de
données. Ce n'est pas du dev brut puisque c'est ni plus ni moins que du
HTML, mais cela peut se réveler assez long et il est facile de faire
des erreurs (id qui ne correspond pas au label, etc.).
Je propose donc une solution en PHP qui vous fera gagner énormément
de temps. L'astuce est toute bête : faire des fonctions php avec les
différents types de champs formulaire (input text, file, textarea,
select, ...).
Voici un exemple pour un champ input text :
<?php
function InputText($id,$label,$r,$aide="",$onkeyup="")
{
$b="<p>
<label for=\"$id\">$label : ";
if($aide!='') { $b.= aide($aide); }
$b.="</label>
<input type=\"text\" id=\"$id\" name=\"$id\" ";
if($onkeyup!='') $b.="onkeyup=\"$onkeyup\" onblur=\"$onkeyup\"";
if($r[$id]!='') { $b.="value=\"".$r[$id]."\" "; }
$b.="class=\"textfield\" />
</p>";
return($b);
}
?>
Voici comment l'utiliser :
- $id : ID et NAME du champ (qui sont identiques)
- $label : intitulé du champ
- $r : tableau sql (ou autre) de données permettant de placer une valeur par défaut si on se trouve dans le cas d'une modification
- $aide (facultatif) : permet d'afficher une bulle d'aide liée au champ (fait appel à une fonction aide() et à un style css
- $onkeyup (facultatif) : permet d'attribuer une ou plusieurs fonctions javascript lors de la saisie et la sortie du champ
Et voici un exemple :
<?php
echo InputText("titre","Titre du message",$requete,"saisissez le titre du message","fonctionJavascript(this.value);");
?>
Je vous donne d'autres exemples dans la suite de ce billet. Il n'y a rien de plus long et de plus fastidieux dans le cadre d'un développement que faire ces indispensables pages de formulaires. Ces pages permettent d'ajouter/de modifier du contenu dans la base de données. Ce n'est pas du dev brut puisque c'est ni plus ni moins que du HTML, mais cela peut se réveler assez long et il est facile de faire des erreurs (id qui ne correspond pas au label, etc.).
Je propose donc une solution en PHP qui vous fera gagner énormément de temps. L'astuce est toute bête : faire des fonctions php avec les différents types de champs formulaire (input text, file, textarea, select, ...).
Voici un exemple pour un champ input text :
<?php
function InputText($id,$label,$r,$aide="",$onkeyup="")
{
$b="<p>
<label for=\"$id\">$label : ";
if($aide!='') { $b.= aide($aide); }
$b.="</label>
<input type=\"text\" id=\"$id\" name=\"$id\" ";
if($onkeyup!='') $b.="onkeyup=\"$onkeyup\" onblur=\"$onkeyup\"";
if($r[$id]!='') { $b.="value=\"".$r[$id]."\" "; }
$b.="class=\"textfield\" />
</p>";
return($b);
}
?>
Voici comment l'utiliser :
- $id : ID et NAME du champ (qui sont identiques)
- $label : intitulé du champ
- $r : tableau sql (ou autre) de données permettant de placer une valeur par défaut si on se trouve dans le cas d'une modification
- $aide (facultatif) : permet d'afficher une bulle d'aide liée au champ (fait appel à une fonction aide() et à un style css
- $onkeyup (facultatif) : permet d'attribuer une ou plusieurs fonctions javascript lors de la saisie et la sortie du champ
Et voici un exemple :
<?php
echo InputText("titre","Titre du message",$requete,"saisissez le titre du message","fonctionJavascript(this.value);");
?>
Pour info, voici ma fonction aide() :
<?php
function aide($texte) {
return "<a href=\"#null\" class=\"aider\"><img src=\"im/layout/help.png\" alt=\"aide\" width=\"16\" height=\"18\" border=\"0\" align=\"absmiddle\" /><span>".$texte."</span></a>";
}
?>
Et le CSS qui l'accompagne :
/*bulle aide*/ a.aider{ position: relative; text-decoration: none; cursor: help; } a.aider span{ display: none; } a.aider:hover{ background: none; z-index: 500; } a.aider:hover span{ display: inline; position: absolute; top: 2em; left: 1em; padding: 5px; width: 300px; border: 1px solid #ccc; background: #f9f4ec; text-align: left; font-weight:normal; font-size: .8em; line-height: 1.2em; color: #000; }
Voici un autre exemple pour des boutons radio :
<?php
function Radio($name,$label,$r,$liste,$aide="",$onclick="") {
$b="<p class=\"label\">$label : ";
if($aide!='') { $b.= aide($aide); }
$b.="</p>"; $i=1; $b.="<p>"; foreach($liste as $k=>$v) { if($i!='1') $b.=" "; $b.="<input type=\"radio\" name=\"".$name."\" id=\"".$name."_$i\" value=\"$k\""; if($onclick!='') $b.="onclick=\"$onclick\""; if($r[$name]==$k OR ($r[$name]=='' && $i==1)) { $b.=" checked=\"checked\""; } $b.=" /> <label for=\"".$name."_$i\" class=\"radioLabel\">$v</label>"; $i++; } $b.="</p>"; return($b);
}
?>php
L'utilisation de cette fonction est très simple :
<?
echo Radio("genre","Choisissez votre civilité",$requete,array("M"=>"Monsieur","MME"=>"Madame","MELLE"=>"Mademoiselle"))
?>
Un autre exemple avec un SELECT issu d'un tableau :
<?php
function SelectArray($id,$label,$r,$liste,$aide="",$onchange="") {
$b="<p> <label for=\"$id\">$label : ";
if($aide!='') { $b.= aide($aide); }
$b.="</label> <select id=\"$id\" name=\"$id\""; if($onchange!='') $b.=" onchange=\"$onchange\""; $b.=">";
foreach($liste as $k=>$v) { $b.="<option value=\"$k\""; if($r[$id]==$k) { $b.=" selected=\"selected\""; } $b.=" />$v</option>"; $i++; } $b.="</select></p>"; return($b);
}
?>
Un dernier exemple, ce champ select est couplé à une table SQL et a pour but d'afficher les valeurs de la colonne $champ :
<?
< function Select($id,$label,$r,$table,$champ,$aide="",$vide="non",$onchange="") { $b="<p> <label for=\"$id\">$label : ";
if($aide!='') { $b.= aide($aide); }
$b.="</label> <select id=\"$id\" name=\"$id\""; if($onchange!='') $b.=" onchange=\"$onchange\""; $b.=">";
if($vide=='oui') $b.="<option value=\"\">---</option>";
if($table=='typevente') $ordre="ordre"; else $ordre="id";
$p=query_sql($table,"id,$champ","","","$ordre ASC"); while($r2 = boucle_sql($p)) { $b.="<option value=\"$r2[id]\""; if($r2[id]==$r[$id]) { $b.=" selected=\"selected\" "; } $b.=">$r2[$champ]</option>"."\n"; } $b.="</select> </p>";
return($b);
}
?>
Ces petites fonctions rapides à coder permettent un gain de temps énorme dans un développement. Ainsi, pour faire un formulaire de 10 champs, cela prend uniquement 10 lignes. De ce fait, votre code est plus propre et plus lisible et vous vous y retrouverez mieux.
Bien sur, je vous conseille de coder vos propres fonctions car les miennes utilisent des fonctions php et des styles css particuliers.
Un outil de statistiques de site web fiable Des changements techniques sont actuellement et seront pendant les jours à venir opérés sur E-monsite. Ces modifications sont invisibles pour les utilisateurs mais permettent d'améliorer E-monsite.
Nous avons notamment revu totalement la méthode et la technique de comptabilisation des statistiques. Sans rentrer dans les détails, nous avons modifié le stockage de ces données (il se fait à présent en base de donnée, ce qui garanti une fiabilité maximale) et est basé sur l'IP des internautes et non plus les cookies (tous les navigateurs n'acceptent pas les cookies). Ainsi, nous pourrons vous garantir à l'avenir des statistiques de fréquentation plus fiables.
Notez que ces modifications ont pu influer sur la fiabilité des statistiques de ce jour.
De plus, nous serons en mesure prochainement de proposer une analyse complète des sites référents. Il sera ainsi possible de connaître via l'interface de E-monsite les différentes provenances de trafic (moteur de recherche, site web...), les mots clés utilisés, ... Une version brute de ces données est dès à présent proposée aux E-monsitiens dans "Site" > "Statistiques" > "Sites référents". Cette interface sera bien entendu revu bientôt avec la mise à disposition de graphiques et la possibilité de remonter plus loin que les 20 derniers sites référents. Je vous en reparlerais ici même lorsque cela sera en place.
Enfin, nous mettons en place plusieurs "chantiers" afin d'améliorer E-monsite en profondeur afin de garantir une qualité de service optimale.
EDIT 21/11 : le nouveau système de statistiques a eu des ratés : les statistiques étaient restées figées sur la page d'accueil de la zone membre et la comptabilisation quotidienne ne se remettait pas à zéro à minuit comme cela aurait du se passer. Cela a eu pour effet de cumuler les statistiques de la veille avec celle du jour et donc de fausser complètement les chiffres. Tout cela est corrigé, les statistiques seront fiables dès la génération des statistiques de demain, c'est à dire après-demain matin.
Les supports de communication pour une entreprise : le tampon encreur Après avoir abordé les différents supports de communication papier (le papier à en tête, la carte de correspondance et la carte de visite), j'aborde cette fois le tampon encreur. Le tampon encreur ne fait pas beaucoup parler de lui (comparé à la carte de visite), d'ailleurs bon nombre sont ceux qui ne le considèrent pas vraiment comme un support de communication ou du moins qui n'y accordent pas réellement d'importance. Pourtant le tampon société, tout comme la carte de visite, communique les coordonnées de l'entreprise et quelque part diffuse l'image de celle-ci. Il existe plusieurs types de tampon encreur, le tampon société qui communique les coordonnées de l'entreprise et d'autres tampons qui ont un usage plus fonctionnels et plus internes à l'entreprise.
- Les différents types de tampon encreur :
- Le tampon société : il permet d'identifier rapidement la société (logo, coordonnées etc.) et constitue un gain de temps considérable dans le traitement de courrier par exemple au lieu de réécrire au derrière de l'enveloppe toutes les informations relatives à l'entreprise expéditrice, un simple coup de tampon suffit.
Ce tampon est dans la plupart des cas indispensable pour accompagner une signature officielle sur des documents importants.
- Le tampon date ou dateur : il est très utile pour gérer efficacement des opérations de secrétariat, il sert par exemple pour apposer la date de réception d'un courrier etc.
- Le tampon confidentiel : il est généralement destiné aux entreprises ayant à traiter des documents confidentiels (fiches de paies, documents portant sur la stratégie de l'entreprise etc.)
- Le tampon urgent : il sert à repérer les tâches à effectuer en priorité.
- Contenu du tampon société :
Le tampon société comporte des informations relatives à l'identité de l'entreprise :
- Logo de l'entreprise (facultatif mais tout de même recommandé d'un point de vue graphique)
- Raison sociale
- Les coordonnées de l'entreprise (adresse, téléphone, fax, e-mail et site web)
- Le capital, le numéro de Siret et le numéro de tva intracommunautaire de l'entreprise peuvent être renseignées.
- Le tampon société est-il obligatoire? (question souvent posée)
Bon nombre d'organismes exigent en complément de la signature l'apposition d'un cachet regroupant plusieurs informations sur l'entreprise (nom , n°SIRET etc.). Cependant un cachet ou tampon n'est pas une obligation légale. Le tampon n'est qu'une méthode simple et rapide pour la reproduction d'informations relatives à une entreprise. De plus les informations sur un tampon ne sont absolument pas réglementées.
- Format du tampon société :
Le format standard d'un tampon société est de 57mm X 21mm ou encore 673 x 248 pixels (ceci est la taille de la zone d'impression) ce qui correspond à environ 5-6 lignes d'écriture (nom, adresse, téléphone, mail, site web et logo) . il existe bien entendu d'autres formats plus petits ou plus grands.
Les tampons sont généralement à encre noire mais il est possible de choisir une autre couleur : rouge, verte etc.
Pour un tampon société 57mm x 21mm (comprenant logo, nom, adresse, téléphone, mail, site web), choix de la couleur de l'encre entre noir, rouge ou bleu il faut compter à partir de 25 - 30 euros , vient s'ajouter à ce coût la personnalisation ou encore les recharges d'encre, la livraison si vous effectuez votre commande sur le web. Il est également possible d'utiliser votre propre maquette.
Le tarif évidemment varie selon la demande (taille du tampon, options en plus etc.)
Le tampon encreur est un accessoire de papeterie recommandé pour l'exécution de tâches administratives, en effet il facilite de nombreuses tâches. Le tampon société n'est pas obligatoire cependant certains organismes exigent son apposition en plus de la signature. Il est donc conseiller d'être en possession de celui-ci et par la même occasion de favoriser au mieux l'image de votre entreprise.
Création du site Immobilier : Immo80 une nouvelle version Immo80 le spécialiste de l'immobilier dans la Somme, nous a confié le référencement de son site depuis 2 mois maintenant, avec déjà de très bon résultats. Inexistant sur de nombreuses requêtes liées à l'immobilier dans la Somme et sur Amiens, il truste désormais les premières pages des résultats de Google.
Dans une réelle démarche stratégique de développement de son activité sur le web, Immo80 nous a également confié la refonte de son site Web.
Nous avons donc développé le site sur une base graphique xHtml/CSS, avec pour les zones dynamiques du Php/MySQL, les technologies AJAX ont également permis de rendre plus ergonomique le site et notamment le moteur de recherche.
Grâce à nos recherches en matière de géolocalisation et de calcul de distance le moteur permet notamment de faire une recherche sur un périmètre donné (par exemple 30km maxi autour d'Amiens).
Awelty a donc apporté à Immo80 un véritable savoir faire en matière d'Internet, de développement, d'ergonomie et d'expérience utilisateur, mais aussi une expertise poussée en matière d'optimisation pour le référencement.
Awelty a développé et designé le site, mais Awelty a surtout été un conseiller stratégique en matière de développement d'une activité concurrentielle sur le web.
Création de thèmes graphiques (4) pour E-monsite
Soucieux d'offrir une grande variété de thèmes graphiques aux utilisateurs d'E-monsite, je viens de mettre à leur disposition 4 thèmes illustrant chacun une saison. Après l'avoir appliqué à leurs sites, les E-monsitiens peuvent le modifier : couleur des titres, couleurs des liens... Rien n'est figé sur E-monsite ! Ces thèmes montrent également qu'un site conçu à l'aide d'e-monsite peut-être évolué graphiquement et avoir un rendu tout à fait professionnel dès lors que l'on respecte les règles essentielles d'ergonomie et de lisibilité.
|