Recuperer id en ajax/php

msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 18 mai 2013 à 14:11
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 19 mai 2013 à 23:51
salut je voudrais récupérer un id envoyé à par l’intermédiaire d'un chemin dans mon code JavaScript. mais ça ne marche pas
dans ma page1.php ou j'ai :
$.post("index.php?page=post&<?php  $_GET['pseudo'];  ?>",{corps_message:corps_message},function(data){....


et dans post.php je dois recupérer afin de l'inserrer dans ma base de donnée .
voici post.php :

    <?php
     
    extract($_POST);
    if(isset($_POST['corps_message']) ){
    if(isset($_GET['pseudo']));
    $pseudo = $_GET['pseudo'];
    // declaration et securisation des variables
     
    $corps_message = mysql_real_escape_string($_POST['corps_message']);
    //$ladate = NOW();
    mysql_query("
    INSERT INTO conversations(id_conversation,sujet_conversation) VALUES('','')
    ") or die(mysql_error());
    $id_conversation = mysql_insert_id();
    mysql_query("
    INSERT INTO conversations_messages(id_conversation,pseudo_exp,corps_message,date_message) VALUES('{$id_conversation}','{$_SESSION['pseudo']}','{$corps_message}',NOW())
    ") or die(mysql_error());
    mysql_query("
    INSERT INTO conversations_membres(id_conversation,pseudo_dest) VALUES ('{$id_conversation}','{$pseudo}')
    ") or die(mysql_error());
    }
    ?>

16 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
18 mai 2013 à 18:59
Salut,

Il manque un égal...
$.post("index.php?page=post&<?php =$_GET['pseudo']; ?>"

Et je n'sais pas si tu es au courant, mais "{$id_conversation}" == "$id_conversation" (plus lisible...)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 02:00
oui merci je viens de voir mon erreur ça marche maintenant mais il se trouve que mon loader :

n'arrte pas de tourner mais je valide le formulaire et le champ n'est pas vide .
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 02:03
N'ayant pas la suite de ton JS...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 11:31
VOICI mes deux fichiers .
new_message.php


















#feedback {
display:none;
}
#loader {
display:none;
}




$(document).ready(function(){
/*créer un evenement sur le formulaire*/
$('form').submit(function(){
var corps_message = $('#corps_message').val();
if(corps_message!=""){
$('#loader').show();
/*Commençont la partie AJAX*/
$.post("index.php?page=postNew_message&pseudo=",{corps_message:corps_message},function(data){
$('#feedback').after("Poster par :"+pseudo+""+corps_message+"").show();
/*$('#feedback').append(data).show(); Remplacer par ce qui est just au dessus*/
$('#loader').hide();
$('#corps_message').attr('value','');
});
}
/*$('#feedback').text(username+""+message).show();*/
return false;
});
});


















Message














et postNew_message.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 11:42
Débogue avec des alert();, tu t'es peut-être trompé dans un sélecteur.
Regarde aussi ta console d'erreurs (sous Firefox, Ctrl-Shift-J)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 18:23
j'ai tout fait je vois pas .
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 21:36
On dirait pas. Fais un alert après la réception des données AJAX...
Si rien ne s'affiche c'est que la requête s'est mal passée (ou pas passée du tout).
Une erreur dans la console ?

Tout tester en un bloc et ne rien mettre pour déboguer c'est une énorme perte de temps.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 22:52
je viens de faire une alert comme ci-dessous et l'alerte marche bien en plus les données sont bien transmis dans la base de données mais le

n'arrte pas de tourner meme quand je valide le formulaire et le champ ne se vide pas en plus .

<script type="text/javascript">
$(document).ready(function(){
/*créer un evenement sur le formulaire*/
$('form').submit(function(){
alert('ok')
........ 
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 22:55
Je parlais de ça :
$.post("index.php?page=postNew_message[...]
alert('still alive');


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 23:08
a ce niveau aussi ça marche voici :
$(document).ready(function(){
/*créer un evenement sur le formulaire*/
$('form').submit(function(){
var corps_message = $('#corps_message').val();
if(corps_message!=""){
$('#loader').show();
/*Commençont la partie AJAX*/
$.post("index.php?page=postNew_message&pseudo=<?php  echo $_GET['pseudo'] ;   ?>",{corps_message:corps_message},function(data){
alert('still alive');
.................
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 23:10
Erreur JS ? La variable pseudo ne me semble pas exister en JS (ou alors j'ai mal regardé...)
Bizarre ta façon d'effacer le champ : $('#corps_message').val(''); c'est plus court.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 23:17
la je crois que j'ai pas bien saisi.
j'ai ecri ca :
$.post("index.php?page=postNew_message&pseudo=<?php  echo $_GET['pseudo'] ;   ?>"

pour pouvoir récupérer le pseudo . j'ai pas autre solution .

ensuite je vien de faire ça :
$(document).ready(function(){
/*créer un evenement sur le formulaire*/
$('form').submit(function(){
var corps_message = $('#corps_message').val();
if(corps_message!=""){
$('#loader').show();
/*Commençont la partie AJAX*/
$.post("index.php?page=postNew_message&pseudo=<?php  echo $_GET['pseudo'] ;   ?>",{corps_message:corps_message},function(data){
$('#feedback').after("<hr>Poster par :"+pseudo+""+corps_message+"").show();
/*$('#feedback').append(data).show();   Remplacer par ce qui est just au dessus*/
$('#loader').hide();
$('#corps_message').val('');
.......


mais le champ ne se vide pas apres que j'ai poster
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 23:20
Ce n'est pas parce que ta variable est insérée par PHP dans une URL qui n'est pour JS qu'une chaine de caractères
qu'il créera tout seul une variable portant le nom du paramètre GET !

T'as regardé la console d'erreurs ?

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 23:35
comment on fait pour utiliser la console d'erreur. et je comprend pas pour l'URL.
VOICI MES 2 fichiers .
new_message.php


















#feedback {
display:none;
}
#loader {
display:none;
}




$(document).ready(function(){
/*créer un evenement sur le formulaire*/
$('form').submit(function(){
var corps_message = $('#corps_message').val();
if(corps_message!=""){
$('#loader').show();
/*Commençont la partie AJAX*/
$.post("index.php?page=postNew_message&pseudo=",{corps_message:corps_message},function(data){
$('#feedback').after("Poster par :"+pseudo+""+corps_message+"").show();
/*$('#feedback').append(data).show(); Remplacer par ce qui est just au dessus*/
$('#loader').hide();
$('#corps_message').attr('value','');
});
}
/*$('#feedback').text(username+""+message).show();*/
return false;
});
});


















Message














et le fichier postNew_message.php
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 mai 2013 à 23:39
Déjà dit comment on fait :
console d'erreurs (sous Firefox, Ctrl-Shift-J)

Le problème vient clairement de cette variable qui n'existe pas pour JavaScript.
Il n'existe par défaut aucun partage des variables entre les différents langages !
Donc si tu veux t'en servir, fais un truc genre var pseudo = '<?=$_GET['pseudo']?>'; dnas ton JS.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
msi079 Messages postés 212 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
19 mai 2013 à 23:51
je viens d'ajouter ça :
var pseudo = '<?php echo $_GET['pseudo']; ?>';

et je crois que ça marche
0
Rejoignez-nous