Je n'arrive pas à inserrer les données dans la bd
varley
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
Xavierdu34 Messages postés 216 Date d'inscription Statut Membre Dernière intervention -
Xavierdu34 Messages postés 216 Date d'inscription Statut Membre Dernière intervention -
bonjour,
je suis entrain de m'exercer avec PDO et j'ai un problème car je n'arrive pas à inserrer les données dans la bd j'ai déclaré une variable global dans la bd pour pour pouvoir se connecter mais toujours rien
quelque peut dire m'aider
je vous remercie en avance
plus bas mon fichier de connexion a la bd
et un fichier qui englobe tout le code
bdd.php
<?php
try{
$connect=new PDO('mysql:host=localhost;dbname=test','root','');
}catch(Exception $e){
die('Erreur:'.$e->getMessage());
}
?>
login.php
<html>
<body>
<form method="post" action="">
<input type="text" name="titre"/>
<input type="text" name="auteur"/>
<input type="text" name="contenu"/>
<input type="submit" name="submit" value="connexion"/>
</form>
</body>
</html>
<?php
include('bdd.php');
$connect=new PDO('mysql:host=localhost;dbname=test','root','');
if(isset($_POST['submit'])){
$titre=htmlentities(trim($_POST['titre']));
$auteur=htmlentities(trim($_POST['auteur']));
$contenu=htmlentities(trim($_POST['contenu']));
if(empty($_POST['titre'])){
echo "entrez le titre";
}
if(empty($_POST['auteur'])){
echo "entrez auteur";
}
if(empty($_POST['contenu'])){
echo "entrez le contenu";
}
else{
function connexion($titre,$auteur,$contenu){
//on prepare la reque puis on exécute
global $connect;
$query="INSERT INTO news(titre,auteur,contenu)
VALUES(:titre,:auteur,:contenu)";
$res=$connect->prepare($query);
$verification=$res->execute(array(":titre" =>$titre,":auteur" =>$auteur,":contenu" =>$contenu));
//fonction qui verifie si le pseudo existe deja
if($verification){
echo "data insere";
}else{
echo "data non inserre";
}
}
}
}
?>
je suis entrain de m'exercer avec PDO et j'ai un problème car je n'arrive pas à inserrer les données dans la bd j'ai déclaré une variable global dans la bd pour pour pouvoir se connecter mais toujours rien
quelque peut dire m'aider
je vous remercie en avance
plus bas mon fichier de connexion a la bd
et un fichier qui englobe tout le code
bdd.php
<?php
try{
$connect=new PDO('mysql:host=localhost;dbname=test','root','');
}catch(Exception $e){
die('Erreur:'.$e->getMessage());
}
?>
login.php
<html>
<body>
<form method="post" action="">
<input type="text" name="titre"/>
<input type="text" name="auteur"/>
<input type="text" name="contenu"/>
<input type="submit" name="submit" value="connexion"/>
</form>
</body>
</html>
<?php
include('bdd.php');
$connect=new PDO('mysql:host=localhost;dbname=test','root','');
if(isset($_POST['submit'])){
$titre=htmlentities(trim($_POST['titre']));
$auteur=htmlentities(trim($_POST['auteur']));
$contenu=htmlentities(trim($_POST['contenu']));
if(empty($_POST['titre'])){
echo "entrez le titre";
}
if(empty($_POST['auteur'])){
echo "entrez auteur";
}
if(empty($_POST['contenu'])){
echo "entrez le contenu";
}
else{
function connexion($titre,$auteur,$contenu){
//on prepare la reque puis on exécute
global $connect;
$query="INSERT INTO news(titre,auteur,contenu)
VALUES(:titre,:auteur,:contenu)";
$res=$connect->prepare($query);
$verification=$res->execute(array(":titre" =>$titre,":auteur" =>$auteur,":contenu" =>$contenu));
//fonction qui verifie si le pseudo existe deja
if($verification){
echo "data insere";
}else{
echo "data non inserre";
}
}
}
}
?>
A voir également:
- Je n'arrive pas à inserrer les données dans la bd
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Les données fournies dans le fichier a telecharger - Forum Excel
2 réponses
Bonjour,
Pleins d'erreurs dans ton code......
Par exemple... : Tu as créé un fichier bdd.php .... pourquoi ne l'utilises tu pas dans tes codes au lieu de recopier le code de connexion un peu partout dans ton code ??
Tu as créés une fonction ... mais tu ne l'appelles pas !
Bref :
Voici ton code remanié :
nb : On place le PHP AVANT le html en général !
PS: Merci d'utiliser les balises de code lorsque tu postes du code sur le forum. Merci de lire ceci : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Pleins d'erreurs dans ton code......
Par exemple... : Tu as créé un fichier bdd.php .... pourquoi ne l'utilises tu pas dans tes codes au lieu de recopier le code de connexion un peu partout dans ton code ??
Tu as créés une fonction ... mais tu ne l'appelles pas !
Bref :
Voici ton code remanié :
<?php //bdd.php try{ $connect=new PDO('mysql:host=localhost;dbname=test','root',''); }catch(Exception $e){ die('Erreur:'.$e->getMessage()); } ?>
nb : On place le PHP AVANT le html en général !
<?php //login.php //connexion à la BDD require_once 'bdd.php'; //------------------------------------------// // FONCTIONS //------------------------------------------// function createLigne($titre,$auteur,$contenu){ //on prepare la reque puis et les variables global $connect; $sql="INSERT INTO news(titre,auteur,contenu) VALUES(:titre,:auteur,:contenu)"; $a_datas = array(":titre" =>$titre,":auteur" =>$auteur,":contenu" =>$contenu); //Exécution de la requete : try{ $res=$connect->prepare($sql); $resultat=$res->execute($a_datas); }catch(Exception $e){ echo "<br>Erreur : ".$e->getMessage(); $resultat = false; } return $resultat; } //-------------------------------------------// // Traitemetnt du submit //-------------------------------------------// //récupération "propre" des variables $titre = !empty($_POST['titre']) ? htmlentities(trim($_POST['titre'])) : null; $auteur = !empty($_POST['auteur']) ? htmlentities(trim($_POST['auteur'])) : null; $contenu = !empty($_POST['contenu']) ? htmlentities(trim($_POST['contenu'])) :null; if(isset($_POST['submit'])){ $msg = array(); //si tous les champs sont remplis : if($titre && $auteur && $contenu){ //appel de la fonction : $insertion = createLigne($titre,$auteur,$contenu); if(!$insertion){ echo "Erreur lors de l'insertion dans la BDD !"; } }else{ //sinon on vérifie chaque champ : if(!$titre){ $msg[] = 'entrez le titre';} if(!$auteur){ $msg[] = 'entrez un auteur';} if(!$contenu){ $msg[] = 'entrez le contenu';} } } ?> <html> <body> <div id="zone_formulaire"> <form method="post" action=""> <input type="text" name="titre"/> <input type="text" name="auteur"/> <input type="text" name="contenu"/> <input type="submit" name="submit" value="connexion"/> </form> </div> <div id="zone_message"> <?php //si il y a des messages à afficher : if(!empty($msg)){ foreach($msg as $M){ echo "<br>".$M; } } ?> </div> </body> </html>
PS: Merci d'utiliser les balises de code lorsque tu postes du code sur le forum. Merci de lire ceci : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Bonjour,
si cela peut t'aider j'ai rédiger un mini manuel pour PDO sur mon blog :
http://ww12.xrecasens.info
Cdlt.
si cela peut t'aider j'ai rédiger un mini manuel pour PDO sur mon blog :
http://ww12.xrecasens.info
Cdlt.