• Aucun résultat trouvé

TP 4 DAW 2017 PHP et LES FORMULAIRES Complément sur les Bases de données

N/A
N/A
Protected

Academic year: 2022

Partager "TP 4 DAW 2017 PHP et LES FORMULAIRES Complément sur les Bases de données"

Copied!
6
0
0

Texte intégral

(1)

K.DJAROUDIB DAW 2017 Page 1

TP 4 DAW 2017

PHP et LES FORMULAIRES

Complément sur les Bases de données

A/ Rappels sur le cours

Qui dit « site web dynamique » dit généralement « formulaires » et donc traitement de ces derniers. PHP a notamment été inventé pour ce type de tâche. Nous apprendrons à exploiter les formulaires par le biais des tableaux super-globaux $_GET et $_POST.

Les parties essentielles d'un formulaire

Afin de pouvoir faire dialoguer correctement un formulaire HTML avec un script PHP, il faut s'assurer que les points suivants soient présents :

L'attribut action de la balise <form> est renseigné par l'url du fichier PHP qui va recevoir les informations. Cela peut-être un fichier différent de la page courante mais il est conseillé de traiter les formulaires dans la même page.

La méthode HTTP du formulaire est renseignée par l'une de ces deux valeurs : get ou post.

Tous les éléments d'un formulaire doivent posséder un attribut name rempli par une valeur.

Exemple1:

<html>

<head>

<title>formulaire</title>

</head>

<body>

<table align=center style="background:#e6e6fa;">

<form method="POST" action="index.php" >

<tr>

<td>Nom:</td>

<td><input type="text" name="nom" size="30"></td>

</tr>

<tr>

<td>Prenom:</td>

<td><input type="text" name="prenom" size="30"></td>

</tr>

<tr>

<td>

</td>

<td>

<input type="submit" value="Valider">

<input type="reset" value="Annuler">

</td>

</tr>

</form>

</table>

</body>

</html>

Le code de l’exemple 1 affichera :

(2)

K.DJAROUDIB DAW 2017 Page 2

