Vous êtes sur la page 1sur 3

Université Mohamed Premier Année universitaire 2021/2022

Faculté des Sciences Filière SMI S6


Module « Technologies du Web »
----------------------------
TP 3 Système de base de données PHP + MySQL

Exercice 1 : tester les script suivant :


Soit le constructeur suivant <!DOCTYPE html>
<?php <html>
class Fruit { <body>
public $name; <?php
public $color; class Fruit {
function __construct($name) { // Properties
$this->name = $name; public $name;
} public $color;
function get_name() { // la Methode
return $this->name; function set_name($name) {
} $this->name = $name;
}
}
$apple = new Fruit("Apple");
function get_name() {
echo $apple->get_name();
return $this->name;
?>
}
}
$apple = new Fruit();
- Modifier le script pour ajouter la couleur ,
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');
echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>
</body>
</html>
<?php <?php
function divide($dividend, $divisor) { $zip = zip_open("test.zip");
if($divisor == 0) { if ($zip) {
throw new Exception("Division par zero"); while ($zip_entry = zip_read($zip)) {
} echo "<p>";
return $dividend / $divisor; // Récupère le nom de l'entrée du répertoire
} echo "Nom: " . zip_entry_name($zip_entry) . "<br>";
try { // Get compressed size
echo divide(5, 0); echo "Compression la taille : " .
zip_entry_compressedsize($zip_entry);
} catch(Exception $e) {
echo "</p>";
echo " division Impossible.";
}
}
zip_close($zip);
?> }
?>
- Ouvrez une archive de fichier ZIP et obtenez le nom et la
taille compressée des entrées du répertoire
- obtenez le nom et la méthode de compression des entrées du
répertoire avec la fonction zip_entry_compressionmethod
Exercice 2 : Tester les scripts du cours avec les trois methodes.

 MySQLi (object-oriented)
 MySQLi (procedural)
 PDO

- Testez tous les scripts PHP de polycopie pour apprendre à se connecter à un Serveur
Mysql selon les 3 modes, N’oublier surtout pas de Fermer la connexion.
- Créer une base de données MySQL et nommer la SMIS6-2022 avec un mot de passe root
smi.
- Nous allons créer une table nommée 'Etudiants SMI6', avec cinq colonnes: 'id',
'firstname', 'lastname', 'email' et 'reg_date':
La table 'Etudiants SMI6' contient les champs (id INT(6) UNSIGNED
AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP
DEFAULT URRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

- Insérer vos données et autres ceux de vos collègues dans MySQL dans la table
- Insérer plusieurs enregistrements avec la fonction mysqli_multi_query () dans MySQL
- Sélectionnez les données d'une base de données MySQL
- Supprimer inutile des données de table MySQL

Exercice 3 :
- Refaite l’exercice 2 avec les formulaires (INSERT, UPDATE, supprimer et
AFFICHER.) Les données du formulaire suivant dans cette table.
- récupérer les champs, avec if et isset et vérifie s’ils sont vides, avec if et empty.
- Réécrire le script PHP de l’exercice précédent pour vérifier si un tel NOM ou Email existe
déjà dans la table pour éviter les doublons.
- Écrire le script PHP qui permet de lister et afficher les noms de toutes les Bases de
Données qui existent sur le serveur MYSQL.

Exercice 4:
Refaite l’exercice 3 en appliquant les filtres et les expressions régulières vue dans le cours
pour avoir une base de données bien structurer avec des données valide.
Les filtres PHP sont utilisés pour valider et filtrer les données provenant de sources non
sécurisées, comme les entrées utilisateur.
- Exemple : Vérifiez si la variable $ email est une adresse e-mail valide, ou l’Age d’une
personne compris entre X et Y.
-Ajouter une fonction qui permet de traiter les champs d’une maniéré sécurisé contre les
méthodes de piratage tel que XSS, $_SERVER["PHP_SELF"] Exploits, et les commentaires
dangereux. Utiliser les fonction vue au cours trim; tripslashes; htmlspecialchars;
<?php Supprimez tous les caractères illégaux d'une adresse
e-mail:
$email = "exemple@example.com"; ? php
// Supprimer tous les caractères illégaux de e-mail $ email = 'john(.doe)@exa//mple.com';
$email = filter_var($email,
FILTER_SANITIZE_EMAIL); $ email = var_filtre ($ email,
// Validate e-mail FILTER_SANITIZE_EMAIL);
if (filter_var($email, echo $ email;
FILTER_VALIDATE_EMAIL)) { ?
echo("$email est valide comme email address");
} else {
echo("$email n’est pas valide comme email
address");
}
?>
Vérifiez si une variable est à la fois de type INT et Le filtre FILTER_CALLBACK appelle une
comprise entre 1 et 200: fonction définie par l'utilisateur pour filtrer la valeur.
? php <?php
$ int = 122; function convertSpace($string)
$ min = 1; {
$ max = 200; return str_replace(" ", "_", $string);
if (filter_var ($ int, FILTER_VALIDATE_INT, array }
('options' = array ('min_range' = $ min, 'max_range' = $string = "Le corona virus est mortel!";
$ max))) === false) {
echo ('La valeur de la variable n'est pas dans la plage echo filter_var($string, FILTER_CALLBACK,
légale'); array("options"=>"convertSpace"));
} autre {
echo ('La valeur de la variable est dans la plage $st="le corona est une maladie contagieuse!";
légale');
} echo filter_var($st, FILTER_CALLBACK,
? array("options"=>"strtoupper"));
?>
?>

Vous aimerez peut-être aussi