Bonjour,
Voilà pas mal de temps que je m'échine sur un formulaire très simple. Pourtant j'arrive à faire un qformulaire utilisateur, récupérer les données et envoyer ce dernier vers un autre formulaire de login.
Bref, ici j'ai de multiples soucis, je n'arrive pas à faire entrer les données dans la base de donnée.
En outre je voudrais qu'une fois les données entrées et validées celà me retourne le même formulaire avec un écho de réussite et que s'affiche sous ce formulaire le tableau de tous les exercices.
D'ailleurs à ce niveau j'ai deux autres soucis, mettre deux colonnes sur la dernière ligne nommée Actions et donner des couleurs différentes entre le "menu" et les colonnes.
Je vous pose les fichiers en espèrant avoir un tout petit peu d'aide car là je m'arrache les cheveux pour des choses certainements très simples
Formulaire :
Fichier de connection à la base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 <!doctype> <html lang="fr"> <head> <link href="contact.css" type="text/css" rel="stylesheet"/> <meta charset="UTF-8" /> <head> <title>Formulaire03</title> </head> <body> <!-- <form name="form1" action="submit.php" method="onsubit=return check();"> --> <fieldset> <legend> <p>Ajouter un exercice</p> </legend> <table> <tr> <td>Titre de l'exercice</td> <td> <input type="text" name="titre" placeholder="" required /> </td> </tr> <tr> <td>Auteur de l'exercice</td> <td> <input type="text" name="Auteur" placeholder="" required/> </td> </tr> <tr> <td>Date de création</td> <td> <input type="date" name="date" placeholder="" required/> </td> </tr> <tr><td> <input type="submit" value="Envoyer" name="submit"/></td></tr> </table> </fieldset> </form> </body> </html> <?php // PREMIERE SOLUTION /*if(isset($_POST['submit'])){ if (!empty($_POST['titre']) AND !empty($_POST['auteur']) AND !empty($_POST['date'])){ // if ((isset($_POST['titre']) && !empty($_POST['titre'])) // && (isset($_POST['auteur']) && !empty($_POST['auteur'])) // && (isset($_POST['date']) && !empty($_POST['date']))){ extract($_POST); try{ $bdd=new PDO ('mysql:host=localhost;dbname=exo','root',''); $req=$bdd->prepare("select * from exercice where titre =:titre"); $req->execute(array('titre'=>$titre)); if($req->rowCount() !=0 ){ return false; echo"<div class='couleur'> l'exercice existe dans la base </div>"; // echo "l'exercice existe dans la base"; }else { $reponse = $bdd->prepare("INSERT INTO exercice VALUES(DEFAULT,?,?,?)"); $reponse->execute(array($titre,$auteur,$date)); echo"<div class='couleur'> Exercice enregistré avec succès </div>"; // echo " Exercice enregistré avec succès"; $reponse->closeCursor(); header('Location:getall.php'); } }catch (PDOException $e){ die ('Erreur' .$e->getMessage()); } } }else echo "Il faut remplir tous les champs"; */ // DEUXIEME SOLIUTION, CELLE QUE JE VOUDRAIS UTILISER if(isset($_POST['submit'])){ extract($_POST); $rep= new Connection('localhost', 'exo', 'utf8', 'root', ''); $answer=$rep->dbconnect(); $user = new Bmanager ($answer); $retour= $user->addUser ($titre, $auteur, $date); echo $retour; if($retour){ header('Location:getall.php'); } } ?>
Fichier Bmanager qui regroupe mes fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <?php class Connection{ private $hote; private $bd; private $charset; private $user; private $password; public function __construct($hote, $bd, $charset, $user, $password){ $this->hote=$hote; $this->bd= $bd; $this->charset=$charset; $this->user=$user; $this->password=$password; } public function dbconnect(){ try{ return new PDO('mysql:host='.$this->hote.';dbname='.$this->bd.';charset='.$this->charset, $this->user, $this->password); } catch(Exception $e){ print_r($e); } } } ?>
Fichier concernant le tableau du contenu de la base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 <?php session_start(); include_once 'connection.php'; Class Bmanager{ private $db; public function __construct($db){ $this->db=$db; } public function addUser($titre, $auteur, $date) { try { if (!empty($_POST['titre']) AND !empty($_POST['auteur']) AND !empty($_POST['date'])){ // if ((isset($_POST['titre']) && !empty($_POST['titre'])) // && (isset($_POST['auteur']) && !empty($_POST['auteur'])) // && (isset($_POST['date']) && !empty($_POST['date']))){ $req=$this->db->prepare("select * from exercice where titre=? "); $req->execute(array('titre'=>$titre)); if($req->rowCount() !=0){ return false; }else { $reponse = $this->db->prepare("INSERT INTO exercice VALUES (Default,?,?,?)"); $reponse->execute(array($titre, $auteur, $date)); echo"<div class='couleur'> Exercice enregistré avec succès </div>"; return true; } } }catch (PDOException $e){ echo $e->getMessage(); } } public function getAll(){ try{ $alluser = $this->db->prepare("SELECT * FROM exercice"); $alluser->execute(); return $alluser; } catch(Exception $e){ } } public function update($id, $titre, $auteur, $date) { try{ if(!empty($titre) && !empty($auteur) && !empty($date)){ $modif = $this->db->prepare("update exercice set titre=? where id =?"); $modif->execute(array($titre,$id)); $modif = $this->db->prepare("update exercice set auteur=? where id =?"); $modif->execute(array($auteur,$id)); $modif = $this->db->prepare("update exercice set date=? where id =?"); $modif->execute(array($date,$id)); echo"<div class='couleur'> Modification enregistrée avec succès </div>"; } } catch(Exception $e){ $e->getMessage(); } } public function delete($id){ $st=$this->db->prepare("DELETE FROM exercice"); $st->execute(array($id)); echo "Exercice supprimé avec Succés"; } } ?>
Petit fichier css en extra :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php include_once 'Bmanager.php'; $rep= new Connection('localhost', 'exo', 'utf8', 'root', ''); $answer=$rep->dbconnect(); $user= new Bmanager($answer); $sql = $user->getAll(); echo "<table border=\"1\">"; echo "<tr> <th> Id </th><th> Titre </th><th> Auteur </th><th> Date </th><th> Action </th> </tr> "; while ($lignes = $sql -> fetch(PDO::FETCH_OBJ)) { echo "<tr><td>".$lignes->id."</td><td>".$lignes->titre."</td><td>".$lignes->auteur."</td><td>".$lignes->date."</td><td><a href='modifierUser.php?>Modifier</a></td><td><a href='delete.php?>Modifier</a></td></tr>"; } echo "</table>"; header('Location:formulaire03.php'); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 @CHARSET "ISO-8859-1"; .couleur { color = red; } fieldset{ margin:10px; width :400px; height :110px; background-color : white; } table{ /*border: 1px solid black;*/ border-collapse: collapse;
oilà, je sais que ça fait beaucoup de code mais si vous avez 5 non plutôt 30 mn pour regarder tout ça je vous en serai très reconnaissant.
Partager