TD : PHP/MySql avec l'extension mysqli suite.

Ce tp est la suite du précédent. Le but est de rajouter à notre application la possibilité d'en enrichier les données.

Champs auto-incrémentés

Si vous voulez que mysql gére lui-même idArtiste et idFilm lors d'un insertion, modifiez la structure des tables correspondantes pour passer ces attributs en auto-incrémentés.
  1. Ecrire un script qui permet d'ajouter à l'application des artistes. Pour rendre l'application plus conviviale, le script affiche également la liste des artistes déjà présentes.


    • C'est le même script qui affiche le formulaire et qui reçoit ses données.
    • Validez et nettoyez les données du formulaire en utilisant la fonction filter_input_array

      <?php
      $filters = [
      		'nom' => array(
      			'filter'=>FILTER_SANITIZE_STRING,
      			'flags'=>FILTER_FLAG_NO_ENCODE_QUOTES
      		),
      		'prenom' => array(
      			'filter'=>FILTER_SANITIZE_STRING,
      			'flags'=>FILTER_FLAG_NO_ENCODE_QUOTES
      		),
      		'naissance'=>FILTER_VALIDATE_INT	
      	];
      	$resultat = filter_input_array(INPUT_POST, $filters);
      	if ($resultat) {
       
      	.....
      	}
    • Pour vous protéger d'une injection SQL, utiliser une requête préparée :

      <?pĥp
      $stmt = mysqli_prepare($conn,"INSERT INTO Artiste values('',?,?,?)");
      		mysqli_stmt_bind_param($stmt,"ssi",$nom,$prenom,$annee);
       
      		if (mysqli_execute($stmt))
      		{
      			echo "<div class='alert-box -success'>enregistrement ok</div>";
      		}
      		else
      			echo "<div class='alert-box -error'>erreur bd</div>";
      	}
  2. Faire la même chose pour les films

    Remarque le réalisateur du film doit être présent pour insérer le film.


  3. Enfin, écrire un troisième script qui permet de rajouter des rôles à un film.

retour à la page d'accueil

retour au sommet