Dans cette séance de TD on va créer des scripts PHP en peu plus évolués.
D'abord on va améliorer deux exercices du TP #1.
Ensuite on va faire des exercices basés sur les contenu du CM #2.
Vous allez apprendre deux fonctions très utiles : header()
et strlen()
.
Avant de commencer, créez dans votre répertoire m2202 un sous-répertoire m2202-td4 pour sauvegarder les exercices de cette séance (TD #4).
Dans ce répertoire m2202-td4, créez un répertoire appelé exo1 pour le premier exercice, exo2 pour le deuxième, etc.
On va reprendre quelques exercices déjà faits, et on va les refaire en utilisant les fonctions et la validation de formulaires.
Répétez l'exercice 4 du TP #1 avec les améliorations suivantes :
<label>
dans le formulaire.<input type="number">
pour entrer n.calcul_somme()
.Utilisez le modèle suivant pour la page du formulaire :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>M2202</title>
</head>
<body>
<h1>TD #4 / Exo 1</h1>
<form>
<!-- formulaire -->
</form>
</body>
</html>
Faites l'exercice 6 du TP #1 avec les améliorations suivantes :
<label>
dans le formulaire.<input type="number">
pour entrer n.afficher_lien()
pour générer et afficher le lien dans chaque case du tableau. Cette fonction prend deux paramètres.Dans cet exercice on va faire un site web protégé avec un mot de passe.
Créez un document HTML appelé index.html avec un formulaire pour entrer le mot de passe.
Dans un document PHP appelé traitement.php, déclarez un tableau avec quelques paires identifiant-mot de passe. Si le mot de passe est dans la liste, affichez un message de bienvenue avec l'identifiant. Sinon, envoyez l'utilisateur vers le site web de votre choix.
Pour envoyer l'utilisateur vers une autre page directement (sans cliquer sur un lien), utilisez la fonction header()
[doc]. Par exemple :
<?php
header('Location: https://www.univ-amu.fr/');
Dans cet exercice on va créer un formulaire avec la méthode post et le valider avec PHP.
Créez un formulaire avec les widgets suivants : un champ de texte (input type="text"
), un champ pour mot de passe (input type="password"
), un champ de texte multiligne (textarea
), et 4 cases à cocher (input type="checkbox"
).
Ajoutez des libellés à chaque champ avec la balise <label>
.
Dans un fichier PHP appelé validation.php, validez les données du formulaire :
strlen()
[doc]Si c'est bon, affichez toutes les données entrées. Sinon, affichez un message d'erreur et un lien vers la page avec le formulaire.
Dans cet exercice, on va valider un numéro de téléphone français entré dans un formulaire.
Créez un document HTML appelé index.html avec un formulaire pour entrer un numéro de téléphone.
Dans un document PHP appelé validation.php, déclarez une fonction appelée purger_tel_number()
qui prend une chaîne de caractères et qui renvoie une copie avec uniquement les chiffres.
Déclarez une autre fonction appelée is_tel_number()
qui renvoie true
si la chaîne de caractères contient 10 chiffres et que la première est un zéro.
Utilisez ces deux fonctions pour valider la saisie du formulaire. Affichez un message dans chaque cas.
Dans cet exercice vous allez créer des fonctions pour manipuler les tableaux.
Déclarez un tableau numéroté avec 5 éléments.
Faites une fonction appelée afficher_tab_num()
qui l'affiche entre crochets, avec les valeurs séparées par une virgule.
Faites une autre fonction appelé ajouter_exclamation_tab_num()
qui renvoie un tableau pareil, avec un point d'exclamation ajouté à la fin de chaque élément.
Déclarez un tableau associatif avec 5 éléments.
Faites une fonction appelée afficher_tab_ass()
qui l'affiche entre accolades, avec les paires clé-valeur séparées par une virgule, et les clés séparées de la valeur avec deux point.
Faites une autre fonction appelé ajouter_exclamation_tab_ass()
similaire à la fonction ajouter_exclamation_tab_num()
, mais pour un tableau associatif.
Dans cet exercice on va mettre en pratique l'envoie d'un fichier sur un site web.
En vous appuyant sur l'exemple vous en CM #2, faites un formulaire pour envoyer une image (en format png ou jpg uniquement) avec 500 Ko au maximum.
Prévoyez un message pour chaque cas d'erreur (envoi, format, taille). Si c'est bon, sauvegardez l'image dans un sous-répertoire appelé images/ du répertoire racine, et affichez un message de succès avec l'image.
Si vous avez des problèmes avec les droits, lisez ceci.