Passages de variables pour requete sql

Résolu
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009 - 16 juin 2009 à 11:10
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009 - 17 juin 2009 à 09:35
Bonjour,

Je ne sais pas si je poste au bon endroit
J'ai une page php avec un formulaire contenant une liste avec des employé, une date, une durée, une activité et enfin un commentaire.
J'ai un bouton d'ajout d'activité qui rajoute les infos ci-dessus dans ma base de données ACCESS.
Pour cela j'ai créé un script AJAX qui appelle une 2ème page php pour effectuer la requete sans recharger ma page.
Cepandant, les varaible de mon formulaire ne sont pas transmises par le script, donc tout les champs rajoutés dans ma base de données sont nul.

Ma question est donc comment fair passer les variables d'une page à l'autre via le script ajax.

Merci d'avance.

48 réponses

Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009
17 juin 2009 à 09:35
C'est bon sa marche, j'ai passer en
xhr_object.open("POST", fichier, true);
xhr_object.setRequestHeader("Content-type","application/x-www-form-urlencoded");

et sa a fonctionner

Merci a vous 2 de votre aide.
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 11:17
Bonjour,

ben... c'est expliqué dans toutes les docs ajax ? non ?
si c'est en method get : ???.open("get","url/?paramètres à transmettre", true )
avec post, dans le send  ???.send(paramètres à transmettre);
avec paramètres à transmettre de la forme : nom1=valeur1&nom2=valeur2....
que le php gère avec $_GET ou $_POST [nom1'] et ['nom2']

Cordialement [mon Site] [M'écrire] Bul
0
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 11:24
xhr_object.send(emp=lstemp & act=champact ...);

avec lstemp qui viens de la 1ère page php et emp = nom1

c'est cela?
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 11:27
Comme ça... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0

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

Posez votre question
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 11:29
Lien qui marche pas chez moi ^^.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 11:32
Oups... ù*µ$%µ de proxy... je disais donc...

Comme ça... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 11:36
Merci je vais regarder sa.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 11:37
xhr_object.send(emp=lstemp & act=champact ...);
avec lstemp qui viens de la 1ère page php et emp = nom1
??? nom 1 ??? c'est quoi ????

dans la page appelée, $_POST['emp'] sera =
      au contenu de la variable javascript lstemp
                         et $_POST['act']           =
                                                        champact
puisqu'il semble que tu utilises post
le contenu des variables javascript, il n'y a que toi qui sache
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 11:43
au passage...

xhr_object.send('emp='+
encodeURI(
lstemp)+'&act='+
encodeURI(
champact));

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 11:44
mais tu auras des erreurs de syntaxe !
il faudrait au moins : xhr_object.send("emp="+lstemp+"&act="+champact ...);
0
Evony Messages postés 32 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 11:51
voila mon code sa sera peut-être plus claire
index.php:
        <form action= "" method="post">
    employé :
        <select name = "emp">
        <?php
        $rs = mssql_query("select * from employe order by nom");
        $ligne = mssql_fetch_array($rs);
        echo"<option value=0> </option>";
        while ($ligne == true)
        {
        echo"<option value=$ligne[NumEmp]>$ligne[Prenom]</option>";
        $ligne = mssql_fetch_array($rs);
        }
        ?>
        </select>

    &nbsp;Le :
       

    &nbsp;Durée :
       
    &nbsp;Activité :
        <select name = "act">
        <?php
        $rs2 = mssql_query("select * from activite order by Libelle");
        $ligne2 = mssql_fetch_array($rs2);
        while ($ligne2 == true)
        {
        echo"<option value=$ligne2[NumActivite]>$ligne2[Libelle]</option>";
        $ligne2 = mssql_fetch_array($rs2);
        }
        ?>
        </select>

    &nbsp;Commentaire:
       

&nbsp;
</form>

scrript.js:
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("POST", fichier, true);
xhr_object.send(null);  <-----------------------------------------------à mon avis c'est ici que je dois entrer les variables, mais je ne vois pas comment faire
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}

function ajout(aj)
{
file('ajout.php');
alert("Activité ajoutée");
}

ajout.php:
<?php
 //connexion au serveur MsSQL
  $connexion = mssql_connect("192.9.40.6","Edition","edition") or die ("Connexion impossible au SGBD.");

  //sélection de la BDD
  $base = mssql_select_db("GesCra", $connexion) or die ("Sélection de la base impossible.");
 
            $emp = $_POST["emp"];
            $act = $_POST["act"];
            $date1x = $_POST["dateaj"];
            $com = $_POST["com"];
            $duree = $_POST["duree"];
            $rs3 = mssql_query("select max(NumCra) as num from Cra");
            $ligne3 = mssql_fetch_array($rs3);
            $code=$ligne3[num]+1;
   
            $ch = "insert into cra (NumCra, NumEmp, NumActivite, DateCra, Duree, Commentaire) values ('$code', '$emp', '$act', '$date1x', '$duree', '$com')";
            $rs4 = mssql_query($ch);
?>
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 12:09
>>>>c'est ici que je dois entrer les variables, mais je ne vois pas comment faire

ben ?? on t'a dit pourtant ??? non ???
le principe :
xhr_object.send( "nom1 à utiliser en php= "+valeur1 reçue en php +
                        "&nom2 à utiliser en php="+valeur2 reçue en php + ... );
et toi, que veux tu transmettre ?
mettons le nom sélectionné dans ton select et la durée :
           si tu modifies ton from : <form name="frm" action ="" method="post">
xhr_object.send( "toto="+document.frm.emp.options[document.frm.emp.selectedIndex].value +
                        "titi="+document.frm.duree.value );
et coté php tu gères $-POST['toto'] qui est égal au nom sélectionné
et $_POST['titi'] qui est = au délai saisi
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 12:10
il fallait lire :
xhr_object.send( "toto= "+document.frm.emp.options[document.frm.emp.selectedIndex].value +
                        " & titi ="+document.frm.duree.value );
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 13:23
Je vois pas en quoi les double quotes feront moins d'erreur de syntaxe que les simple quotes... tu risque plus d'avoir des erreur de syntaxe à ne pas encoder le contenu des variables... .. .

@ tchaOo°

ps: tu t'adressais peut être à Evony...

l'homme est un loup pour l'homme... .. .
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 13:28
>>tu t'adressais peut être à Evony...
bien entendu ! on s'est croisés, sans que je vois ton message
>>Je vois pas en quoi les double quotes feront moins d'erreur de syntaxe que les simple quotes
en javascript " ou ' c'est pareil
>>tu risques plus d'avoir des erreur de syntaxe à ne pas encoder le contenu des variables
"ça dépend" ( ou 'ça dépend' )  et ici, ça se produirait "avant" ( ou 'avant' )
;o)
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 13:54
ou ici & là... lol... .. . ;o)

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 14:01
D'ailleurs j'ai dit une connerie... avec encodeURIComponent() ça marchera mieux... .. . :o)

