Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos Fonctions ou astuces > Lecture du sujet

Vos Fonctions ou astuces

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  ...  75  76  77  78  79  80  81  ...  97  98  99  100  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  75  76  77  78  79  80  81  ...  97  98  99  100  Suivante
Hors ligne metalking # Posté le 02/04/2008 à 22:04:57
Knowledge is Power
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Citation : robocop
Mais c'est un truc de fou ça :
quand je test ton code Talus, firefox me propose toujours de télécharger le fichier :p .
Première fois que ça me fait ça :D .


Oubli du ?> à la fin du fichier?

Citation : robocop
Enfin, on pourrais imaginer recoder md5 en version primitive

Oui, sauf que ça n'a rien à voir avec ta fonction. md5 est un algorithme de hachage, et non pas de chiffrement. C'est une fonction à sens unique.
(je fais mon travail de maturité sur la cryptologie ^^ )
Édité le 02/04/2008 à 22:09:16 par metalking
 
Hors ligne Lion # Posté le 02/04/2008 à 22:19:50
Restpectez les Standards !
Avatar
Groupe : Membres
Bonsoir à tous.

Voici une fonction relativement pratique dont je me sert personnellement beaucoup.

Sovit est l'acronyme de Search One Value In Table, la fonction cherche une valeur dans une bdd selon un champs et jusqu'a deux critères puis retourne la valeur sous forme directement utilisable (pour affichage par echo par exemple).

Il faut connaitre le champs où est la valeur et de 1 à 2 couples champs/valeurs afin d'identifier l'entrée qui correspond à nos souhaits.

$field est le champs de la valeur de l'on veut
$table est le nom de la table
$condition1_field est le champs du premier couple champs/valeurs (de la première condition)
$condition1_value est la valeur du premier couple champs/valeurs (de la première condition)
$condition2_field est le champs du second couple champs/valeurs (de la seconde condition)
$condition2_value est la valeur du second couple champs/valeurs (de la seconde condition)


Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function sovit($field, $table, $condition1_field, $condition1_value, $condition2_field, $condition2_value)
  3. {
  4.         if( $condition2_field == '' || $condition2_value == '' )
  5.                 $infos_table = mysql_query("SELECT ".$field." FROM ".$table." WHERE ".$condition1_field."='".$condition1_value."'") or die(mysql_error());
  6.                
  7.         elseif( $condition2_field != '' && $condition2_value != '' )
  8.                 $infos_table = mysql_query("SELECT ".$field." FROM ".$table." WHERE ".$condition1_field."='".$condition1_value."' AND ".$condition2_field."='".$condition2_value."'") or die(mysql_error());
  9.  
  10.         $ordinate_infos_table = mysql_fetch_array($infos_table);
  11.  
  12.         return $ordinate_infos_table[$field];
  13. }
  14. ?>


Exemple avec la table member_list :
Image utilisateur

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. echo 'Année de naissance de René : '.sovit('birth_date', 'member_list', 'name', 'René', '', '');
  3. // affichera "Année de naissance de René : 19080216"
  4.  
  5. echo sovit('name', 'member_list', 'generation', 1, 'family', 0);
  6. // affichera  "Odette"
  7. ?>


A noter que si l'on n'a pas besoin de la seconde condition, on doit mettre '' comme argument pour le champs et la valeur.
Si jamais vous aviez un moyen d'éviter ça, je suis preneur. ;)

Amicalement, Lion ;) :)
<?php echo Setgateauauchocolat() // Miam ! ?> :euh: :lol:
Qiab-strasbourg.fr, le site du BTS QIAB du lycée Jean Rostand de Strasbourg
 
Hors ligne Artefact2 # Posté le 02/04/2008 à 22:20:29
C'est toi le bouc !
Avatar
Groupe : Membres
Citation : metalking
Oubli du ?> à la fin du fichier?


Non, je mets jamais de ?> à la fin de mes fichiers :-°
 
