J'ai fais ça mais ça marche pas...
Le formulaire :
<script language="javascript" type="text/javascript" src="./ajax_pop.js"></script>
<form action="waitpop.php" method="post" class="identification_fields">
N° de commande : <input type="text" name="num_com" id="num_com" size="10" maxlength="10"></input><br />
Mot de passe : <input type="password" name="password" id="password" size="13" maxlength="10"></input><br />
<input type="submit" value="Voir votre commande" onclick="getResult(document.getElementById('num_com').value, document.getElementById('password').value);"></input>
</form>
</div>
ajax_pop.js :
/**
* XMLHTTPRequest.
*/
/* Création de la variable globale qui contiendra l'objet XHR */
var requete = null;
/**
* Fonction privée qui va créer un objet XHR.
* Cette fonction initialisera la valeur dans la variable globale définie
* ci-dessus.
*/
function creerRequete()
{
try
{
/* On tente de créer un objet XmlHTTPRequest */
requete = new XMLHttpRequest();
}
catch (microsoft)
{
/* Microsoft utilisant une autre technique, on essays de créer un objet ActiveX */
try
{
requete = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(autremicrosoft)
{
/* La première méthode a échoué, on en teste une seconde */
try
{
requete = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(echec)
{
/* À ce stade, aucune méthode ne fonctionne... mettez donc votre navigateur à jour ;) */
requete = null;
}
}
}
if(requete == null)
{
alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
}
}
function getResult(num_com, password)
{
/* Si il n'y a pas d'identifiant de région, on fait disparaître la seconde liste au cas où elle serait affichée */
if(num_com != 'vide' || password != 'vide' ) {
/* On crée l'objet XHR */
creerRequete();
/* Définition du fichier de traitement */
var url = './test_couple.php';
requete.open('POST', url, true);
var data = "num_com=" + num_com + "&password=" + password;
requete.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
/* Envoi de la requête */
requete.send(data);
/* On surveille le changement d'état de la requête qui va passer successivement de 1 à 4 */
requete.onreadystatechange = function()
{
/* Lorsque l'état est à 4 */
if(requete.readyState == 4)
{
/* Si on a un statut à 200 */
if(requete.status == 200)
{
/* Mise à jour de l'affichage, on appelle la fonction apropriée */
window.open("./popup.php","nom_popup","menubar=no, status=no, scrollbars=no, menubar=no, width=200, height=100");
}
}
};
requete.send(null);
}
}
test_couple.php :
<?php
/* Inclusion du fichier de fonctions */
include('./functions.php');
/* Connexion à la BdD */
connect_db();
/* On récupère l'identifiant de la région choisie. */
$num_com = isset($_POST['num_com']) ? $_POST['num_com'] : false;
$password = isset($_POST['password']) ? $_POST['password'] : false;
/* Si on a une région, on procède à la requête */
if(false !== $num_com || false !== $password)
{
/* Cération de la requête pour avoir les départements de cette région */
$result = mysql_query('SELECT num_com, password FROM contact_par_passwords WHERE num_com="'.$_POST['num_com'].'" AND password="'.$_POST['password'].'"');
if ($enreg = @mysql_fetch_array($result)) {
echo '<img src="./images/ok.png" alt="" />';
} else {
echo '<img src="./images/pas_ok.png" alt="" />';
}
}
/* Sinon on retourne un message d'erreur */
else
{
echo("<p>Une erreur s'est produite.</p>\n");
}
?>
popup.php :
<?php echo $_POST['num_com']; ?>
<br />
<?php echo $_POST['password']; ?>
Voilà voilàMerci à toi
