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.
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");
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']
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
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>
Le :
Durée :
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>
Commentaire:
</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;
>>>>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
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... .. .
>>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)
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
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 ?!?