Formation référencement lyon
BlogBang

mercredi 30 septembre 2009

Joomla / Wamp > "Deprecated: Assigning the return value" (Wamp2.0i et Joomla 1.5.14)

Si vous utilisez Wamp serveur 2.0i, ou supérieur, pour faire des tests en local de votre site Joomla, lors de l'installation de celui-ci vous risquez d'avoir les messages suivants :
Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\IS\libraries\pattemplate\patTemplate.php on line 1424

Deprecated: Assigning the return value of new by reference is deprecated in C:\wamp\www\IS\libraries\pattemplate\patErrorManager.php on line 202.
Ces messages viennent du fait que Joomla n'est pas encore adapté à PHP 5 et que wamp 2.0i contient PHP 5.3.0.

Afin de résoudre le problème, il suffit d'installer un Add-on à wamp afin de le faire fonctionner sous PHP 5.2.9.
Pour cela téléchargez et installez le fichier suivant : http://downloads.sourceforge.net/wampserver/WampServer2-PHP529-2.exe?download
Une fois l'installation terminée, lancez Wamp, puis clic gauche sur l'icone de wamp dans la barre des taches puis PHP > Version > 5.2.9-2.
Wamp redémarrage et vous pouvez maintenant lancer l'installation de Joomla 1.5 sans problèmes.



Libellés : , , , ,


jeudi 30 juillet 2009

PHP > Mes fonctions personnalisées préférées

Voici la liste des fonctions PHP que j'utilise régulièrement dans mes scripts PHP


Filtrage des données


Supprimer les accents



function supprimerAccents($texte) {
$caracteresAvecAccents= "áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ";
$caracteresSansAccents= "aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO";
return trim(strtr($texte, $caracteresAvecAccents, $caracteresSansAccents));
}

Confirmation d'origine des données d'un formulaire


Afin de garantir la sécurité de vos formulaires, il est indispensable de valider l'origine des données afin d'être sur quelles proviennent bien de votre formulaire.

Pour cela nous allons générer un TOKEN unique qui sera envoyé avec les données du formulaire puis vérifié avant le traitement des données.



<PHP?
// démarrage de la session
session_start();
// génération du token
$token = md5(uniqid(rand(), true));
// stockage du token dans la session
$_SESSION['token'] = $token;
?>








Maintenant nous allons mettre en place la sécurité sur le script qui traitera les données.



<?PHP
// démarrage de la session
session_start();
// vérification de la différence du token stocké et envoyé
if($_POST['token']!=$_SESSION['token'])
// arrêt de l'exécution du script et affichage d'un message d'erreur
die('Erreur : transmission des données incorrecte !');
// placer ici la suite du traitement
?>

Il vous suffit de placer ce code en début de fichier pour éviter les envois de données autrement que par votre formulaire


Nettoyage de sécurité des chaines de caractères


Cette fonction permet de supprimer les données non souhaitées d'une chaine de caractère



function securite($chaine)
{
return stripslashes(htmlentities(addcslashes(strip_tags(trim($chaine)))));
}

Si vous souhaitez filtrer toutes les données envoyées avec votre formulaire, vous pouvez combiner le code précédent avec celui qui suit



foreach($_POST as $cle=>$valeur)
$$cle=securite($valeur);

Ce code a pour effet de créer une variable php par champs HTML envoyé, par exemple si vous avez créé un champ de nom "toto" (name='toto') vous aurez une variable $toto qui contiendra les données du champ toto filtrées avec notre fonction.

Libellés : , ,


vendredi 17 juillet 2009

PHP > Liste des codes d'erreurs PHP