Hors ligne Talus # Posté le 02/04/2008 à 22:39:57
タルス
Avatar
Groupe : Membres
Citation : metalking
Citation : robocop
Mais c'est un truc de fou ça :
quand je test ton code Talus, firefox me propose toujours de télécharger le fichier :p .
Première fois que ça me fait ça :D .


Oubli du ?> à la fin du fichier?

Mmh, nan, le ?> à la fin n'est pas obligatoire (si t'as pas d'intructions non php derrière, ca va de soit...).

Et puis c'etait pour la colo ^^

Lion > Euh, c'est drolement lourd et limité ce que tu proposes là... Surtout qu'on pourrait essayer, tant qu'a faire, selectionner plusieurs champs, plusieurs conditions, etc (merci les array())...
Édité le 02/04/2008 à 22:42:15 par Talus
 
Hors ligne tsukasagenesis # Posté le 02/04/2008 à 22:46:45
Avatar
Groupe : Membres
merc pour toute ces fonctions :)
 
Hors ligne JeromeJ # Posté le 02/04/2008 à 23:42:47
Avatar
Groupe : Membres
Citation : Lion
Bonsoir à tous.

Voici une fonction relativement pratique dont je me sert personnellement beaucoup.

Sovit est l'acronyme de Search One Value In Table, la fonction cherche une valeur dans une bdd selon un champs et jusqu'a deux critères puis retourne la valeur sous forme directement utilisable (pour affichage par echo par exemple).

Il faut connaitre le champs où est la valeur et de 1 à 2 couples champs/valeurs afin d'identifier l'entrée qui correspond à nos souhaits.

$field est le champs de la valeur de l'on veut
$table est le nom de la table
$condition1_field est le champs du premier couple champs/valeurs (de la première condition)
$condition1_value est la valeur du premier couple champs/valeurs (de la première condition)
$condition2_field est le champs du second couple champs/valeurs (de la seconde condition)
$condition2_value est la valeur du second couple champs/valeurs (de la seconde condition)


Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function sovit($field, $table, $condition1_field, $condition1_value, $condition2_field, $condition2_value)
  3. {
  4.         if( $condition2_field == '' || $condition2_value == '' )
  5.                 $infos_table = mysql_query("SELECT ".$field." FROM ".$table." WHERE ".$condition1_field."='".$condition1_value."'") or die(mysql_error());
  6.                
  7.         elseif( $condition2_field != '' && $condition2_value != '' )
  8.                 $infos_table = mysql_query("SELECT ".$field." FROM ".$table." WHERE ".$condition1_field."='".$condition1_value."' AND ".$condition2_field."='".$condition2_value."'") or die(mysql_error());
  9.  
  10.         $ordinate_infos_table = mysql_fetch_array($infos_table);
  11.  
  12.         return $ordinate_infos_table[$field];
  13. }
  14. ?>


Exemple avec la table member_list :
Image utilisateur

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. echo 'Année de naissance de René : '.sovit('birth_date', 'member_list', 'name', 'René', '', '');
  3. // affichera "Année de naissance de René : 19080216"
  4.  
  5. echo sovit('name', 'member_list', 'generation', 1, 'family', 0);
  6. // affichera  "Odette"
  7. ?>


A noter que si l'on n'a pas besoin de la seconde condition, on doit mettre '' comme argument pour le champs et la valeur.
Si jamais vous aviez un moyen d'éviter ça, je suis preneur. ;)
Oulaaa fort lourd et pas très dynamique...

perso j'opte plutôt pour un truc du genre:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. // Déclaration de tout ce qui faut... :)
  3. // Du code ...
  4.  
  5. list($id) = $sql->query('SELECT ... FROM ... WHERE ...', 'row');
  6.  
  7. // Du code  ...
  8. ?>


Ma fonction query a un deuxième paramètre optionnel indiquant si une fonction comme mysql_fetch_* doit lui être directement appliquée.

