J aimerai retrouves mes donnees saisi dans la BDD
Résolu/Fermé
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
-
Modifié le 28 juil. 2017 à 11:34
hm0123 Messages postés 34 Date d'inscription lundi 24 juillet 2017 Statut Membre Dernière intervention 31 juillet 2017 - 31 juil. 2017 à 01:28
hm0123 Messages postés 34 Date d'inscription lundi 24 juillet 2017 Statut Membre Dernière intervention 31 juillet 2017 - 31 juil. 2017 à 01:28
A voir également:
- J aimerai retrouves mes donnees saisi dans la BDD
- Effacer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Excel reporter des données sur une autre feuille avec conditions - Forum Excel
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
3 réponses
yg_be
Messages postés
22724
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 avril 2024
1 476
26 juil. 2017 à 19:10
26 juil. 2017 à 19:10
bonsoir, si je devine bien ce que tu essaies de faire (et que tu n'expliques pas), tu devrais plutôt mettre l' action (ajouter, modifier, supprimer) comme une option dans ton formulaire, et récupérer l'option choisie via un $_POST.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
27 juil. 2017 à 02:54
27 juil. 2017 à 02:54
Bonjour,
Tu as mal placé tes accolades,
Tu as mal orthographié "modify"
Tu as mal orthographié "description" par rapport au NAME de ton input
Tu n'as pas placé ta requête dans un bloc try/catch
Tu n'as pas activé l'affichage des erreurs php
bref... essaye ça :
Tu as mal placé tes accolades,
Tu as mal orthographié "modify"
Tu as mal orthographié "description" par rapport au NAME de ton input
Tu n'as pas placé ta requête dans un bloc try/catch
Tu n'as pas activé l'affichage des erreurs php
bref... essaye ça :
<?php //démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //connexion à la bdd try{ $db = new PDO('mysql:host=localhost;dbname=site-e-commerce', 'root','root'); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions }catch(Exception $e){ echo 'Une erreur est survenue'; exit(); } //récupération PROPRE des variables AVANT de les utiliser $title = !empty($_POST['title']) ? $_POST['title'] : NULL ; $description = !empty($_POST['description']) ? $_POST['description'] : NULL; $price = !empty($_POST['price']) ? $_POST['price'] : NULL; $action = !empty($_GET['action']) ? $_GET['action'] : NULL; $username = !empty($_SESSION['username']) ? $_SESSION['username'] : NULL; if($username){ if(isset($_POST['submit'])){ //préférer un SWITCH au lieu de IF ELSIF ... switch($action){ case 'add': if($title&&$description&&$price){ $sql = "INSERT INTO products (title, description, prices) VALUES(:title,:description,:price)"; $datas = array(':title'=>$title,':description'=>$description,':price'=>$price); }else{ echo'veuillez remplir tous les champs'; } break; case 'modify': if($title&&$description&&$price){ $sql = "UPDATE products SET title = :title, description = :description , prices=:prices WHERE id=:id"; $datas = array(':title'=>$title,':description'=>$description,':price'=>$price,':id'=>$id); }else{ echo'veuillez remplir tous les champs'; } break; case 'delete': $sql = "DELETE FROM products WHERE id=:id"; $datas = array(':id'=>$id); break; default: echo "Action inconnue ! Erreur ! "; break; } if($sql){ //execution de la requete try{ $insert = $db->prepare($sql); $insert->execute($datas); }catch(Exception $e){ echo 'Erreur : ' .$e->getMessage(); } } } }else{ header('location: ../index.php'); exit(); //toujours mettre un EXIT après une redirection } if($action){ ?> <form action="" method="post"> <h3>Titre du produit :</h3> <input type="text" name="title" value="<?php echo $title; ?>"> <h3>Description du produit :</h3> <input type="text" name="description" value="<?php echo $description; ?>"> <h3>Prix :</h3> <input type="text" name="price" value="<?php echo $price; ?>"> <br/> <input type="submit" name="submit" value="submit"> </form> <?php } ?> <link href="../style/bootstrap.css" type="text/css" rel="stylesheet"/> <h1>Bienvenue, <?php echo $username;?></h1> <br/> <a href="?action=add" rel="nofollow noopener noreferrer" target="_blank">Ajouter un produit</a> <a href="?action=modify" rel="nofollow noopener noreferrer" target="_blank">Modifier un produit</a> <a href="?action=delete" rel="nofollow noopener noreferrer" target="_blank">Suprimer un produit</a>
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
27 juil. 2017 à 10:25
27 juil. 2017 à 10:25
merci pour le code mais je viens d essaie ca n affiche toujour rien du tout
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
Modifié le 27 juil. 2017 à 13:00
Modifié le 27 juil. 2017 à 13:00
salut,je viens de mettre mysqli a la place de PDO et sa passe mais je sais pas si mes code son en ordre puisque a chaque fois que j actulise on m ajoute dans ma BDD les dernier detail saissir dans le formulaire alors si possible de jette un coup d oeil sur sa merci
<?php
session_start();
$servrname = "localhost";
$dbusername = "root";
$dbpassword = "root";
$dbname = "site-e-commerce";
$title=$_POST['title'];
$description=$_POST['description'];
$price=$_POST['price'];
$conn = new mysqli($servrname, $dbusername, $dbpassword, $dbname);
if($conn->connect_error) {
die("Une erreur est survenue" .$conn->$connect_error);
}
$title = !empty($_POST['title']) ? $_POST['title'] : NULL ;
$description = !empty($_POST['description']) ? $_POST['description'] : NULL;
$price = !empty($_POST['price']) ? $_POST['price'] : NULL;
$action = !empty($_GET['action']) ? $_GET['action'] : NULL;
$username = !empty($_SESSION['username']) ? $_SESSION['username'] : NULL;
$sql = "INSERT INTO products (title, description, price) value ('$title','$description','$price')";
if ($conn->query($sql) === TRUE) {
echo "Thank you! your info has been entered into the database,you may close this window!";
} else {
echo "Error:" . sql . "<br>" . $conn->error;
}
$conn->close();
if(isset($_SESSION['username'])){}
if(isset($_GET['action'])){
}
if(isset($_SESSION['username'])){
}else{
header('location: ../index.php');
exit();
}
?>
<form action="" method="post">
<h3>Titre du produit :</h3><input type="text" name="title">
<h3>Description du produit :</h3><input type="text" name="description">
<h3>Prix :</h3><input type="text" name="price">
<br/>
<input type="submit" name="submit" value="submit">
</form>
<link href="../style/bootstrap.css" type="text/css" rel="stylesheet"/>
<h1>Bienvenue,<?php echo $_SESSION['username']; ?></h1>
<br/>
<a href="?action=add" rel="nofollow noopener noreferrer" target="_blank">Ajouter un produit</a>
<a href="?action=modify" rel="nofollow noopener noreferrer" target="_blank">Modifier un produit</a>
<a href="?action=delete" rel="nofollow noopener noreferrer" target="_blank">Suprimer un produit</a>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
27 juil. 2017 à 18:16
27 juil. 2017 à 18:16
Tu n'as tenu compte d'aucun des conseilles que je t'ai donné dans mon code précédent...
Je ne ré interviendrai pour t'aider que lorsque tu nous auras mis ton code à jour en respectant les conseils prodigués (voir les commentaires dans mon code)
Je ne ré interviendrai pour t'aider que lorsque tu nous auras mis ton code à jour en respectant les conseils prodigués (voir les commentaires dans mon code)
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
27 juil. 2017 à 18:39
27 juil. 2017 à 18:39
salut oft suis desole vraiment j ai belle et bien essai vos code que vous m avez donne mais s affiche une page vide je sais pas pourquoi alors que j ai vraiment beau essaie et voila pourquoi finir j essais de remplace le PDO pour le mysqli,
svp j ai vraiment besoin de votre aide sinon voila en bas vos codes
le probleme est s affiche une page vide
svp j ai vraiment besoin de votre aide sinon voila en bas vos codes
<?php
//démarrage des sessions
session_start();
//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');
//connexion à la bdd
try{
$db = new PDO('mysql:host=localhost;dbname=site-e-commerce', 'root','root');
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules
$db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions
}catch(Exception $e){
echo 'Une erreur est survenue';
exit();
}
//récupération PROPRE des variables AVANT de les utiliser
$title = !empty($_POST['title']) ? $_POST['title'] : NULL ;
$description = !empty($_POST['description']) ? $_POST['description'] : NULL;
$price = !empty($_POST['price']) ? $_POST['price'] : NULL;
$action = !empty($_GET['action']) ? $_GET['action'] : NULL;
$username = !empty($_SESSION['username']) ? $_SESSION['username'] : NULL;
if($username){
if(isset($_POST['submit'])){
//préférer un SWITCH au lieu de IF ELSIF ...
switch($action){
case 'add':
if($title&&$description&&$price){
$sql = "INSERT INTO products (title, description, prices) VALUES(:title,:description,:price)";
$datas = array(':title'=>$title,':description'=>$description,':price'=>$price);
}else{
echo'veuillez remplir tous les champs';
}
break;
case 'modify':
if($title&&$description&&$price){
$sql = "UPDATE products SET title = :title, description = :description , prices=:prices WHERE id=:id";
$datas = array(':title'=>$title,':description'=>$description,':price'=>$price,':id'=>$id);
}else{
echo'veuillez remplir tous les champs';
}
break;
case 'delete':
$sql = "DELETE FROM products WHERE id=:id";
$datas = array(':id'=>$id);
break;
default:
echo "Action inconnue ! Erreur ! ";
break;
}
if($sql){
//execution de la requete
try{
$insert = $db->prepare($sql);
$insert->execute($datas);
}catch(Exception $e){
echo 'Erreur : ' .$e->getMessage();
}
}
}
}else{
header('location: ../index.php');
exit(); //toujours mettre un EXIT après une redirection
}
if($action){
?>
<form action="" method="post">
<h3>Titre du produit :</h3>
<input type="text" name="title" value="<?php echo $title; ?>">
<h3>Description du produit :</h3>
<input type="text" name="description" value="<?php echo $description; ?>">
<h3>Prix :</h3>
<input type="text" name="price" value="<?php echo $price; ?>">
<br/>
<input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
<link href="../style/bootstrap.css" type="text/css" rel="stylesheet"/>
<h1>Bienvenue,<?php echo $_SESSION['username']; ?></h1>
<br/>
<a href="?action=add" rel="nofollow noopener noreferrer" target="_blank">Ajouter un produit</a>
<a href="?action=modify" rel="nofollow noopener noreferrer" target="_blank">Modifier un produit</a>
<a href="?action=delete" rel="nofollow noopener noreferrer" target="_blank">Suprimer un produit</a>pener noreferrer" target="_blank">Suprimer un produit</a>
le probleme est s affiche une page vide
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
27 juil. 2017 à 18:42
27 juil. 2017 à 18:42
Tu sembles avoir du mal à comprendre le sens de mes mots ....
Que tu sois passé à Mysqli ... pourquoi pas.... mais... pour le reste de ton code tu sembles ne pas avoir tenu compte de mes remarques en commentaire du code que je t'avais donné.... (activation des erreurs php, récupération propre des variables AVANT de les utiliser...... )
Que tu sois passé à Mysqli ... pourquoi pas.... mais... pour le reste de ton code tu sembles ne pas avoir tenu compte de mes remarques en commentaire du code que je t'avais donné.... (activation des erreurs php, récupération propre des variables AVANT de les utiliser...... )
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
30 juil. 2017 à 21:10
30 juil. 2017 à 21:10
Tu t'assures que tu as les valeurs suivantes dans ton fichier php.ini
Et
Une fois ces valeurs modifiées dans ton fichier ini ... tu redémarres ton apache
Ensuite... tu reliras bien ton code....
Tu as encore des accolades qui ne sont pas fermées.....
Sans parler du code qui est en bordel complet......
Sachant que ce code :
fonctionne parfaitement......
Au passage... j'y ai mis un peu de debug .. que tu pourras retiré une fois que ta page fonctionnera totalement.
Ah..et... au passage ....Assures toi que tes fichiers sont bien encodés en UTF8 sans BOM.
(voir chapitre 1 ici : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8 )
error_reporting = E_ALL & ~E_NOTICE
Et
display_errors = On
Une fois ces valeurs modifiées dans ton fichier ini ... tu redémarres ton apache
Ensuite... tu reliras bien ton code....
Tu as encore des accolades qui ne sont pas fermées.....
Sans parler du code qui est en bordel complet......
Sachant que ce code :
<?php //démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //connexion à la bdd try{ $db = new PDO('mysql:host=localhost;dbname=site-e-commerce', 'root',''); $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); // les noms de champs seront en caractères minuscules $db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION); // les erreurs lanceront des exceptions }catch(Exception $e){ echo 'Une erreur est survenue ! ' . $e->getMessage(); exit(); } //récupération PROPRE des variables AVANT de les utiliser $title = !empty($_POST['title']) ? $_POST['title'] : NULL ; $description = !empty($_POST['description']) ? $_POST['description'] : NULL; $price = !empty($_POST['price']) ? $_POST['price'] : NULL; $action = !empty($_GET['action']) ? $_GET['action'] : NULL; $username = !empty($_SESSION['username']) ? $_SESSION['username'] : NULL; //---------------------------// //le temps des tests echo "<br>username : " . $username; echo "<br>action : " . $action; echo "<br><pre> Variables POST :<br>"; print_r($_POST); echo "</pre>"; //---------------------------// if($username){ if(isset($_POST['submit'])){ //préférer un SWITCH au lieu de IF ELSIF ... switch($action){ case 'add': if($title&&$description&&$price){ $sql = "INSERT INTO products (title, description, prices) VALUES(:title,:description,:price)"; $datas = array(':title'=>$title,':description'=>$description,':price'=>$price); }else{ echo'veuillez remplir tous les champs'; } break; case 'modify': if($title&&$description&&$price){ $sql = "UPDATE products SET title = :title, description = :description , prices=:prices WHERE id=:id"; $datas = array(':title'=>$title,':description'=>$description,':price'=>$price,':id'=>$id); }else{ echo'veuillez remplir tous les champs'; } break; case 'delete': $sql = "DELETE FROM products WHERE id=:id"; $datas = array(':id'=>$id); break; default: echo "Action inconnue ! Erreur ! "; break; } //---------------------------// //le temps des tests echo "SQL : " .$sql; echo "<br> DATAS :<br><pre>"; print_r($datas); echo "</pre>"; //---------------------------// if($sql){ //execution de la requete try { $insert = $db->prepare($sql); $insert->execute($datas); }catch(Exception $e) { echo 'Erreur : ' .$e->getMessage(); } } } }else{ echo " AUCUN USERNAME de présent !!!! ERREUR !!! Grosse erreur !!!!"; //le temps des tests ! //header('location: ../index.php'); //exit(); //toujours mettre un EXIT après une redirection } if($action){ ?> <form action="" method="post"> <h3>Titre du produit :</h3> <input type="text" name="title" value="<?php echo $title; ?>"> <h3>Description du produit :</h3> <input type="text" name="description" value="<?php echo $description; ?>"> <h3>Prix :</h3> <input type="text" name="price" value="<?php echo $price; ?>"> <br/> <input type="submit" name="submit" value="submit"> </form> <?php } ?> <link href="../style/bootstrap.css" type="text/css" rel="stylesheet"/> <h1>Bienvenue, <?php echo $username;?></h1> <br/> <a href="?action=add" rel="nofollow noopener noreferrer" target="_blank">Ajouter un produit</a> <a href="?action=modify" rel="nofollow noopener noreferrer" target="_blank">Modifier un produit</a> <a href="?action=delete" rel="nofollow noopener noreferrer" target="_blank">Suprimer un produit</a>
fonctionne parfaitement......
Au passage... j'y ai mis un peu de debug .. que tu pourras retiré une fois que ta page fonctionnera totalement.
Ah..et... au passage ....Assures toi que tes fichiers sont bien encodés en UTF8 sans BOM.
(voir chapitre 1 ici : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8 )
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
30 juil. 2017 à 22:09
30 juil. 2017 à 22:09
merci vraiment puisque je vois au moin une evolution mais de que je remplis le formulaire,il ya une nouvelle page qui s ouvre avec le formulaire mais aussi avec les donnees saissi alors que normalement le donnee devait est sauvegarde dans ma BDD
Note:je aussi ajoute (charset=utf8')
Note:je aussi ajoute (charset=utf8')
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
30 juil. 2017 à 22:20
30 juil. 2017 à 22:20
Regarde dans ta bdd... les donnees s'y enregistrent non ??
Apres... quel comportement exact veux tu ? ( en details...)
Apres... quel comportement exact veux tu ? ( en details...)
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
30 juil. 2017 à 22:41
30 juil. 2017 à 22:41
dans ma bdd il ya pas les donnees mais s affiche sur la meme pas du formulaire apres avoir submit!
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
30 juil. 2017 à 23:40
30 juil. 2017 à 23:40
Et qu'affichent les debug qur je t'ai donné ??
hm0123
Messages postés
34
Date d'inscription
lundi 24 juillet 2017
Statut
Membre
Dernière intervention
31 juillet 2017
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
30 juil. 2017 à 23:48
30 juil. 2017 à 23:48
les code passe et s affiche meme le donnees saissi sur la page meme du formulaire mais dans la bdd il ya rien du tout
26 juil. 2017 à 21:16
je crois avoir deja fait ca
vois un peut quelque code de reference
et la suite apres</form>
et pour finir il ya ca
je crois pour plus clarification c est mieuc de check le code au dessus un peu plus en details!!
26 juil. 2017 à 21:47
ton formulaire n'est pas correct, ton code php n'est pas correct, et j'ai l'impression que tu ne connais pas les concepts de base de php et html.
mettre l'action (ajouter, modifier, supprimer) comme une option dans ton formulaire, cela signifie avoir cette option après le <form et avant le </form>. et pas utiliser des <a href.
Modifié le 28 juil. 2017 à 11:34
voila un peut le code comment c'etait a la base avec que je puis ajoute la connection a la base de donnee est autres
et pour le href c est just le lien qui ramene sur sur la page de l action choisie
je crois mon vraie probleme est au niveau de database puisque le reste marche bien deja mais seulement que apres avoir mis de connexion a la bas de donnees sa ma pose probleme...je coir si vous essaiez le code nouveaux je je viens de mettre c est mieux