Voici une liste des codes d'erreurs que vous pouvez rencontrer durant le développement de script PHP.
EREEURORIGINERéférence PHP
T_ABSTRACTabstractAbstraction de classes (disponible depuis PHP 5.0.0)
T_AND_EQUAL&=opérateurs d'assignation
T_ARRAYarray()array(), syntaxe de tableau
T_ARRAY_CAST(array)transtypage
T_ASasforeach
T_BAD_CHARACTER Tous les caractères en dessous de ASCII 32 excepté \t (0x09), \n (0x0a) et \r (0x0d)
T_BOOLEAN_AND&&opérateurs logiques
T_BOOLEAN_OR||opérateurs logiques
T_BOOL_CAST(bool) ou (boolean)transtypage
T_BREAKbreak;break
T_CASEcaseswitch
T_CATCHcatchLes exceptions (disponible depuis PHP 5.0.0)
T_CHARACTER
T_CLASSclassclasses et objets
T_CLASS_C__CLASS__constantes magiques (disponible depuis PHP 4.3.0)
T_CLONEcloneclasses et objets. (disponible depuis PHP 5.0.0)
T_CLOSE_TAG?> ou %>
T_COMMENT// ou #, et /* */ en PHP 5commentaires
T_CONCAT_EQUAL.=opérateurs d'assignation
T_CONSTconst
T_CONSTANT_ENCAPSED_STRING"foo" ou 'bar'syntaxe chaîne de caractères
T_CONTINUEcontinue
T_CURLY_OPEN
T_DEC--opérateurs d'incrémention/décrémention
T_DECLAREdeclaredeclare
T_DEFAULTdefaultswitch
T_DIR__DIR__constantes magiques (disponible depuis PHP 5.3.0)
T_DIV_EQUAL/=opérateurs d'assignation
T_DNUMBER0.12, etc.nombres à virgule flottante
T_DOC_COMMENT/** */style de commentaire dans la PHPDoc (disponible depuis PHP 5.0.0)
T_DOdodo...while
T_DOLLAR_OPEN_CURLY_BRACES${syntaxe de variable complexe analysée
T_DOUBLE_ARROW=>syntaxe de tableau
T_DOUBLE_CAST(real), (double) ou (float)transtypage
T_DOUBLE_COLON::Voyez T_PAAMAYIM_NEKUDOTAYIM plus bas
T_ECHOechoecho()
T_ELSEelseelse
T_ELSEIFelseifelseif
T_EMPTYemptyempty()
T_ENCAPSED_AND_WHITESPACE
T_ENDDECLAREenddeclaredeclare, syntaxe alternative
T_ENDFORendforfor, syntaxe alternative
T_ENDFOREACHendforeachforeach, syntaxe alternative
T_ENDIFendifif, syntaxe alternative
T_ENDSWITCHendswitchswitch, syntaxe alternative
T_ENDWHILEendwhilewhile, syntaxe alternative
T_END_HEREDOC syntaxe heredoc
T_EVALeval()eval()
T_EXITexit or dieexit(), die()
T_EXTENDSextendsextends, classes et objets
T_FILE__FILE__constantes magiques
T_FINALfinalMot-clé "final" (disponible depuis PHP 5.0.0)
T_FORforfor
T_FOREACHforeachforeach
T_FUNCTIONfunction or cfunctionfonctions
T_FUNC_C__FUNCTION__constantes magiques (disponible depuis PHP 4.3.0)
T_GLOBALglobalscope de variable
T_GOTOgotonon documenté (disponible depuis PHP 5.3.0)
T_HALT_COMPILER__halt_compiler()__halt_compiler (disponible depuis PHP 5.1.0)
T_IFifif
T_IMPLEMENTSimplementsInterfaces (disponible depuis PHP 5.0.0)
T_INC++opérateurs d'incrémention/décrémention
T_INCLUDEinclude()include()
T_INCLUDE_ONCEinclude_once()include_once()
T_INLINE_HTML
T_INSTANCEOFinstanceofopérateurs de type (disponible depuis PHP 5.0.0)
T_INT_CAST(int) ou (integer)transtypage
T_INTERFACEinterfaceInterfaces (dipsonible depuis PHP 5.0.0)
T_ISSETisset()isset()
T_IS_EQUAL==opérateurs de comparaison
T_IS_GREATER_OR_EQUAL>=opérateurs de comparaison
T_IS_IDENTICAL===opérateurs de comparaison
T_IS_NOT_EQUAL!= ou <>opérateurs de comparaison
T_IS_NOT_IDENTICAL!==opérateurs de comparaison
T_IS_SMALLER_OR_EQUAL<=opérateurs de comparaison
T_LINE__LINE__constantes magiques
T_LISTlist()list()
T_LNUMBER123, 012, 0x1ac, etcentiers
T_LOGICAL_ANDandopérateurs logiques
T_LOGICAL_ORoropérateurs logiques
T_LOGICAL_XORxoropérateurs logiques
T_METHOD_C__METHOD__constantes magiques (disponible depuis PHP 5.0.0)
T_MINUS_EQUAL-=opérateurs d'assignation
T_ML_COMMENT/* et */commentaires (PHP 4 uniquement)
T_MOD_EQUAL%=opérateurs d'assignation
T_MUL_EQUAL*=opérateurs d'assignation
T_NS_C__NAMESPACE__namespaces. Également défini comme T_NAMESPACE (disponible depuis PHP 5.3.0)
T_NEWnewclasses et objets
T_NUM_STRING
T_OBJECT_CAST(object)transtypage
T_OBJECT_OPERATOR->classes et objets
T_OLD_FUNCTIONold_function(uniquement PHP 4)
T_OPEN_TAGsortie du mode HTML
T_OPEN_TAG_WITH_ECHOsortie du mode HTML
T_OR_EQUAL|=opérateurs d'assignation
T_PAAMAYIM_NEKUDOTAYIM::::. Définie également en tant que T_DOUBLE_COLON.
T_PLUS_EQUAL+=opérateurs d'assignation
T_PRINTprint()print()
T_PRIVATEprivateclasses et objets (disponible depuis PHP 5.0.0)
T_PUBLICpublicclasses et objets (disponible depuis PHP 5.0.0)
T_PROTECTEDprotectedclasses et objets (disponible depuis PHP 5.0.0)
T_REQUIRErequire()require()
T_REQUIRE_ONCErequire_once()require_once()
T_RETURNreturnvaleurs retournées
T_SL<<opérateurs sur les bits
T_SL_EQUAL<<=opérateurs d'assignation
T_SR>>opérateurs sur les bits
T_SR_EQUAL>>=opérateurs d'assignation
T_START_HEREDOC<<<syntaxe heredoc
T_STATICstaticscope de variable
T_STRING
T_STRING_CAST(string)transtypage
T_STRING_VARNAME
T_SWITCHswitchswitch
T_THROWthrowLes exceptions (disponible depuis PHP 5.0.0)
T_TRYtryLes exceptions (disponible depuis PHP 5.0.0)
T_UNSETunset()unset()
T_UNSET_CAST(unset)type-casting (disponible depuis PHP 5.0.0)
T_USEusenamespaces (disponible depuis PHP 5.3.0)
T_VARvarclasses et objets
T_VARIABLE$foovariables
T_WHILEwhilewhile, do...while
T_WHITESPACE
T_XOR_EQUAL^=opérateurs d'assignation
Source http://www.php.net/manual/fr/tokens.php

Libellés : , ,


Abonnement Messages [Atom]