Je suis tombé sur le bug de ma vie (je dis ça à chaque fois que je tombe sur une merveille de bêtise chez microsoft), j’avais un formulaire pour l’envoi d’une pièce jointe au travers d’un iframe, l’upload fonctionnait sous Firefox Safari Opera et google Chrome, mais pas sous ie6 et ie7. Après avoir presque attend la folie, j’ai fini par demander de l’aide sur IRC #mootool et c’est M. cfenzo_ qui m’a trouvé la solution
Bug – ie6 et ie7 pièces jointes dans les formulaires.
Listes xhtml en colonne avec du CSS
Une technique pour mettre en colonne des listes xhtml.
Très utile pour la mise en page de formulaire ou pour afficher proprement une information sur la largeur de la page.
Code XHTML.
<ul>
<li>Valeur01</li>
<li>Valeur02</li>
<li>Valeur03</li>
<li>Valeur04</li>
<li>Valeur05</li>
<li>Valeur06</li>
<li>Valeur07</li>
<li>Valeur08</li>
<li>Valeur09</li>
<li>Valeur10</li>
</ul>
Code CSS
ul
{
width : 500px;
list-style-type : none;
}
li
{
width : 180px;
margin : 15px 0 0 0;
padding : 0 10px 0 0;
line-height : 15px;
float : left;
}
Gérer la couleur d’un surlignement en CSS

Il est possible en CSS de gérer la couleur du texte et du fond lorsqu’il est sélectionné.
Pour les navigateurs mozilla-like.
ELEMENT::-moz-selection
{
background:yellow;
color:red;
}
Pour tous les autres navigateurs sauf IE6 évidament.
ELEMENT::selection
{
background:yellow;
color:red;
}
Mootools + TinyMCE Problème de double click
J’ai rencontré plusieurs problème entre tinyMCE et mootools cette semaine dont un bien vicieux.
L’idée c’est d’envoyer un formulaire par un appel Ajax de mootools.
Le problème c’est qu’il faut envoyer deux fois le formulaire pour que les champs textarea en tinyMCE soit mis dans le POST
Il suffit d’ajouter tinyMCE.triggerSave(); juste avant l’appel Ajax.
En xhtml
<form action=’#’ id=’mon_form’>
<textarea id=’tinymce_area’ name=’tinymce_area’></textarea>
<input type=’submit’ value=’save’ />
</form>
En javascript
$(’mon_form’).addEvent(’submit’,function(e){
var event = new Event(e);
event.stop();
tinyMCE.triggerSave();
new Ajax(’sauver.php’,{
method:’post’,
data : $(’mon_form’),
evalScripts:true,
update: ‘div_update’
}).request();
IE6 System error: -1072896658
Ces saletées de salopries de IE 6 et IE7 m’ont fait un tour de cochon aujourd’hui, un bout de code en Ajax fonctionnait très bien sur le serveur de développement locale mais pas sur le serveur web.
L’erreur viend du fait que qu’IE ne veut pas faire les transactions en AJAX car le serveur web n’envoye pas le charset dans ça réponse. Il faut donc ajouter « AddDefaultCharset utf-8 » dans /etc/apache2/apache2.conf
Quand meme une erreur -1072896658 ça semblait évident non ?
COUNT(*) et mysql_fetch_object
Je viens de me battre avec cette requete:
< ?php $req = « SELECT COUNT(*) FROM MA_TABLE LIMIT 0,1″; $res = mysql_query($req) or die ( »Error »); $q = mysql_fetch_object($res); echo « < p r e > ».print_r($q). »"; ?>
elle me renvoyait:
stdClass Object
(
[COUNT(*)] => 18
)
Le problème c’est pour accéder la valeur on ne peut pas faire $q->COUNT(*).
La méthode pour y parvenir est de nommer le champs comme ceci:
< ?php $req = « SELECT COUNT(*) as total FROM MA_TABLE LIMIT 0,1″; $res = mysql_query($req) or die ( »Error »); $q = mysql_fetch_object($res); echo « < p r e > ».print_r($q). »"; ?>
Ce qui nous renvoie :
stdClass Object
(
[total] => 18
)
Et l on peut accéder au résultat avec: $q->total;
Télécharger gratuitement « Build Your Own Ruby on Rails Web Applications «

Sitepointstatic.com permet de télécharger gratuitement « Build Your Own Ruby on Rails Web Applications » pendant 60jours.
Ça ce passe ici : http://www.sitepoint.com/books/rails1/freebook.php
CSSTidy
CSSTidy est un optimisateur CSS opensource. Il est disponible pour Linux/MacOSX/Windows. On peut s’en servir en ligne de commande ou dans un script php. Il supporte parfaitement le CSS2.
Il est très utile pour mettre de façon lisible des CSS codés à la va vite.
On peut l’utiliser en ligne ici:K3nshin
Source de l’image:
http://www.estvideo.net/dew/index/2005/06/24/461-un-petit-pave-pour-la-plage
PHP5 + imap_open + SSL

Je développais tranquillement une class pour que l’intranet se connecte aux comptes mails des utilisateurs, et j’ai rencontré le soucis suivant avec imap_open.
J’utilisé imap_open comme ceci:
[php] < ?php $mbox = imap_open("{SERVER:143}", "USER", "PASS")or die("Erreur: ". imap_last_error()); ?>
Qui me renvoyais une erreurCertificate failure for SERVER
Je ne comprend pas trop pourquoi il accède au certificat alors que je ne le stipule pas si quelqu’un une idée ?.
En tout cas la solution été:
[php] < ?php $mbox = imap_open("{SERVER:143}/novalidate-cert", "USER", "PASS")or die("Erreur: ". imap_last_error()); ?>
Internet Explorer 7 et les pages blanches
J’ai fait ma première rencontre avec IE7 aujourd’hui, j’étais tranquille, j’étais pénard accoudé sur ma ubuntu, eclipse ronronnait, phpeclipse et toute la clique roulait, le site en cour était hébergé en local sur ma debian cherie, tout allez bien, firefox affichait les pages les oiseaux chantaient, un monde parfait.
Mais ! car il y a toujours un « mais », il faut que ce site soit compatible avec IE7, donc j’ai du bouger mes miches pour trouver un windows dans la boite et tester le dit site, on m’avait dit que IE7 respectait les standards mieux que le IE6 (ça aurait quand même était dur de faire pire) donc j’étais confiant.
Je tape l’url et la ?!?! page blanche ! Je pense une blague, une fausse manipulation, un complot des extraterrestres, je teste avec firefox et je vois le site !.
Je regarde dans les options d’IE7 si il n’y a pas une petite option qui permette de voir ce qui provoque le problème (une icone ? un petit chien qui me dit que je code mal ? un trombone qui me propose de l’aide ?) et bien rien, je me retrouve avec ma belle page blanche.
Je monte a mon bureau je mets un coup de validateur et je vois que mon javascript n’est pas appelé correctement j’avais fait
[javascript]
au lieu de
[javascript]
Ce simple
[javascript]
manquant rendez une page blanche sous IE malgré le fait qu'il téléchargait toute la pages (visible par les sources ).
Je reconnais que c'est une erreur de ma part dans le sens où j'étais pas compliant mais quand même ! Donc si vous avez des sites qui rendent des pages blanches sous IE7 et pas sur les autres navigateurs vous savez d'où ça peut venir.