Auteur : doof
| Version : 16/01/2006 | | |
| |
$instance
$instance ->get
$instance ->get
$instance ->get
$instance ->get
class Alternate
{
@var array
var $ item_list ;
@var int
var $ item_nbr ;
@var int
var $ item ;
@var int
var $ mode ;
@var int
var $ lastitem = 0 ;
0 1
@var int
var $ ping_mode = 0 ;
function alternate()
{
$this ->item_nbr = func_num_args()- 1 ;
if ($this ->item_nbr = = 0 ) {
if (is_array(func_get_arg(0 ))) {
$ index = 0 ;
$ tab = func_get_arg(0 );
ksort($ tab );
foreach ($ tab as $ val ) {
$this ->item_list [ $ index + + ] = $ val ;
}
$this ->item_nbr = sizeof($this ->item_list )- 1 ;
} else {
$this ->item_list [ 0 ] = func_get_arg(0 );
}
} else {
$this ->item_list = func_get_args();
}
$this ->set_mode (0 );
$this ->lastitem = $this ->item_list [ 0 ] ;
}
@param int $ mode 0 1 2
@param boolean $ init TRUE
function set_mode($ mode , $ init = TRUE )
{
if ($ init = = TRUE ) {
$this ->init ();
$this ->mode = $ mode ;
} else {
$this ->item = $this ->lastitem ;
$this ->mode = $ mode ;
$this ->push ();
}
}
function push()
{
if ($this ->item_nbr > 0 ) {
$this ->lastitem = $this ->item ;
switch ($this ->mode ) {
case 0 :
($this ->item < $this ->item_nbr ) ? $this ->item + + : $this ->init ();
break ;
case 1 :
if ($this ->ping_mode = = 0 ) {
($this ->item < $this ->item_nbr ) ? ($this ->item + + ) : ($this ->ping_mode = 1 );
}
if ($this ->ping_mode = = 1 ) {
($this ->item > 0 ) ? ($this ->item - - ) : ($this ->item + + + $this ->ping_mode = 0 );
}
break ;
case 2 :
$this ->item = mt_rand(0 , $this ->item_nbr );
break ;
}
}
}
@param string $ value
@param int $ offset FALSE
function add($ value , $ offset = FALSE )
{
if (is_int($ offset ) & & $ offset > = 0 & & $ offset < = $this ->item_nbr ) {
array_splice($this ->item_list , $ offset , 0 , $ value );
} else {
$this ->item_list [ ] = $ value ;
}
$this ->item_nbr + + ;
}
@param boolean $ push TRUE
@return string
function get($ push = TRUE )
{
$ return = $this ->item_list [ $this ->item ] ;
$ push = = TRUE ? $this ->push () : FALSE ;
return $ return ;
}
function init ()
{
$this ->item = 0 ;
}
}
|
Exemple d'utilisation
$bgcolor = new Alternate(' #44aa44 ' , ' #ffff77 ' , ' #ee4444 ' );
$bgcolor ->set_mode (1 );
$align = new alternate(' left ' , ' center ' , ' right ' );
$align ->set_mode (1 );
echo ' <table border="0" width="150"> ' . " \n " ;
for ($ i = 0 ; $ i < = 10 ; $ i + + ) {
echo " \t " . ' <tr><td bgcolor=" ' . $bgcolor ->get ( FALSE ). ' " align=" ' . $align ->get (). ' "> ' . $bgcolor ->get (). ' </td></tr> ' . " \n " ;
}
echo ' </table> ' ;
|
|
| |
Paramètre de la fonction : $date_naissance (La date de naissance de la personne au format jj/mm/aaaa).
Calcul de l'age d'une personne | function donne_age($ date_naissance ) {
$ date_encours = date(" d / m / Y " );
$ array1 = explode(" / " , $ date_naissance );
$ array2 = explode(" / " , $ date_encours );
if (($ array1 [ 1] < = $ array2 [ 1] ) & & ($ array1 [ 0] < = $ array2 [ 0] )) {
$ age = $ array2 [ 2] - $ array1 [ 2] ;
} else {
$ age = $ array2 [ 2] - $ array1 [ 2] - 1;
}
echo $ age . " ans " ;
}
donne_age(" 18 / 02 / 1981 " );
|
|
| | La petite fonction ci-dessous le réalise mais offre quelques options qui ne sont pas dépourvues d'intérêt :
- Choix de la longueur du mot de passe (8 par défaut)
- Choix du type de lettres (majuscules ou minuscules)
- Possibilité d'épeler le mot de passe (désactivé par défaut)
<?
function mkpassword($ len = 8 , $ min = true , $ spell = false ) {
$ ok_chars = Array (" 0 " , " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " , " 9 " , " Alpha " , " Bravo " , " Charlie " , " Delta " ,
" Echo " , " Foxtrot " , " Golf " , " Hotel " , " India " , " Juliet " , " Kilo " , " Lima " , " Mike " , " November " , " Oscar " ,
" Papa " , " Quebec " , " Romeo " , " Sierra " , " Tango " , " Uniform " , " Victor " , " Whisky " , " X - ray " , " Yankee " , " Zulu " );
$ password [ " string " ] = " " ;
$ password [ " litteral " ] = " " ;
for ($ i = 0 ; $ i < $ len ; $ i ) {
$ val = rand(0 , count($ ok_chars ) - 1 );
$ password [ " string " ] . = $ ok_chars [ $ val ] { 0 } ;
$ password [ " litteral " ] . = $ ok_chars [ $ val ] . " " ;
}
if ($ min = = true )
$ password [ " string " ] = strtolower($ password [ " string " ] );
$ password [ " litteral " ] = trim($ password [ " litteral " ] );
if ($ spell = = true ) {
return $ password ;
} else {
return $ password [ " string " ] ;
}
}
?>
|
La fonction peut être appelée de quatres manières différentes et renverra deux types de données :
$ mypass = mkpassword();
$ mypass = mkpassword(16);
$ mypass = mkpassword(8, false );
$ mypass = mkpassword(8, true , true );
echo $ mypass [ " string " ] . " = > " . $ mypass [ " litteral " ] ;
|
|
Auteur : Swoög
| Version : 03/07/2006 | | |
| | Cette fonction permet aussi de choisir le séparateur et ajoute une possibilité de condiérer la première ligne comme en-tête... function parse_csv($ file , $ head = false , $ sep = ' ; ' )
{
$ content = file($ file );
$ headers = NULL ;
if ($ head )
{
$ headers = array_shift($ content );
$ headers = explode($ sep , $ headers );
}
foreach ($ content as $ k = > $ v )
{
$ content [ $ k ] = explode($ sep , $ v );
if ($ head ) foreach ($ content [ $ k ] as $ num_col = > $ value )
$ content [ $ k ] [ $ headers [ $ num_col ] ] = $ value ;
}
return $ content ;
}
|
|
| | Récupération rapide des variables |
@param $ param
@param $ nom_var
@param $ defaut_val
@return
function recup_var($ param , $ nom_var , $ defaut_val )
{
switch ($ param )
{
case ' get ' :
if (isset ($ _GET [ $ nom_var ] )) $ res = $ _GET [ $ nom_var ] ; else $ res = $ defaut_val ; break ;
case ' post ' :
if (isset ($ _POST [ $ nom_var ] )) $ res = $ _POST [ $ nom_var ] ; else $ res = $ defaut_val ; break ;
case ' session ' :
if (isset ($ _SESSION [ $ nom_var ] )) $ res = $ _SESSION [ $ nom_var ] ; else $ res = $ defaut_val ; break ;
case ' cookie ' :
if (isset ($ _COOKIE [ $ nom_var ] )) $ res = $ _COOKIE [ $ nom_var ] ; else $ res = $ defaut_val ; break ;
}
return $ res ;
}
|
|
| | Supposons d'abord que vous avez une base de donnée avec une table pour vos pages (nommons la PAGES, parfaitement au hasard).
Supposons ensuite que dans cette table, vous avez un champ Id_page (identifiant de la page en cours, un auto increment fera très bien l'affaire), un autre appelé Id_parent (l'ID de la page parent, le N+1 dans l'organigramme), et un champ Titre (contenant le titre de votre page).
La seule règle imposée sera que l'Id_parent de la page racine sera 0.
Nous pouvons à présent passer au code : function recur_chemin($ idpage ) {
$ chemin_complet = " " ;
if ($ idpage ! = 0) {
$ strSQL = " SELECT * FROM PAGES WHERE Id_page = " . $ idpage ;
$ resultat = requete_SQL($ strSQL );
$ tabl_result = mysql_fetch_array($ resultat );
$ titrepage = $ tabl_result [ ' Titre ' ] ;
$ idparent = $ tabl_result [ ' Id_parent ' ] ;
$ chemin_page_en_cours = " - > < a href = \ " index . php ? id_p = " . $ idpage . " \ " > " . $ titrepage . " < / a > " ;
$ chemin_complet = recur_chemin($ idparent ). $ chemin_page_en_cours ;
}
return $ chemin_complet ;
}
|
Il nous suffit maintenant d'appeler cette fonction à l'endroit indiqué comme suit : $ chemin_de_fer = recur_chemin($ id_de_la_page_en_cours );
echo $ chemin_de_fer ;
|
|
| | En reprenant la même structure de base que précédement, nous allons maintenant générer un plan du site sous forme de listes imbriquées, qui se mettra à jour tout seul dès que la base sera modifiée :
function affiche_plan_site($ id_page ) {
$ strSQL = " SELECT * FROM PAGES WHERE id_parent = " . $ id_page ;
$ resultat = requete_SQL($ strSQL );
if (mysql_affected_rows() ! = 0) {
echo " < ul > \n " ;
while ($ tabl_result = mysql_fetch_array($ resultat )) {
echo " < li > \n " ;
echo " < a href = \ " index . php ? id_p = " . $ tabl_result [ ' Id_page ' ] . " \ " > " ;
echo $ tabl_result [ ' Titre_ ' ] ;
echo " < / a > \n " ;
affiche_plan_site($ tabl_result [ ' Id_page ' ] );
echo " < / li > \n " ;
}
echo " < / ul > \n " ;
}
}
|
|
| |
-
Vous devez créer une table dans votre base de données
CREATE TABLE livre (
codelivre int (11 ) NOT NULL auto_increment,
message blob ,
expediteur varchar (100 ),
date date ,
PRIMARY KEY (codelivre)
);
|
-
Vous pouvez ajouter des champs (e-mail, nom, prénom...)
- Vous devez changer les paramètres de connexion à votre base dans le fichier 'connexion.php'.
- Adaptez le code du livre d'or au design de votre site. Le fichier 'livre.php' contient le code pour lire les messages du livre d'or. Le fichier 'ecriture.php' permet l'écriture de messages.
|
Consultez les autres pages sources
|
|