{{ informatique:php.png?100}} ====== PHP ====== ==== Manuel de PHP ==== [[http://fr.php.net/manual/fr/]] ==== Afficher une phrase ou une image ==== Afficher //Mon nom est Martin// ou Afficher //Mon nom est $nom// ==== Afficher la date et l'heure ==== Pour afficher //Nous sommes le 06-06-2007 et il est 17:09//: ==== Afficher le resultat d'un calcul ==== Faire 2x5 pour afficher 10: ==== Récupérer les valeurs dans un formulaire ==== La page d'identification doit se présenter ainsi:
Nom :
Prenom :
Password :
La page //verif.php// doit se présenter ainsi: Bonjour $prenom $nom"); print("
Votre mot de passe est $password
"); ?> ==== Vérification de valeurs ==== === Vérifier un url dans un formulaire === Le formulaire doit se présenter ainsi:
Titre :
URL :
La page //verif.php// doit se présenter ainsi: Le 'Titre' est vide !"); exit(); } // Conversion de l'url en minuscule $verif_url = strtolower($url); // Recupereration des 7 premiers caracteres $verif_url = substr("$verif_url", 0, 7); // Verification des 7 premiers caractères if ($verif_url!="http://") { print("L'URL doit commencer par http://"); exit(); } else { print("$titre : $url"); } ?> === Vérifier une adresse email dans un formulaire === Le formulaire doit se présenter ainsi:
Votre email :
La page //verif.php// doit se présenter ainsi: point"; } elseif($aroba=='') { echo "Votre email doit comporter un '@'"; } else { echo "Votre email est: '$email'"; } ?> ==== Structure de contrôle ==== Voici un petit tableau bien utile sur les instructions les plus utilisées: | if | Si | | else | Autrement | | elseif | Autrement Si | | switch | selon | | while | Chaque fois que (boucle) | | for | Tant que (boucle) | | == | Strictement égal à | | != | Différent de | | < | Plus petit que | | > | Plus grand que | | <= | Plus petit ou égal | | >= | Plus grand ou égal | | and ou && | Et | | or ou ll | Ou | === if / else / elseif === Pour illustrer les **if**, **else** et **elseif**, voici un exemple très simple à lire, nous définissons une variable à la valeur ' 512 ' puis nous allons tester si celle-ci est comprise entre 0 et 499 puis entre 500 et 999 et enfin supérieure à 999, ce qui nous donne : =0 && $toto<500) //1er { echo $toto.' est compris entre 0 et 499'; } elseif($toto>=500 && $toto<1000) //2eme { echo $toto.' est compris entre 500 et 999'; } else //3eme { echo $toto.' est plus grand que 999'; } ?> === switch === Cependant vous vous apercevez que cette structure est un peu lourde, et pas forcement facile à lire. Utiliser un switch permet de résoudre ce probleme. Le code suivant est exactement le même que le précédent, mais ecrit avec un **switch**: === While === Passons maintenant à la fameuse boucle while, je dis "fameuse" car elle est sujette à de petites galères quand on l'utilise pour la première fois. Nous allons reprendre notre variable $toto à laquelle nous allons donner la valeur 6, puis à l'aide de la boucle nous allons nous mettre dans le cas où nous ne connaissons pas la valeur de $toto et allons la rechercher. Ce qui donne : '; $i++; // $i++ est equivalent a$i+1) } //------------[FIN BOUCLE]------------ echo 'Toto est egale a '.$i; ?> === For === Nous allons maintenant voir les boucle for. Elles permettent de realiser la même chose que les boucles while, encore une fois c'est la syntaxe qui change. Au lieu de déclarer le compteur avant le debut de la boucle ($i=0;) et a chaque fin de tour d'incrementer le compteur ($i++), on le fait directement dans la déclaration de la boucle. Voici le meme code que précédemment avec une boucle for : '; } //------------[FIN BOUCLE]------------ echo 'Toto est egale '.$i; ?> ==== Ecrire et Lire dans un fichier ==== === Lecture d'un fichier === === Ecriture d'un fichier === Revenons à la première ligne. La commande " r " indique que l'on ouvre le fichier uniquement en lecture seule. Nous allons voir ci-dessous que pour l'ouvrir en lecture/écriture, il suffit de mettre " r+ ". Concernant la seconde fonction fgets(), on spécifie le nombre de caractères que l'on veut lire dans le fichier (255). Dans notre cas nous aurions très bien pu mettre ($fp,4); puisque 1523 ne comporte que 4 caractères = logique. Ceci dit, le fait de mettre systématiquement 255 n'engendre pas de problème dans notre cas, sachez tout de même que 255 est le nombre maximum de caractères par ligne, le 256e passera à la ligne automatiquement à l'affichage. :!: Attention le fichier compteur.txt ne doit pas contenir de retour chariot ==== Quelques fonctions utiles ==== ^ Fonction ^ Description ^ Code PHP ^ Rés. ^ | addslashes() | Ajoute des anti-slashes devant les caractères spéciaux | $res = addslashes("L'a"); | L\'a | | stripslashes() | Retire les anti-slashes devant les caractères spéciaux. | $res = stripslashes("L\'a"); | L'a | | dechex() | Retourne la valeur hexadécimale d'un nombre (ici 2548). | $res = dechex("2548"); | 9f4 | | ceil() | Retourne le nombre entier supérieur ( utiliser floor() pour le nombre entier inférieur et round() pour le nombre entier le plus proche). | $res = ceil("12.1"); * | 13 | | chunk_split() | Permet de scinder une chaîne en plusieurs morceaux. | $res = chunk_split("DGDFEF","2","-"); | DG-DF-EF- | | htmlentities() | Remplace les caractères par leur équivalent HTML (si ils existent). | $res = htmlentities("&"); | & | | strstr() | Recherche le premier caractère 'p' dans la chaîne et affiche le reste de la chaîne y compris le 'p'. | $res = strstr ("webmaster@phpdebutant.org", "p"); | phpdebutant.org | | strlen() | Retourne la longueur de la chaîne | $res = strlen("lachainedecaracteres"); | 20 | | strtolower() | Passe tous les caractères en minuscules. | $res = strtolower("LA CHAINE dE caRActERes"); | la chaine de caracteres | | strtoupper() | Passe tous les caractères en MAJUSCULES. | $res = strtoupper("LA CHAINE dE caRActERes"); | LA CHAINE DE CARACTERES | | str_replace() | Remplace un caractère par un autre dans une chaîne. Tiens compte de la casse. | $res = str_replace("a","o","Lalala"); | Lololo | | trim() | Efface les espaces blancs (\n, \r, etc) au début et à la fin d'une chaîne (pas au milieu). | $res = trim(" Salut le monde "); | Salut le monde | | ucfirst() | Met la première lettre de chaque chaîne en Majuscule. | $res = ucfirst("salut le monde. ca va ?"); | Salut le monde. ca va ? | | ucwords() | Met la première lettre de chaque mot d'une chaîne en Majuscule. | $res = ucwords("salut le monde"); | Salut Le Monde | | strpos() | Recherche la position du premier caractères trouvé. Retourne le nombre de caractères placés avant lui (ici 4). | $res = strpos("abcdef","e"); | 4 | | ereg() | Recherche si une chaîne de caractère est contenue dans une autre (ex. recherche si "ABCDE" contient "BCD"). | if(ereg("BCD","ABCDEF")) | oui | | | | {echo "oui";} else {echo "non";} | |