Pour plus d'infos va voir dans la doc à mysql_fetch_row, mysql_fetch_assoc et list()








Secret (cliquez pour afficher)
Ce que je maitrise actuellement: XHTML, CSS, PHP, Action Script 2 et 3, JavaScript, SQL, Python, et un peu de C, C++ et d'erl
 
Hors ligne metalking # Posté le 02/04/2008 à 23:48:18
Knowledge is Power
Avatar
Groupe : Membres
Salut les gars,

J'ai créé une class pour gérer la cryptographie RSA (c'est robocop qui m'a donné l'idée ;) ).

Vous pouvez aller jeter un coup d'oeil ici si le coeur vous en dit, car j'aimerais optimiser au max mes fonctions, et vérifier si j'ai pas fait d'erreur (tant au niveau syntaxique, car je maitrise pas les class, que mathématique)

A+ et merci !
 
Hors ligne Talus # Posté le 03/04/2008 à 02:23:45
タルス
Avatar
Groupe : Membres
J'y jetterais un oeil (pour ben descendre ? Peut-être... Ou pas... :p)

Sinon Jerome, ca renvoi le premier fetch_*, ou tous ? Sinon, tu risque d'avoir des problemes... Enfin, à première vue. Facon, vaut mieux séparer requête et fetch_* :)
 
Hors ligne metalking # Posté le 03/04/2008 à 15:25:05
Knowledge is Power
Avatar
Groupe : Membres
Voila, j'ai corrigé les quelques erreurs dans la class qui permet de faire une cryptographie basique avec RSA !

Si ça intéresse quelqu'un vous pouvez trouver la source avec un exemple d'utilisation ici:

EDIT: la class a quelques soucis, je reposterai le lien plus tard

A+, et si vous voyez une amélioration à faire, n'hésitez pas ! ;)
Édité le 03/04/2008 à 15:57:49 par metalking
 
Hors ligne robocop # Posté le 03/04/2008 à 16:52:17
Avatar
Groupe : Membres
Citation : metalking

Citation : robocop
Enfin, on pourrais imaginer recoder md5 en version primitive

Oui, sauf que ça n'a rien à voir avec ta fonction. md5 est un algorithme de hachage, et non pas de chiffrement. C'est une fonction à sens unique.
(je fais mon travail de maturité sur la cryptologie ^^ )


Bien si, je pense que si : on n'encodant plus les espaces, on convertit la chaîne qui n'est composé que de chiffres en nombre.
Ensuite, on le divise, on la multiplie par Pi et et la met au carré : à chaque fois, ce ne sont que des arrondis, donc, on perd des informations, et c'est le principe du hashing.
 
Hors ligne Talus # Posté le 03/04/2008 à 17:46:24
タルス
Avatar
Groupe : Membres
Nan, le md5 est plus complexe... Y'a une affaire aussi de décalages de bits, etc.

Regarde "Kevin Van Zonneveld", il donne les algo de hashage de md5 et sha1 je crois (pour JS, imitation de ce que fait PHP)...
 
Hors ligne robocop # Posté le 03/04/2008 à 17:54:15
Avatar
Groupe : Membres
A oui, c'est plus complexe :p .
Mais le principe est bien la : il faut perdre de l'information quelque part.
 
