Je gal�re � comprendre l'�l�ment XMLHTTPRequest ! Apr�s de nombreuses recherches, je me tourne vers ce forum.

Mon but est simple : cr�er un nouvel enregistrement dans ma base de donn�es mysql, puis y enregistrer dans une table le contenu d'un input text; le tout d�s l'appui sur un boutton et sans recharger ma page HTML. Je note que l'appui sur ce boutton ferme la page en cours, pour en ouvrir une nouvelle (inscription_employes_2.php). La m�thode XMLHTTPRequest doit donc s'effectuer entre l'appui sur le boutton submit et le d�chargement de la page en cours.

Je vais vous montrer ce que j'ai fait :

1) du cot� du HTML :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
(...) 
<script language="JavaScript" src="scriptsjavascriptXMLHTTPRequestinscription_employes.js" type="text/JavaScript"></script> 
(...) 
<FORM METHOD="POST" ACTION="inscription_employes_2.php" name="form_1" id="form_1"> 
<label for="login">Login:</label><input type="text" name="login" id="login" /><br /> 
<input type="submit" name="memo" value="memo" id="memo" onclick="request01(this.form)" /> 
</FORM> 
(...)
2) du cot� du JAVASCRIPT (inscription_employes.js) :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function request01(f)
{
    var xhr=null;
 
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { alert_ajax(xhr); };
 
    //on appelle le fichier enregistrement_employes.php
    xhr.open("GET", "enregistrement_employes.php", true);
    xhr.send(null);
}
 
function alert_ajax(xhr)
{
    if (xhr.readyState==4) 
    {
    alert ("Requette effectuée");
    }
 
}
3) Et enfin du cot� de PHP (enregistrement_employes.php) :


Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
header('Content-Type: text/xml'); 
 
//on connect
$dbhost="localhost";
$dbuser="user";
$dbpass="pass";
 
$dblink=mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db("base_name",$dblink);
 
//on lance la requete
$query = "INSERT employes SET login=123";    //valeur 123 pour simplifier la requette pour l'instant
$result = mysql_query($query,$dblink) or die (mysql_error($dblink));
sleep(5);
 
?>
Voil�, je pense avoir donn� les �l�ments essenciels. Ce qui est bizard, c'est que j'ai bien le message d'internet explorer qui apparait : alert("Requ�te effectu�e !") qui signale que le processus XMLHTTPRequest � fini sont traitement; Mais par contre quand je regarde dans ma table, il n'y a aucun enregistrement suppl�mentaire qui a �t� cr�� et donc je ne trouve pas le login qui devrait �tre enregistr�. Par cons�quent ma SQL n'est pas ex�cut�!!!
Ce dont je suis sur c'est que la requette marche si je la teste normalement (sans passer par XMLHTTPRequest). Donc le probl�me viendrait plutot du cot� de mon processus XMLHTTPRequest. D'autre part, m�me en faisant expr� de mettre une erreur dans le script php, celle-ci n'est pas signal�e. Donc j'en d�duit que le script php n'est pris en compte!

Ya-t-il quelque chose que j'ai oubli� dans les �l�ments fondamentaux d'un tel proced� XMLHTTPRequest. Est-ce qu'il faut obligatoirement installer un Framwork sur le serveur? En effet, j'ai vu dans ce forum que l'on parle des Framwork.

Pouvez-vous me donner un coup de main, car j'ai perdu assez de temps la dessus.
Merci beaucoup pour votre aide, cordialement