Function creer_conversation en pdo (avec insert values)
Résolu/Fermé
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
-
22 juin 2015 à 23:52
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 23 juin 2015 à 16:51
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 23 juin 2015 à 16:51
A voir également:
- Function creer_conversation en pdo (avec insert values)
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Reboot and select proper boot device or insert boot media in selected boot device and press a key - Forum Windows
- Insert boot disk and press any key ✓ - Forum Windows
- Activer touche insert sur ASUS UX32A - Forum Clavier
4 réponses
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 00:41
23 juin 2015 à 00:41
re,
Il y a des moments où je me demande si tu ne ferais pas un peu exprès.....
1 - .. la fonction d'origine contient TROIS REQUETES ... il faudra que tu m'expliques comment tu as pu imaginer n'en faire qu'une !
2 - Si tu regardes ce que tu as écris... tu as 2 paramètres dans ta requête... et tu essaies de lui passer 6 variables dans le $params.... ne penses-tu pas qu'il y a un petit souci ???
3 -
Forcément.. voir les points 1 et 2 de cette même réponse !
Il y a des moments où je me demande si tu ne ferais pas un peu exprès.....
1 - .. la fonction d'origine contient TROIS REQUETES ... il faudra que tu m'expliques comment tu as pu imaginer n'en faire qu'une !
2 - Si tu regardes ce que tu as écris... tu as 2 paramètres dans ta requête... et tu essaies de lui passer 6 variables dans le $params.... ne penses-tu pas qu'il y a un petit souci ???
3 -
mais j'ai du mal :/
Forcément.. voir les points 1 et 2 de cette même réponse !
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 00:58
23 juin 2015 à 00:58
NON..
Les noms de variables ne correspondent à rien dans ton ARRAY de params.... et $id_intervention n'existe tout simplement pas.....
D'ailleurs... vu que c'est un champ auto-incrémenté dans cette table là.. il ne faut même pas le mettre !
Enfin bon. peu importe....
Voici le code tout fait.
(NB : Tu constateras que j'ai découpé en TROIS fonctions qui traitent chacune une des requêtes.... le tout... appelé par UNE fonction principale. )
PS: Avant de tester ... penses à désactiver les éventuelles redirection que tu pourrais avoir sur ta page.... histoire de pouvoir visualiser les éventuels messages d'erreur !!
Les noms de variables ne correspondent à rien dans ton ARRAY de params.... et $id_intervention n'existe tout simplement pas.....
D'ailleurs... vu que c'est un champ auto-incrémenté dans cette table là.. il ne faut même pas le mettre !
Enfin bon. peu importe....
Voici le code tout fait.
(NB : Tu constateras que j'ai découpé en TROIS fonctions qui traitent chacune une des requêtes.... le tout... appelé par UNE fonction principale. )
PS: Avant de tester ... penses à désactiver les éventuelles redirection que tu pourrais avoir sur ta page.... histoire de pouvoir visualiser les éventuels messages d'erreur !!
<?php // la fonction qui va crée la conversation et les messages qui va avec function creer_conversation($sujet,$message){ $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $id_conversation = add_conversation($sujet); add_conversations_membres($id_conversation,$pseudo_dest); add_conversations_messages($id_conversation,$pseudo_exp,$message); return $id_conversation; } function add_conversation($sujet=NULL){ global $bdd; $sql = "INSERT INTO conversations (sujet_conversation) VALUES(:sujet)"; $params = array(":sujet"=>$sujet); //On prepare l'insertion try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_membres($id_conversation,$pseudo_dest){ global $bdd; $sql="INSERT INTO conversations_membres(id_conversation,pseudo_dest) VALUES(:id_conversation,:pseudo_dest)"; $params=array(":id_conversation"=>$id_conversation ,":pseudo_dest"=>$pseudo_dest); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id } function add_conversations_messages($id_conversation,$pseudo,$message=''){ global $bdd; $sql="INSERT INTO conversations_messages(id_conversation,pseudo_exp,corps_message,date_message) VALUES(:id_conversation,:pseudo,:message, NOW())"; $params=array(":id_conversation"=>$id_conversation ,":pseudo"=>$pseudo ,":message"=>$message); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id } ?>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
23 juin 2015 à 01:13
23 juin 2015 à 01:13
oh merci c'est vraiment énorme de votre part je ne sais comment vous remercier !
sinon j'ai : Parse error: syntax error, unexpected '}' in C:\wamp\www\rs\functions\new_message.func.php on line 95
sinon j'ai : Parse error: syntax error, unexpected '}' in C:\wamp\www\rs\functions\new_message.func.php on line 95
<?php //la function qui va nous permettre de verifier si le pseudo existe et si la personne n'essaye pas de s'auto envoyer un message function pseudo_incorrect(){ global $bdd; $result=0; //Variables $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; if($pseudo_get){ $sql = "SELECT COUNT(pseudo) as NB FROM utilisateurs WHERE pseudo = :pseudo_get AND pseudo != :pseudo_session"; // je place les params dans une variable avant de l'utiliser : $params = array(':pseudo_session' =>$pseudo_session , ':pseudo_get' => $pseudo_get ); try{ $query = $bdd->prepare($sql); $query ->execute($params); $req= $query->fetchall(); $result= count($req)>0 ? $req[0]['NB']:0; }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } } // Fin du if($pseudo_session) // le return return $result; } // la fonction qui va crée la conversation et les messages qui va avec function creer_conversation($sujet,$message){ $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $id_conversation = add_conversation($sujet); add_conversations_membres($id_conversation,$pseudo_dest); add_conversations_messages($id_conversation,$pseudo_exp,$message); return $id_conversation; } function add_conversation($sujet=NULL){ global $bdd; $sql = "INSERT INTO conversations (sujet_conversation) VALUES(:sujet)"; $params = array(":sujet"=>$sujet); //On prepare l'insertion try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_membres($id_conversation,$pseudo_dest){ global $bdd; $sql="INSERT INTO conversations_membres(id_conversation,pseudo_dest) VALUES(:id_conversation,:pseudo_dest)"; $params=array(":id_conversation"=>$id_conversation ,":pseudo_dest"=>$pseudo_dest); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id } function add_conversations_messages($id_conversation,$pseudo,$message=''){ global $bdd; $sql="INSERT INTO conversations_messages(id_conversation,pseudo_exp,corps_message,date_message) VALUES(:id_conversation,:pseudo,:message, NOW())"; $params=array(":id_conversation"=>$id_conversation ,":pseudo"=>$pseudo ,":message"=>$message); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id } ?>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 01:31
23 juin 2015 à 01:31
; ligne 94
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
23 juin 2015 à 01:32
23 juin 2015 à 01:32
Parse error: syntax error, unexpected '}' in C:\wamp\www\rs\functions\new_message.func.php on line 120 mtn
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
23 juin 2015 à 01:36
23 juin 2015 à 01:36
Bon sens !!!!!!!!!!!
C'est la même chose que l'autre à une autre ligne. ... tu ne peux pas trouver tout seul ?????
C'est la même chose que l'autre à une autre ligne. ... tu ne peux pas trouver tout seul ?????
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
23 juin 2015 à 02:01
23 juin 2015 à 02:01
A-ha pardon
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
23 juin 2015 à 13:54
23 juin 2015 à 13:54
j'ai ceci : http://www.noelshack.com/2015-26-1435060454-erreur.jpg
code :
code :
<?php include('functions/membre.func.php'); include('body/header.php'); include('body/menu.php'); if(isset($_GET['pseudo']) && !empty($_GET['pseudo']) && pseudo_incorrect()=== "1") { if(isset($_POST['submit'])) { creer_conversation($sujet,$message); ?> <div class='success'>Votre message a bien été envoyé</div> <?php $sujet = htmlspecialchars(strip_tags(trim($_POST['sujet']))); $message = $sujet = htmlspecialchars(strip_tags(trim($_POST['message']))); if(!empty($sujet) && !empty($message)) { // }else{ ?> <div class='error'>Le sujet et le message sont obligatoires</div> <?php } } }else{ header("Location:index.php?page=membre"); } ?> <h3>Envoyer un message </h3> <form method='post' action=""> <label for='a'>à : </label> <input type="text" name='a' id='a' value='<?php echo $_GET['pseudo']; ?>' disabled='disabled'><br /> <label for='sujet'>Sujet : </label> <input type="text" name="sujet" id='sujet'><br /> <label for='message'>Votre message : </label> <textarea rows='6' cols='30' name='message' id='message'></textarea><br /><br /> <input type='submit' value="Envoyer" name='submit'> </form>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 14:11
23 juin 2015 à 14:11
<?php include('functions/membre.func.php'); include('body/header.php'); include('body/menu.php'); // RECUPERATION DES VARIABLES AVANT DE LES UTILISER ! $pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo'] : NULL; $sujet = !empty($_POST['sujet'])?trim($_POST['sujet']):NULL; $message = !empty($_POST['message'])? (strip_tags(trim($_POST['message']))):NULL; if($pseudo && pseudo_incorrect()=== "1") { if(isset($_POST['submit'])) { creer_conversation($sujet,$message); if(!$sujet && !$message){ echo "<div class='error'>Le sujet et le message sont obligatoires</div>"; }else{ echo "<div class='success'>Votre message a bien été envoyé</div>"; } } }else{ header("Location:index.php?page=membre"); } ?> <h3>Envoyer un message </h3> <form method='post' action=""> <label for='a'>à : </label> <input type="text" name='a' id='a' value='<?php echo $_GET['pseudo']; ?>' disabled='disabled'><br /> <label for='sujet'>Sujet : </label> <input type="text" name="sujet" id='sujet'><br /> <label for='message'>Votre message : </label> <textarea rows='6' cols='30' name='message' id='message'></textarea><br /><br /> <input type='submit' value="Envoyer" name='submit'> </form>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
23 juin 2015 à 15:14
23 juin 2015 à 15:14
j'ai : Fatal error: Call to undefined method PDOStatement::lastInsertId() in C:\wamp\www\rs\functions\new_message.func.php on line 62
<?php //la function qui va nous permettre de verifier si le pseudo existe et si la personne n'essaye pas de s'auto envoyer un message function pseudo_incorrect(){ global $bdd; $result=0; //Variables $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; if($pseudo_get){ $sql = "SELECT COUNT(pseudo) as NB FROM utilisateurs WHERE pseudo = :pseudo_get AND pseudo != :pseudo_session"; // je place les params dans une variable avant de l'utiliser : $params = array(':pseudo_session' =>$pseudo_session , ':pseudo_get' => $pseudo_get ); try{ $query = $bdd->prepare($sql); $query ->execute($params); $req= $query->fetchall(); $result= count($req)>0 ? $req[0]['NB']:0; }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } } // Fin du if($pseudo_session) // le return return $result; } // la fonction qui va crée la conversation et les messages qui va avec function creer_conversation($sujet,$message){ $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $id_conversation = add_conversation($sujet); add_conversations_membres($id_conversation,$pseudo_dest); add_conversations_messages($id_conversation,$pseudo_exp,$message); return $id_conversation; } function add_conversation($sujet=NULL){ global $bdd; $sql = "INSERT INTO conversations (sujet_conversation) VALUES(:sujet)"; $params = array(":sujet"=>$sujet); //On prepare l'insertion try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_membres($id_conversation,$pseudo_dest){ global $bdd; $sql="INSERT INTO conversations_membres(id_conversation,pseudo_dest) VALUES(:id_conversation,:pseudo_dest)"; $params=array(":id_conversation"=>$id_conversation ,":pseudo_dest"=>$pseudo_dest); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_messages($id_conversation,$pseudo,$message=''){ global $bdd; $sql="INSERT INTO conversations_messages(id_conversation,pseudo_exp,corps_message,date_message) VALUES(:id_conversation,:pseudo,:message, NOW())"; $params=array(":id_conversation"=>$id_conversation ,":pseudo"=>$pseudo ,":message"=>$message); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } ?>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 16:02
23 juin 2015 à 16:02
Remplace les lignes
Par :
$id = $prepare->lastInsertId();
Par :
$id = $bdd->lastInsertId();
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
23 juin 2015 à 16:38
23 juin 2015 à 16:38
Fatal error: Call to undefined method PDOStatement::lastInsertId() in C:\wamp\www\rs\functions\new_message.func.php on line 62
<?php //la function qui va nous permettre de verifier si le pseudo existe et si la personne n'essaye pas de s'auto envoyer un message function pseudo_incorrect(){ global $bdd; $result=0; //Variables $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_get = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; if($pseudo_get){ $sql = "SELECT COUNT(pseudo) as NB FROM utilisateurs WHERE pseudo = :pseudo_get AND pseudo != :pseudo_session"; // je place les params dans une variable avant de l'utiliser : $params = array(':pseudo_session' =>$pseudo_session , ':pseudo_get' => $pseudo_get ); try{ $query = $bdd->prepare($sql); $query ->execute($params); $req= $query->fetchall(); $result= count($req)>0 ? $req[0]['NB']:0; }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } } // Fin du if($pseudo_session) // le return return $result; } // la fonction qui va crée la conversation et les messages qui va avec function creer_conversation($sujet,$message){ $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; $pseudo_dest = isset($_GET['pseudo'])?$_GET['pseudo']:NULL; $id_conversation = add_conversation($sujet); add_conversations_membres($id_conversation,$pseudo_dest); add_conversations_messages($id_conversation,$pseudo_exp,$message); return $id_conversation; } function add_conversation($sujet=NULL){ global $bdd; $sql = "INSERT INTO conversations (sujet_conversation) VALUES(:sujet)"; $params = array(":sujet"=>$sujet); //On prepare l'insertion try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $prepare->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_membres($id_conversation,$pseudo_dest){ global $bdd; $sql="INSERT INTO conversations_membres(id_conversation,pseudo_dest) VALUES(:id_conversation,:pseudo_dest)"; $params=array(":id_conversation"=>$id_conversation ,":pseudo_dest"=>$pseudo_dest); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $bdd->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } function add_conversations_messages($id_conversation,$pseudo,$message=''){ global $bdd; $sql="INSERT INTO conversations_messages(id_conversation,pseudo_exp,corps_message,date_message) VALUES(:id_conversation,:pseudo,:message, NOW())"; $params=array(":id_conversation"=>$id_conversation ,":pseudo"=>$pseudo ,":message"=>$message); try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $bdd->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; } ?>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
4 693
23 juin 2015 à 16:46
23 juin 2015 à 16:46
Je t'ai dit ... remplaces LES ligneS
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38263
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2024
23 juin 2015 à 16:51
23 juin 2015 à 16:51
Merci :)
23 juin 2015 à 00:42
il te manque .... alors qu'on l'a déjà fait 75 fois dans tes questions précédentes :
-> le global $bbd
23 juin 2015 à 00:44
pour la première requête est-ce correct?