Hors ligne MmeWood # Posté le 04/04/2008 à 03:58:52
Peace & Love ^^
Avatar
Groupe : Membres
Système d'archivage par mois pour l'année en cours et année pour les années précédentes

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function nom_mois($mois) // Fonction transformant le chiffre du mois par son nom correspondant
  3. {
  4.      $nom_mois = array(1=>"Janvier","Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
  5.      return $nom_mois[$mois];
  6. }
  7.  
  8. $a = date('Y'); // Année courante
  9. $m = date('n'); // Mois courant
  10. $i = YYYY; // Date limite en arrière jusqu'à laquelle le script peut remonter afin de ne pas boucler à l'infini
  11. echo '<ul>';
  12. while ($i <= $a) // Boucle des années
  13. {
  14.      echo '<li>'.$a.'<li>';
  15.      echo '<ul>';
  16.      while (0 < $m && $m < 13) // Boucle des mois
  17.      {
  18.           echo '<li>'.nom_mois($m).'</li>';
  19.           $m--; // On décrémente le mois de 1
  20.      }
  21.      $a--; // On décrémente l'année de 1
  22.      echo '</ul>';
  23. }
  24. echo '</ul>';
  25. ?>

Citation : Supposons la date du 22 Juin 2010
  • 2010
    • Juin
    • Mai
    • Avril
    • Mars
    • Février
    • Janvier
  • 2009
  • 2008
  • Etc...
  • YYYY = Contenu de $i
Édité le 04/04/2008 à 05:11:54 par MmeWood
Hors ligne Talus # Posté le 04/04/2008 à 11:35:22
タルス
Avatar
Groupe : Membres
Mmh, mouais, regarde, on peut mieux faire :

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function archives($limite){
  3.     $months = array('Janvier','Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
  4.  
  5.     $cur = array('month' => date('n') - 1, 'year' => date('Y'));
  6.  
  7.     $str = '<ul>';
  8.  
  9.     for ($i = $cur['year']; $i >= $limite; $i--){
  10.         $str .= '<li>' . $i . '<ul>';
  11.        
  12.         foreach ($months as $key => $mois){
  13.             if ($i == $cur['year'] && $key > $cur['month']) {
  14.                 break;
  15.             }
  16.  
  17.             $str .= '<li>' . $mois . '</li>';
  18.         }
  19.    
  20.         $str .= '</ul></li>';
  21.     }
  22.  
  23.     return $str . '</ul>';
  24. }
  25.  
  26. echo archives(2004);
Édité le 04/04/2008 à 18:13:09 par Talus
 
Hors ligne MmeWood # Posté le 04/04/2008 à 14:07:17
Peace & Love ^^
Avatar
Groupe : Membres
Pourquoi ce serait mieux ?
En plus j'ai essayé ton code, il marche pas. :(
Édité le 04/04/2008 à 14:38:50 par MmeWood
Hors ligne Talus # Posté le 04/04/2008 à 18:12:46
タルス
Avatar
Groupe : Membres
Woups, je me suis trompé d'indice pour la limite des années ; c'est corrigé. Le matin :p

Sinon, il est mieux sur plusieurs points. Déjà, une fonction, réutilisable (alors que ton machin pour avoir la date textuelle... strftime() + set_locale() !)

Ensuite, pas très optimisé (d'ou vient ce $m ? Il est pas regénéré à chaque fois ; de même, visiblement, tous les mois de l'année en cours sont affichés... Alors qu'il faudrait que ce soit que les mois jusque maintenant !)



Édité le 04/04/2008 à 18:16:12 par Talus
 
Hors ligne MmeWood # Posté le 04/04/2008 à 20:05:47
Peace & Love ^^
Avatar
Groupe : Membres
Déjà si tu regardes bien mon code, tu verras que $m = date('n');
Ensuite, non non pas du tout, regarde le rendu que ça donne ... Ca n'affiche que les mois passé, le mois courant inclue.
Ensuite, ton code ne fait absolument pas la même chose que le mien.

Supposons la même date pour les 2 script, admettons que nous sommes le 22 juin 2010 toujours et 2008 en date limite,

Citation : Avec mon code j'obtiens

  • 2010
    • Juin
    • Mai
    • Avril
    • Mars
    • Février
    • Janvier
  • 2009
  • 2008


Citation : Avec ton code j'obtiens

  • 2010
    • Janvier
    • Février
    • Mars
    • Avril
    • Mai
    • Juin
  • 2009
    • Janvier
    • Février
    • Mars
    • Avril
    • Mai
    • Juin
    • Juillet
    • Aout
    • Septembre
    • Octobre
    • Novembre
    • Decembre
  • 2008
    • Janvier
    • Février
    • Mars
    • Avril
    • Mai
    • Juin
    • Juillet
    • Aout
    • Septembre
    • Octobre
    • Novembre
    • Decembre


Donc ce n'est pas du tout la même chose et ton script ne fait pas ce que je veux.
Donc je vais garder mon code pour l'instant. Sauf s'il est possible d'améliorer évidemment tout en respectant le rendu voulu !
Édité le 04/04/2008 à 20:27:38 par MmeWood
Hors ligne Talus # Posté le 04/04/2008 à 21:13:32
タルス
Avatar
Groupe : Membres
Citation : Mme Wood
Déjà si tu regardes bien mon code, tu verras que $m = date('n');
Ensuite, non non pas du tout, regarde le rendu que ça donne ... Ca n'affiche que les mois passé, le mois courant inclue.


Ca te sert à quoi de fair eune bocle while sur $m, si tu le redéfinis pas alors ? :-°

Si tu ne veux que l'année courante, autant faire une condition bete et méchante, ce sera plus simple...
 
Hors ligne MmeWood # Posté le 04/04/2008 à 21:15:45
Peace & Love ^^
Avatar
Groupe : Membres
J'ai l'impression que t'as pas compris mon système et ce qu'il est sensé renvoyer :o
Hors ligne Talus # Posté le 04/04/2008 à 23:15:59
タルス
Avatar
Groupe : Membres
Citation : Talus
Mmh, mouais, regarde, on peut mieux faire :

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function archives($limite){
  3.     $months = arry_reverse(array('Janvier','Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'), true);
  4.  
  5.     $cur = array('month' => date('n') - 1, 'year' => date('Y'));
  6.  
  7.     $str = '<ul>';
  8.  
  9.     for ($i = $cur['year']; $i >= $limite; $i--){
  10.         $str .= '<li>' . $i;
  11.  
  12.         if ($i == $cur['year']){       
  13.             foreach ($months as $key => $mois){
  14.                 if ($key > $cur['month']) {
  15.                     continue;
  16.                 }
  17.  
  18.                 $str .= '<li>' . $mois . '</li>';
  19.             }
  20.            
  21.             $str .= '</ul>';
  22.         }
  23.    
  24.         $str .= '</li>';
  25.     }
  26.  
  27.     return $str . '</ul>';
  28. }
  29.  
  30. echo archives(2004);


Ben comme ca alors... :)

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function archives($limite){
  3.     $months = array_reverse(array('Janvier','Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'), true);
  4.    
  5.     $cur = array('month' => date('n') - 1, 'year' => date('Y'));
  6.    
  7.     $str = '<ul>';
  8.    
  9.     for ($i = $cur['year']; $i >= $limite; $i--){
  10.         $str .= '<li>' . $i;
  11.        
  12.         if ($i == $cur['year']){
  13.             foreach ($months as $key => $mois){
  14.                 if ($key > $cur['month']) {
  15.                     continue;
  16.                 }
  17.                
  18.                 $str .= '<li>' . $mois . '</li>';
  19.             }
  20.            
  21.             $str .= '</ul>';
  22.         }
  23.        
  24.         $str .= '</li>';
  25.     }
  26.    
  27.     return $str . '</ul>';
  28. }
  29.  
  30. echo archives(2004);
 
Hors ligne IgiX # Posté le 05/04/2008 à 12:01:07
Qui tente rien, n'a rien!
Avatar
Groupe : Membres
verifier une date de naissance type xx/xx/xxxx, on peut aussi recuperer mle timestamp facilement, le gros du taf est faisCode : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $date = '01/02/1990';
  3. if(preg_match("#^[0-9]{2}/[0-9]{2}/[0-9]{4}$#", $date))
  4. {
  5.         $arr_date = explode("/", $date);
  6.         if(checkdate($arr_date['1'], $arr_date['0'], $arr_date['2']))
  7.         echo 'ok';
  8.        
  9.         else
  10.         echo 'Erreur';
  11. }
  12. else
  13. {
  14.         echo 'Erreur';
  15. }
  16. //
  17. function verif_naissance($date)
  18. {
  19.  
  20.         if(preg_match("#^[0-9]{2}/[0-9]{2}/[0-9]{4}$#", $date))
  21.         {
  22.                 $arr_date = explode("/", $date);
  23.                 if(checkdate($arr_date['1'], $arr_date['0'], $arr_date['2']))
  24.                 $valeur = TRUE;
  25.                
  26.                 else
  27.                 $valeur = FALSE;
  28.         }
  29.         else
  30.         {
  31.                 $valeur = FALSE;
  32.         }
  33.         return $valeur;
  34. }
  35. if(verif_naissance('25/89/1999')
  36. {
  37. //instruction
  38. }

Amicalement IgiX
 
Hors ligne TimeSplitters # Posté le 05/04/2008 à 12:20:09
Avatar
Groupe : Membres
Une fonction de sécurité (je ne sais pas si une similaire a déjà été proposée).
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function secure($str, $type='')
  3. {
  4.         if(get_magic_quotes_gpc())
  5.         {
  6.                 if(ini_get('magic_quotes_sybase')) $var = str_replace("''", "'", $str);
  7.                 else $var = stripslashes($str);
  8.         }
  9.         else $var = $str;
  10.        
  11.         // Si on veut sécuriser les champs lors d'une requête (INSERT, UPDATE, ...)
  12.         if($type == 'bdd') return mysql_real_escape_string($var);
  13.         else return htmlentities($var);
  14. }
  15. ?>


Le jour, l'heure et la seconde du dernier post d'un topic, forum, etc.
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function last_post($str) // $str est en fait la valeur en Timestamp du post
  3. {
  4. return strftime('%A %e %B %Y à %HH%M', $str); // Voir la Doc pour des renseignements sur les valeurs possibles
  5. }
  6. ?>


Deux fonctions très pratiques: digit() pour vérifier que des valeurs sont numériques et empty_() pour vérifier qu'un string n'est pas vide.
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. function digit()
  3. {
  4. $bool = false;
  5. $args = func_get_args();
  6.         foreach($args as $var)
  7.         {
  8.         $var = trim($var);
  9.                 if(ctype_digit($var))
  10.                 $bool = true;
  11.         }
  12. return $bool;
  13. }
  14.  
  15. function empty_()
  16. {
  17. $bool = false;
  18. $args = func_get_args();
  19.         foreach($args as $var)
  20.         {
  21.         $var = trim($var);
  22.                 if(empty($var))
  23.                 $bool = true;
  24.         }
  25. return $bool;
  26. }
  27. ?>

Ce qui est très pratique dans ces fonctions, c'est qu'on peut les utiliser pour plusieurs variables en même temps:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(!empty_($_POST['nom'], $_POST['prenom'], $_POST['message'])) // Vérifie qu'aucun champ est vide. Retourne false si un des champs est vide.
  3. ?>

Pareil pour digit() ;)

 
Hors ligne shine-neko # Posté le 05/04/2008 à 12:35:25
Saite ita no wa My Rosy Heart
Avatar
Groupe : Membres
Pourquoi tu recode empty toi o_O

La v3 de Shine-Shiina est sortit
Qui n'a jamais rêver d'apprendre a dessiner , Cuisiné japonnais dévorer de nouveaux manga fait par des copains et d'apprendre le japonais ?
=> La réponse se trouve ici
Image utilisateur

 
Hors ligne MmeWood # Posté le 05/04/2008 à 12:45:53
Peace & Love ^^
Avatar
Groupe : Membres
Sa fonction peut servir quand on a pas mal de vérification à faire avec ...
Parce que contrairement au isset, il n'est pas possible de mettre plusieurs variable dans un empty.

Pour reprendre son code, en utilisant le empty normal il faudrait faire
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if(!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['message']))
  3. ?>



Sinon Talus >> Ok là ça fait bien ce que je veux. Mais alors hormis le fait que c'est une fonction entière qui peut être réutiliser à volonté, ce dont je n'ai pas besoin en passant, pourquoi ce serait mieux ?
Mon code fonctionne comme je veux. Ensuite j'ai pas compris ta question sur la variable $m elle est plus qu'utile dans mon code mais bon...
Édité le 05/04/2008 à 12:54:06 par MmeWood
Hors ligne shine-neko # Posté le 05/04/2008 à 12:49:24
Saite ita no wa My Rosy Heart
Avatar
Groupe : Membres
Ah tiens j'avais pas remarquer qu'il traiter plusieurs variable en même temps
m'en fin j'aime pas

La v3 de Shine-Shiina est sortit
Qui n'a jamais rêver d'apprendre a dessiner , Cuisiné japonnais dévorer de nouveaux manga fait par des copains et d'apprendre le japonais ?
=> La réponse se trouve ici
Image utilisateur

 
Hors ligne TimeSplitters # Posté le 05/04/2008 à 13:19:40
Avatar
Groupe : Membres
Non seulement empty_() traite plusieurs variables, mais aussi, contrairement au simple empty(), elle vérifie qu'il n'y a aucun caractère blanc en début et fin de chaîne (trim()) et donc c'est beaucoup plus précis ;)

Edit: http://www.geneweb.fr/Billet/Bien-utiliser-empty-0014/
Édité le 05/04/2008 à 13:22:14 par TimeSplitters
 
Hors ligne anonyme # Posté le 05/04/2008 à 13:25:28
Groupe :
Sauf que comme ceci, si ta variable n'existe pas, tu auras une jolie petite erreur alors que empty() ne génère pas d'erreur dans ce cas.
Hors ligne TimeSplitters # Posté le 05/04/2008 à 13:41:07
Avatar
Groupe : Membres
Bah le principe de cette fonction c'est justement de détecter une variable vide et de me le dire. Je vois pas l'intérêt de cacher des erreurs...

Edit: En fait, j'ai même pas de message d'erreur... Ca retourne false si erreur, c'est tout.
Édité le 05/04/2008 à 13:42:36 par TimeSplitters
 
Hors ligne anonyme # Posté le 05/04/2008 à 13:43:55
Groupe :
empty() ne fait pas que vérifier si la variable est "vide", elle vérifie aussi si elle est déclarée.
On devra donc se coltiner un isset() sur toutes les variables avant d'utiliser ta fonction, c'est un peu long à écrire et inutile.
Mets ton error_reporting à E_ALL et tu les verras les erreurs.
Hors ligne Jeremie78 # Posté le 05/04/2008 à 14:45:44
Powered by GNU/Linux
Groupe : Membres
Haku > on peut vouloir traiter séparément la déclaration et le fait que la variable soit NULL ! En plus, la fonction 'trim' est appliquée, personnellement, je trouve cette fonction plutôt utile.

Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ...
 
Hors ligne Tracker # Posté le 05/04/2008 à 14:52:21
Avatar
Groupe : Membres
Tu fais effectivement comme tu l'entends, mais si l'utilisateur a entré un espace ou plusieurs comment peux-tu systématiser leurs suppressions, ou plus clairement d'où t'accordes-tu le droit de modifier le contenu d'un texte soumis par un tier ?

Si tu ne veux pas d'espace, tu dois donner une règle de contrôle à l'utilisateur et lui remonter une erreur en cas de format invalide.


Tracker.
Édité le 05/04/2008 à 14:53:11 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 90 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.1445s (0.1245s)