La méthode GET ( fait circuler les informations du formulaire en clair dans la barre d'adresse en suivant le format ci-après : http://localhost/php/index.php?nom=Ferradji&prenom=Abderraouf

La méthode POST, quant à elle, transmet les informations du formulaire de manière masquée mais non cryptée.

-Le tableau $_GET contient tous les couples variable ou valeur transmis dans l'url. Pour accéder à la valeur d'une variable dont le nom est prenom, on l'appelle par exemple ainsi :

<?php

echo $_GET['nom'];

?>

-Le tableau $_POST contient tous les couples variable / valeur transmis en POST. Pour accéder à la valeur d'une variables dont le nom est prenom, on l'appelle ainsi :

<?php

echo $_POST['prenom'];

?>

B/ Outils nécessaires et Méthode pour exécuter un script de formulaires sous windows

Voir TP3 (Les Bases du PHP)

C/ Exercices : Tests de Cas pratiques Test1 :

Donner le code php qui affiche le formulaire suivant :

Réponse :

<HTML>

<HEAD>

<Title>Bienvenue </TITLE>

</HEAD>

<body>

<h1> <g> Bienvenue </g> </h1>

(3)

K.DJAROUDIB DAW 2017 Page 3

<form action="cible.txt" method="post">

<INPUT TYPE="submit" VALUE="Envoyer">

<INPUT TYPE="reset" VALUE="Initialiser">

<br/><br>

</form>

</BODY>

</HTML>

Test2 :

Donner le code qui affiche une liste de choix de profession (étudiant, fonctionnaire, privé) avec un champ pour ajouter une profession qui n’existe pas dans la liste, ainsi:

Solution :

<html>

<style>

.form {

display: block;

width: 300px;

float: left;

}

</style>

<body>

<form methode ="get">

<FORM>

<label > Profession </label>

<SELECT name="Profession" size="1">

<OPTION Value="étudiant">étudiant </OPTION>

<OPTION Value="fonctionnaire">fonctionnaire </OPTION>

<OPTION Value="privé">privé </OPTION>

<OPTION Value="new">new </OPTION>

</SELECT><br>

<br>

<label > Autre Précisez </label> <input type="text" name="Autre précisez"/>

<INPUT TYPE="submit" VALUE="Ajout">

</SELECT>

</FORM>

</body>

</html>

(4)

K.DJAROUDIB DAW 2017 Page 4

Test3 :

A/ Donner le code HTML qui permet d’afficher le formulaire suivant avec la méthode « POST » et dans le fichier traitement « traitement.php » :

Nom Prénom

Mon dernier diplôme Mail

Solution :

<html>

<head> <title>question 3 </title> </head>

<body>

<form method="post" action="traitement.php">

<br/>

<b>nom </b>

<input type=text name=nom size=50 maxlength=80><br/>

<br/>

<b>prenom</b>

<input type=text name=prenom size=50 maxlength=80><br/>

<br/>

<b>mon dernier diplome</b>

<input type=text name=diplome size=50 maxlength=80</textarea><br/>

<br/>

<b>mail</b>

<input type=email name=email size=50 maxlength=40><br/>

<br/>

<input type=submit value=" envoyer ">

<input type=reset value=" effacer ">

</form> </body></html>

B/ Puis donner le code du fichier « traitement.php » pour afficher vos informations (en ‘Times New Roman’ et en style ’italic’), comme suit :

Envoyer Effacer

(5)

K.DJAROUDIB DAW 2017 Page 5 Votre nom est bien …………..

Et votre prénom est bien ………..

Vous avez un diplôme de ………..

Et votre email est……….

Nous avons reçu vos informations et nous vous donnerons une réponse.

Merci.

Solution :

<html>

<head> <style>p.italic { font-style: italic; font-family: Times;}</style>

</head>

<body>

<p class="italic">Votre nom est bien <?php echo htmlspecialchars($_POST['nom']); ?> </p >

<p class="italic">Et votre prenom est bien <?php echo htmlspecialchars($_POST['Prenom']); ?> </p >

<p class="italic">Vous avez un diplome de <?php echo htmlspecialchars($_POST['diplome']); ?></p >

<p class="italic">Et votre email est <?php echo htmlspecialchars($_POST['email']); ?> </p >

<br/>

<p class="italic"> Nous avons recu vos informations et nous vous donnerons une reponse.

<br/>

Merci.</p >

</body>

</html>

Complément sur les Bases de données

Les bases de données, le SGBD MySQL et phpMyAdmin

Une base de données est un outil qui stocke vos données de manière organisée et vous permet de les retrouver facilement par la suite. Cette base de données se compose de plusieurs tables.

MySQL est un système de gestion de base de données relationnelles (SGBDR) basé sur SQL

C'est donc PHP qui va faire l'intermédiaire entre vous et MySQL. On devra demander à PHP :

« Va dire à MySQL de faire ceci. »

phpMyAdmin est un outil qui nous permet de visualiser rapidement l'état de notre base de données ainsi que de la modifier, sans avoir à écrire de requêtes SQL.

PHP et la manipulation des bases de données Exemple 1

<html>

<head>

<title>formulaire</title>

</head>

<body>

(6)

K.DJAROUDIB DAW 2017 Page 6

<table align=center style="background:#e6e6fa;">………</table>

<?php

if (isset($_POST['nom']) && isset($_POST['prenom'])) {

$nom_etd= $_POST['nom'];

$prenom_etd=$_POST['prenom'];

// on se connecte a notre base ("localhost", "root", mot de passe)

$base = mysql_connect ("localhost", "root", "XXXXXXX") or die ('problème de connexion !');

mysql_select_db ('ma_base', $base) ;

// lancement de la requet

$sql = "INSERT INTO etudiant VALUES ('$nom_etd', '$prenom_etd')";

/* on insere le tuple (mysql_query) et au cas ou, on ecrira un petit message d'erreur si la requete ne se passe pas bien (or die)*/

mysql_query ($sql) or die ('Erreur SQL !');

// on ferme la connexion a la base mysql_close();

}

?>

</body>

</html>

Exemple 2

<html>

<head>

<title>formulaire</title>

</head>

<body>

<?php

// on se connecte a notre base

$base = mysql_connect ("localhost", "root", "XXXXXXX")or die ('problème de connexion !');

mysql_select_db ('ma_base', $base) ;

// lancement de la requet

$mysql0="SELECT * FROM etudiant WHERE nom='khlil'";

$result0=mysql_query($mysql0);

// on récupère le résultat sous forme d'un tableau

$enregistrement=mysql_fetch_array($result0);

echo "Nom: ".$enregistrement[nom]."| Prenom: ".$enregistrement[prenom]."<br/>";

// on ferme la connexion a la base mysql_close();

?>

</body>

</html>

Références

Documents relatifs

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes. ñ Sélection sur

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes. ñ Sélection sur

Vous pouvez maintenant créer une base de données personnelle, dans le domaine de votre choix, mais qui satisfait aux conditions suivantes : au moins trois tables distinctes, avec

Vous trouverez l''''intégralité des informations et des données dans la documentation pour l''utilisateur

Créez la page insertion_loisir.php qui insère un nouvel enregistrement dans la table t_loisir à partir de la saisie d'un nouveau loisir dans le formulaire form_loisir.html..

h) Nom et prime des joueurs sponsorisés par Peugeot entre 1985 et 1990. i) Nom et année de naissance des joueurs ayant participé au tournoi de Rolland Garros de 1989. j) Nom

 Parmi les nombreux atouts du langage PHP, un des plus connus est son interfaçage avec la majorité des bases de données du marché..  Parmi les plus connues, on peut citer

Cette requête retourne exactement les mêmes colonnes qu’il y a dans la base de données. Pour en savoir plus sur le sujet il est recommandé de lire l’article avantage et