@ tchaOo°

ps: Bul3... anciennement Bultez ?

l'homme est un loup pour l'homme... .. .
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 14:11
comment ça anciennement ?  l'age n'a rien à voir dans l'histoire
...
écoutez l'impartial message
de quelqu'un qui navigue entre 2 ages,
quand on est con ( ou quand on nait !?! ) on est con
petits cons d'la dernière averse
vieux cons des neiges d'antan...
paroles ( de mémoire d'Alzheimer ) de Brassens
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 14:15
Bon ok... je la refait à l'envers alors... .. .

Bultez ? nouvellement Bul3... .. ?

Enfin c'est une question comme ça... histoire de meubler... lol... ça faisait longtemps que je n'avais pas trainé mes guêtres par ici... .. . ;o)

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juin 2009 à 14:30
nouveau ? et alors !  la valeur n'attend pas le nombre des années !  ;o)))
et : oui. pour remettre les compteurs à 0 !
    et je referais probablement, sauf si un modérateur accepte de
    me remettre ces compteurs à 0, ce qui serait bien plus mieux,
   car je dois me déconnecter puis me reconnecter sur bultez pour
   répondre, et c'est ... emµ@#&£%
>>histoire de meubler.
comme le demandeur n'intervient plus ?!?
0
Rejoignez-nous