Outils pour utilisateurs

Outils du site


informatique:programmation:php-old

PHP

Manuel de PHP

Afficher une phrase ou une image

Afficher Mon nom est Martin

<? 
$nom = "Martin"; 
echo "Mon nom est $nom"; 
?>

ou

<? 
$nom = "Martin"; 
// affichage avec des simple quote
echo 'Mon nom est '.$nom; 
?>  

Afficher Mon nom est $nom

<? 
$nom = "Martin"; 
// affichage avec des simple quote
echo 'Mon nom est $nom'; 
?>

Afficher la date et l'heure

Pour afficher Nous sommes le 06-06-2007 et il est 17:09:

<?
$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");
?>

Afficher le resultat d'un calcul

Faire 2×5 pour afficher 10:

<?
$number="5";
echo $number*2\n;
?>

Récupérer les valeurs dans un formulaire

La page d'identification doit se présenter ainsi:

<html>
 <body>
  <form method="post" action="verif.php">
    Nom : <input type="text" name="nom" size="12"><br>
    Prenom : <input type="text" name="prenom" size="12"><br>
    Password : <input type="password" name="password" size="12">
    <input type="submit" value="OK">
  </form>
 </body>
</html>

La page verif.php doit se présenter ainsi:

<?php
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$password = $_POST['password'];
print("<center>Bonjour $prenom $nom</center>");
print("<center>Votre mot de passe est $password</center>");
?>

Vérification de valeurs

Vérifier un url dans un formulaire

Le formulaire doit se présenter ainsi:

<html>
 <body>
  <form method="post" action="verif.php">
  Titre : <input type="text" name="titre" size="12"><br>
  URL : <input type="text" name="url" size="12" value="http://">
  <input type="submit" value="OK">
  </form>
 </body>
</html>

La page verif.php doit se présenter ainsi:

<?php
$titre = $_POST['titre'];
$url = $_POST['url'];
if(empty($titre))
{
print("<center>Le '<b>Titre</b>' est vide !</center>");
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 <b>http://</b>");
exit();
}
else
{
print("$titre : <a href=\"$url\">$url</a>");
}
?>

Vérifier une adresse email dans un formulaire

Le formulaire doit se présenter ainsi:

<html>
 <body>
  <form method="post" action="verif.php">
  Votre email : <input type="text" name="email" size="20">
  <input type="submit" value="OK">
  </form>
 </body>
</html>

La page verif.php doit se présenter ainsi:

<?php
$email = $_POST['email'];
$point = strpos($email,".");
$aroba = strpos($email,"@");
if($point=='')
{
echo "Votre email doit comporter un <b>point</b>";
}
elseif($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b>";
}
else
{
echo "Votre email est: '<a href=\"mailto:"."$email"."\"><b>$email</b></a>'";
}
?>

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 :

<?
$toto = 512;
// on enchaîne les contrôles ci-dessous ----
if($toto>=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:

<?
$medor = 'chien';
switch($medor)
    {
    case 'girafe':
        echo 'Medor est un girafe !';
        break;
    case 'elephant':
        echo 'Medor est un elephant';
        break;
    case 'souris':
        echo 'Medor est une souris';
        break;
    case 'chien':
        echo 'Medor est un chien';
        break;
    case 'chat':
        echo 'Medor est un chat';
        break;
    default:
        echo 'Peut etre un hippopotame ? Qui sait ...';
    }
?>

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 :

<?
$toto = 6;
$i = 0;
//----------[DEBUT BOUCLE]------------
while($i != $toto)
    {
    echo 'Toto est different de '.$i.'<br>';
    $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 :

<?
$toto = 6;
//----------[DEBUT BOUCLE]------------
for($i=0; $i != $toto ; $i++)
    {
    echo 'Toto est different de '.$i.'<br>';
    }
//------------[FIN BOUCLE]------------
echo 'Toto est egale '.$i;
?>

Ecrire et Lire dans un fichier

Lecture d'un fichier

<?
 $fp = fopen("data.txt","r");   //On ouvre le fichier "data.txt " en lecture seule " r " avec la fonction fopen().
 $donnees = fgets($fp,255);     //La lecture s'effectue avec la fonction fgets()  et on spéfie le nombre de caractèeres (ici 255 soit la premiere ligne).
 fclose($fp);                  //Ensuite il ne reste plus qu'a refermer le fichier texte c'est la fonction fclose()
 echo'Le fichier contient : '.$donnees;      //On affiche le resultat
?>

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

<?
$fp = fopen("compteur.txt","r+")  // 1.On ouvre le fichier en lecture/ecriture
$nbvisites = fgets($fp,11);       // 2.On recupere le nombre dans le fichier
$nbvisites++;                     // 3.On incremente le nombre de visites(+1)
fseek($fp,0);                     // 4.On se place en debut de fichier
fputs($fp,$nbvisites);            // 5.On ecrit dans le fichier le nouveau nb
fclose($fp);                      // 6.On ferme le fichier
print("$nbvisites visiteurs \n");    // 7.On affiche le compteur a l'ecran
?>

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(“&”); &amp;
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”;}
informatique/programmation/php-old.txt · Dernière modification: 2018/09/06 19:10 (modification externe)