Probleme xmlhttprequest

Fermé
unitednowhere Messages postés 2 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 17 avril 2008 - 17 avril 2008 à 16:26
unitednowhere Messages postés 2 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 17 avril 2008 - 17 avril 2008 à 16:40
Bonjour,

petit nouveau sur ce forum que je consulte souvent pour la mine d'infos contenues, j'ai besoin de votre aide:

Je commence par le code:

fichier NvCommande.php
<form action="cahier.php?page=confirmNvCommande" method="POST">
<?php
	mysql_connect("localhost", "root", "nicolas") or die(mysql_error()); // Connexion à MySQL
	mysql_select_db("cahiernoir"); // Sélection de la base
	$idCommande = mysql_query("SELECT Ncommande FROM commande ORDER BY Ncommande DESC LIMIT 0,1"); // On recupere l'id de la dernière table de "commande"
	$tmp = mysql_fetch_array($idCommande);
	$idCommande= $tmp["Ncommande"]+1; // On ajoute 1 pour ratacher les produits à la nouvelle commande
?>
<script type="text/javascript">
function popupNvProduit(com) {
    window.open( "NvProduit.php?com="+com,"NouveauProduit","height=450, width=650, left=280, top=200, resizable=1")
}
</script>

<script type="text/javascript">
function refresh_div(commande)
{
	var xhr_object = null;
	if(window.XMLHttpRequest)
		{ // Firefox
			xhr_object = new XMLHttpRequest();
		}
	else if(window.ActiveXObject)
		{ // Internet Explorer
			xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
		}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr_object = false; 
		}
		
		
		
	xhr_object.open("POST", "produits.php", true);
	xhr_object.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	data="comm="+commande;
	alert(data);
	xhr_object.send(data);
	xhr_object.onreadystatechange = function()
		{
			if(xhr_object.readyState == 4)
			{
				var tmp = xhr_object.responseText;
				document.getElementById('prod').innerHTML = tmp;
			}
	setTimeout('refresh_div()', 5000);
}
</script>

<table width='100%'>
un tableau sans importance
</table>

<body onload='refresh_div(<?php echo $idCommande ?>);'>
  <div id="prod"></div> 
</body>


fichier produits.php

<?php
	$commande = $_POST['comm'];
	echo "com: $commande";
	function mysql_DateTime($d) {
		$date=NULL;
		if (!empty($d)){	
			$date = substr($d,8,2)."/";        // jour 
			$date = $date.substr($d,5,2)."/";  // mois 
			$date = $date.substr($d,0,4). " "; // année 
			$date = $date.substr($d,11,5);     // heures et minutes 
			return $date;
		}
	
	}
$num=0;
echo "<table align='center'>";
mysql_connect("localhost", "root", "nicolas") or die(mysql_error()); // Connexion à MySQL
mysql_select_db("cahiernoir"); // Sélection de la base
//$idCommande = mysql_query("SELECT Ncommande FROM commande ORDER BY Ncommande DESC LIMIT 0,1"); // On recupere l'id de la dernière table de "commande"
//$tmp = mysql_fetch_array($idCommande);
//$idCommande= $tmp["Ncommande"]+1; // On ajoute 1 pour ratacher les produits à la nouvelle commande

$produit = mysql_query("SELECT * FROM produit WHERE Ncommande='$commande' ORDER BY Nproduit");
while ($donnees = mysql_fetch_array($produit) ) // Pour parcourir toutes les commandes et les afficher
	{
		$lib=$donnees['Libelle'];
		$Nprod = $donnees['Nproduit'];
		$cons= $donnees['RefConst'];
		$fourn=$donnees['RefFourn'];
		$serie=$donnees['Nserie'];
		$debut=mysql_DateTime($donnees['DateDebut']);
		$fin=mysql_DateTime($donnees['DateFin']);
		$duree=$donnees['Duree'];
		$num++;
		echo" <tr><td></br></td></tr> <!-- On affiche l'ensemble des commandes-->";
		echo" <tr> <td bgcolor='#000000'><font color='white'>Produit $num </td>  <td align='center'><input type='button' onClick='popupSupprimerProduit($Nprod, $idCommande)' value='Supprimer'></td>  </tr>";
		echo "<tr bgcolor='#DDDDDD'><td>Libell&eacute; </td><td > $lib </td> </tr>";
		echo " <tr  bgcolor='#FFFCCC'><td>Ref. Constructeur</td><td >$cons</td></tr>";
		echo " <tr  bgcolor='#DDDDDD'><td>Ref(s). Fournisseur(s)</td><td > $fourn</td></tr>";
		echo " <tr  bgcolor='#FFFCCC'><td>N de s&eacute;rie</td><td >$serie</td></tr>";
		echo " <tr  bgcolor='#DDDDDD'><td>Date D&eacute;but</td><td >$debut</td></tr>";
		echo " <tr  bgcolor='#FFFCCC'><td>Date Fin</td><td >$fin</td></tr>";
		echo " <tr  bgcolor='#DDDDDD'><td>Dur&eacute;e</td><td >$duree</td></tr>";
	}
	mysql_close(); // Déconnexion de MySQL
	echo"</table>";
?>




Le 1er fichier doit envoyer le parametre "commande" au fichier produits..php (via le javascript et send(data) de xmlhttprequest.

Le fichier produit.php recupere le numero de commande ($commande = $_POST['comm'];) et recherche les produits pour cette commande dans la base de données.

Or, je n'ai aucun affichage d'un produit et IE7 me dit "erreur sur la page" erreur: objet attendu.

Je sèche depuis hier matin la donc si une ame charitable pouvait me venri en aide ca serait merveilleux!

Merci d'avance à tous.

1 réponse

unitednowhere Messages postés 2 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 17 avril 2008
17 avril 2008 à 16:40
Surtout si je ne suis pas clair dites le moi! :)
0