Académique Documents
Professionnel Documents
Culture Documents
PARTIE II
L’interactivité
en PHP
Formulaire HTML
Retourne des informations saisies par un utilisateur vers une application serveur
3
PHP et les formulaires
</select>
</select>
4
PHP et les formulaires
– La méthode GET place les informations d'un formulaire directement à la suite de l'adresse URL de
la page appelée.
• http://www.site.com/cible.php?champ=valeur&champ2=valeur
• inconvénients :
- De plus, la longueur totale est limitée à 255 caractères, ce qui rend impossible la
transmission d’un volume de données important
PARTIE 2
– La méthode POST regroupe les informations dans l'entête d'une requête HTTP
6
PHP et les formulaires
7
PHP et les formulaires
<?php
echo $resultat;
?>
8
PHP et les formulaires
Une validation côté serveur, en PHP, va donc également s’imposer pour filtrer les données potentiellement
dangereuses.
Le PHP nous offre différentes options pour sécuriser nos formulaires en testant la validité des données envoyées : on
va pouvoir utiliser des fonctions, des filtres, des expressions régulières, etc.
La première fonction que vous devez absolument connaitre est la fonction htmlspecialchars(). Cette fonction va
permettre d’échapper certains caractères spéciaux comme les chevrons « < » et « > » en les transformant en entités
HTML. En échappant les chevrons, on se prémunit d’une injection de code JavaScript puisque les balises <script> et
</script> vont être transformées en & <script> et &/<script> et ne vont donc pas être exécutées par le navigateur.
PARTIE 2
La deuxième fonction est stripslashes() qui va supprimer les antislashes que certains hackers pourraient utiliser pour
échapper des caractères spéciaux. La troisième fonction est trim() qui va supprimer les espaces inutiles
10
PHP et les formulaires
Ou bien on peut créer une fonction personnalisée qui va se charger d’exécuter chacune
des fonctions ci-dessus :
$nom = valid_donnees($_POST["nom"]);
PARTIE 2
function valid_donnees($donnees){
$donnees = trim($donnees);
$donnees = stripslashes($donnees);
$donnees = htmlspecialchars($donnees);
return $donnees;
} 11
Les cookies
Principe
Un cookie est un fichier texte créé par un script et stocké sur l’ordinateur des visiteurs
d’un site
Les cookies permettent de conserver des renseignements utiles sur chaque utilisateur,
et de les réutiliser lors de sa prochaine visite
Les cookies étant stockés sur le poste client, l’identification est immédiate et ne
concernent que les renseignements qui le concernent
12
Les cookies
précédents visites
13
Les cookies
if (!$_COOKIE["premierCookie"]) {
echo "le cookie n’a pas été défini";}
else {
PARTIE 2
14
Les cookies
Écriture de cookies
15
Les cookies
Lecture de cookies
Il faut d’abord vérifier l’existence des variables dont les noms et les valeurs ont
été définis lors de la création du cookie.
<?php
if (isset($_COOKIE["premierCookie"])){
PARTIE 2
}
?>
16
Les cookies
$col="#FF0000";
$size=24;
$font="Arial";
$text="Je suis le cookie";
PARTIE 2
17
Les cookies
$arr=explode("&", $_COOKIE["la_cookie"]);
echo "<b> ces variables ont été établies à partir de la chaîne cookie : </b> <br>
<br>";
18
Les cookies
Supprimer un cookie
setcookie("Visites");
Une autre méthode consiste à envoyer un cookie dont la date d'expiration est
passée:
PARTIE 2
setcookie("Visites","",time()-1 )
19
Les sessions
Principe
20
Les sessions
si ce n’est pas le cas, elle démarre une nouvelle session en créant un nouvel
ID de session.
21
Les sessions
Vous pouvez stocker toutes vos données de session sous forme de paires clé-valeur dans
le tableau $_SESSION[]. Les données stockées sont accessibles pendant la durée de vie
d’une session. Considérons le script suivant, qui crée une nouvelle session et enregistre
deux variables de session.
<?php
// Démarrer la session
session_start();
$_SESSION["nom"] = "Jean";
PARTIE 2
$_SESSION["adresse"] = "Paris";
?>
22
Les sessions
Pour accéder aux données de session que nous avons définies dans l’exemple ci-dessus depuis
n’importe quelle autre page, il suffit de recréer la session en appelant session_start() puis de
passer la clé correspondante au tableau associatif $_SESSION.
<?php
// Démarrer la session
session_start();
?>
23
Les sessions
session_start();
if(isset($_SESSION["adresse"])){
unset($_SESSION["adresse"]);
Pour supprimer toutes les variables de session globales et détruire la session, utilisez
session_unset() et session_destroy() :
PARTIE 2
24
Les sessions
Exemple d’authentification
Nous allons créer un système de connexion simple en utilisant PHP . Nous allons créer un formulaire
de connexion, ainsi qu’une page d’accueil et un script de déconnexion.
Créons un autre fichier PHP appelé « auth.php » et y mettons le code d’exemple suivant. Cet
exemple de code va créer un formulaire web qui permet aux utilisateurs de s’authentifier.
25
Les sessions
Exemple d’authentification
Les entrées seront vérifiées par rapport aux informations d’identification stockées dans la
base de données. Si le nom d’utilisateur et le mot de passe correspondent, l’utilisateur est
autorisé et se voit accorder l’accès au site, sinon la tentative de connexion sera rejetée.
<?php
session_start();
@ $login=$_POST["login"];
@ $mdp=crypt($_POST["password"], '$1$rasmusle$');
@ $submit=$_POST["submit"];
$_SESSION["login"]=$login;
$erreur='';
if (isset($submit)){
if($login=="alae" && $mdp=='$1$rasmusle$uwzLzKVWDEpvbNytWXBmS/'){
PARTIE 2
$_SESSION["autoriser"]="ok";
header("location:accueil.php");//header est une fonction qui renvoie les entêtes http
}else{ $erreur="login ou mot de passe incorrect"; echo $erreur; }
}
?>
26
Les sessions
Exemple d’authentification
Créer la page d’accueil
Voici le code de notre fichier « accueil.php », où l’utilisateur est redirigé après une connexion réussie.
<?php
// Initialiser la session
session_start();
// Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de
connexion
if(!isset($_SESSION["autoriser"])){
header("Location: auth.php");
exit(); //arret prematurer
}
?>
<h1>Bienvenue <?php echo $_SESSION['login']; ?>!</h1>
<p>C'est votre page d'accueil.</p>
PARTIE 2
<a href="deconnection.php">Déconnexion</a>
</div>
</body>
</html>
27
Les sessions
Exemple d’authentification
Maintenant, créons le fichier « deconnection.php ». Lorsque l’utilisateur clique sur le lien de déconnexion, le
script à l’intérieur de ce fichier détruit la session et redirige l’utilisateur vers la page de connexion.
<?php
// Initialiser la session
session_start();
// Détruire la session.
if(session_destroy())
header("Location: auth.php");
?>
28