Aujourd'hui mardi 7 avril 2020 : 24 et 25ème heure de travail (par personne)
APPLICATION non directement liée au projet
ATTENTION de ne pas mélanger vos travaux réalisés pour le projet !
rappel 2 fichiers pour livre d'or (voir ci-dessous) avec les éléments à modifier
Ces deux fichiers seront utilisés sur un page d'accueil, c'est pourquoi, je les ai nommés : index.php et index_post.php au lieu de minichat.php et minichat_post.php
a) Ouvrir un dossier spécifique pour ce travail (essaiPHP)
b) Vous avez reçu vendredi matin, un mail avec les informations permettant l'accès à la base de données de "Ouvaton".Récupérer ces informations ainsi que les informations de publication sur un document à part...
c) Télécharger les deux fichiers php en bas de page et les mettre dans le dossier essaiPHP
d) Pour l'application, j'ai préalablement créé une table appelée "prof" (en minuscule) dont voici la composition :
prof (id, champ1, champ2, champ3)
id est un format numérique (INT) et comme c'est une clé primaire c'est auto incrémenté (AUTO_INCREMENT)
champ1 et champ 2 sont des VARCHAR(15) et champ3 VARCHAR(250)
CREATE TABLE prof (
id INT AUTO_INCREMENT,
champ1 VARCHAR(20),
champ2 VARCHAR(20),
champ3 VARCHAR(250),
PRIMARY KEY(id) ) ;
On va dans un premier temps utiliser cette table...Ensuite, vous referez l'exercice avec une table que vous nommerez de votre prénom
1) Modifier les 2 scripts en tenant compte des éléments ci-dessous
2) en utilisant Filezilla, envoyer par ftp les 2 fichiers ainsi créés sur votre espace de groupe (coordonnez-vous pour ne pas faire en même temps)
3) Vérifier que cela fonctionne. Dès que c'est le cas, modifier tout ce qui permettra d'améliorer la page (titre, sous-titre, texte, en imaginant un contexte)
4) CRÉER VOTRE PROPRE TABLE intitulée avec votre prenom sans caractère accentué ni tiret (ex : kevin, chloe). Cette table devra apparaitre dans la base de données ouvaton...
https://phpmyadmin.ouvaton.coop/
5) REFAIRE l'EXERCICE en MODIFIANT vos scripts fonctionnent avec votre table (indiqué en rouge = modifs pour fonctionnement avec table prof, en bleu = modifs pour fonctionnement avec votre propre table)
Lorsque vous aurez terminé, faites moi le savoir et vous pourrez continuer votre projet : Attention pour votre projet, il faudra aussi changer l'intitulé des scripts qui ne seront plus index.php et index_post.php
index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Livredor</title>
</head>
<style>
form
{
text-align:center;
}
</style>
<body>
<h1>Mon premier essai de livre d'or</h1></br>
<p><h2>Mon prénom est : xxxxxx</h2></p>
<p>C'est là que commence le contenu de mon texte.... etc.... etc....etc..... etc..........etc.....</p>
<form action="index_post.php" method="post">
<p>
<label for="champ1">champ1</label> : <input type="text" name="champ1" id="champ1" /><br />
<label for="champ2">champ2</label> : <input type="text" name="champ2" id="champ2" /><br />
<label for="champ3">champ3</label> : <input type="text" name="champ3" id="champ3" /><br />
<input type="submit" value="Envoyer moi tout cela !" />
</p>
</form>
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost ; dbname=test;charset=utf8', 'identifiant', 'mdp');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT champ1, champ2 FROM prof ORDER BY id DESC LIMIT 0, 10');
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
echo '<p><strong>' . htmlspecialchars($donnees['champ1']) . '</strong> : ' . htmlspecialchars($donnees['champ2']) . '</p>';
}
$reponse->closeCursor();
?>
</body>
</html>
index_post.php
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'identifiant', 'mdp');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO prof (champ1, champ2, champ3) VALUES(?, ?, ?)');
$req->execute(array($_POST['champ1'], $_POST['champ2'], $_POST['champ3']));
// Redirection du visiteur vers la page du minichat
header('Location: index.php');
?>