Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!--En haut de la page web (avant le doctype), créez et valorisez les constantes PHP
- suivantes :
- - bdd_hote : adresse IP du serveur de base de données ;margin
- - bdd_port : port par défaut de MySQL (3306) ;
- - bdd_nom : nom de la base de données ;
- - bdd_util : utilisateur autorisé à se connecter à la base de données ;
- - bdd_mdp : mot de passe de l'utilisateur.-->
- <?php
- define(bdd_hote, "localhost");
- define(bdd_port, 3306);
- define(bdd_nom, "sites");
- define(bdd_util, "root");
- define(bdd_mdp, "sio");
- ?>
- <!DOCTYPE html>
- <!--
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
- -->
- <html>
- <head>
- <meta charset="UTF-8">
- <title></title>
- </head>
- <body>
- <form action="index.php" method="post">
- <!--A l'intérieur du formulaire, créez, dans un paragraphe,
- un champ texte nommé chp_n précédé du texte « Nom : ».-->
- <p>
- Nom : <input type="text" name="chp_n"/>
- </p>
- <!--A la suite du champ texte chp_n, créez (toujours dans
- le formulaire) dans un nouveau paragraphe un autre champ
- texte nommé chp_a, précédé du texte « Adresse : ».-->
- <p>
- Adresse : <input type="text" name="chp_a"/>
- </p>
- <!--Toujours dans le formulaire, créez dans un paragraphe,
- après les deux champs texte, un bouton d'envoi nommé btn_envoi
- avec comme intitulé « Enregistrer ».-->
- <p>
- <input type="submit" value="Enregistrer" name="btn_envoi"/>
- </p>
- </form>
- <?php
- //Dans le corps de la page web, après le formulaire, créez le DSN
- //de connexion à la base de données dans la variable $cnx_dsn.
- $cnx_dsn = 'mysql:host='.bdd_hote.';dbname='.bdd_nom.';port='.bdd_port.';charset=utf8';
- //Grâce aux instructions try et catch, vérifiez si la connexion à la base de
- //données s'est effectuée correctement. Si ce n'est pas le cas, affichez le message
- //généré par la méthode getMessage() de l'objet PDOException créé.
- try {
- //Créez ensuite un objet PDO pour se connecter à la base de données et
- //stockez le dans la variable $cnx_bdd.
- $cnx_bdd = new PDO($cnx_dsn, bdd_util, bdd_mdp);
- } catch (Exception $e) {
- echo 'Connexion échouée '.$e->getMessage();
- //Créez une condition vérifiant l'existence de l'objet PDO créé à l'étape 13.
- } if($cnx_bdd) {
- //Créez une condition permettant de vérifier si la page a été appelée par l'envoi du
- //formulaire (traduction : vérifiez qu'il existe bien une variable envoyée par la
- //méthode d'envoi du formulaire...).
- if(isset($_POST['btn_envoi'])){
- //Récupérez dans les variables $nom et $adresse les deux valeurs saisies dans les
- //champs texte.
- $nom = $_POST['chp_n'];
- $adresse = $_POST['chp_a'];
- //Vérifiez que les deux champs texte ne soient pas vides. Si c'est le cas, indiquez à
- //l'utilisateur qu'il doit remplir tous les champs.
- if(empty($nom || $adresse)){
- echo 'Tous les champs doit être rempli !';
- //Si les deux champs ont été remplis, créez dans la variable $req_i la requête
- //permettant d’insérer dans la base de données les données saisies dans le
- //formulaire.
- }else{
- $req_i = 'INSERT INTO site(NomS, AdresseS )'
- .'VALUES("'.$nom.'","'.$adresse.'");';
- //Exécutez la requête stockée dans la variable $req_i et récupérez le
- //résultat de cette requête dans la variable $res_i.
- $res_i = $cnx_bdd -> exec($req_i);
- }
- //Si la requête s'est bien exécutée, affichez « Enregistrement effectué ! », sinon,
- //affichez « Erreur d'enregistrement ! ».
- if($res_i !== 0){
- echo "<p>Enregistrement éffectué !</p>";
- }
- else
- {
- echo "<p>Erreur d'enregistrement</p>";
- }
- }
- //Créez dans la variable $req_a la requête récupérant la liste des sites Internet
- //stockés dans la base, par ordre alphabétique.
- $req_a = 'SELECT NomS, AdresseS
- FROM site
- ORDER BY NomS ASC;';
- //Exécutez la requête stockée dans la variable $req_a et stockez l'objet
- //PDOStatement renvoyé dans la variable $res_a.
- $res_a = $cnx_bdd -> query($req_a);
- //Écrivez le code PHP envoyant dans la page web la balise débutant une liste non
- //numérotée.
- echo '<ul>';
- //Récupérez tous les résultats de la requête dans la variable $tab_res.
- $tab_res = $res_a ->fetchAll();
- //Parcourez tous les résultats de la requête, et pour chaque résultat, affichez dans
- //un élément de liste le nom du site Internet, qui sera un lien vers ce site.
- foreach($tab_res as $idx)
- {
- echo'<li><a href= "'.$idx[1].'">'.$idx[0].'</a></li>';
- }
- echo '</ul>';
- }
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement