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.
idArtiste
et idFilm
lors d'un insertion, modifiez
la structure des tables correspondantes pour passer ces attributs en auto-incrémentés.
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.
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>"; }
Faire la même chose pour les films
Remarque le réalisateur du film doit être présent pour insérer le film.