AJAX PHP send var

cedriclomb Messages postés 275 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 27 avril 2010 - 24 oct. 2006 à 18:10
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 oct. 2006 à 18:24
Bonjour,

Bon la j'y pige que couik !

Alors voila le problème, je cherche a envoyer un fomulaire à PHP avec AJAX et une méthode POST, j'ai fait des recherches mais j'ai rien trouvé qui marche enfin apres mon adaptation !

J'ai ensuite pensez essayer une ruse, mais la ruse ne marche pas non plus donc je vous passe les codes de la ruse (la récupération de variabe marche mais pas l'envoi)
Si vous avez une solution soit pour un envoie propre soit avec une ruse  !

indexshoutbox.php



<form name= "ajax" method="post" action="contenu.php" target="shout">
   
</form>



contenu.php

<script type ="text/javascript">
function update()
{
    var pageUrl= "ajax.php";//page a charger
    if(typeof ActiveXObject == 'undefined')
    {
        xmlHttpRequest = new XMLHttpRequest();
        xmlHttpRequest.onload = writeIntoMyHTMLBlock;
    }
    else
    {
        xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        xmlHttpRequest.onreadystatechange = writeIntoMyHTMLBlock;
    }


    xmlHttpRequest.open("GET", pageUrl, true);
    xmlHttpRequest.send(null);
}


function writeIntoMyHTMLBlock(str)
{
    if(xmlHttpRequest.readyState==4 || xmlHttpRequest.readyState=="complete") 
        document.getElementById('MyHTMLBlock').innerHTML = xmlHttpRequest.responseText;
}


var xmlHttpRequest;
setInterval('update()',5000);
update();
</script>

 

ajax.php

<?php
  //C'est ici que ca bug !
if(isset($_POST['dyn']))
 {
 mysql_connect("*****","*****","****");
 mysql_select_db("*****");
 $sql ="INSERT INTO CJEU_shoutbox VALUES('','','',".$_POST['dyn'].")";
 $query=mysql_query($sql);
 echo $sql;
 }
//APRES C OK
?>
<?php
$fin=10;
mysql_connect("******","*******","*******");
mysql_select_db("********");


$sql="SELECT pseudo, message FROM CJEU_shoutbox ORDER BY ID_shoot DESC LIMIT 0,".$fin;
$query=mysql_query($sql);
while($retour=mysql_fetch_array($query))
 { 
 echo $retour['message'];
 }
?>

Merci d'avance
Cédric

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2006 à 18:24
Hello,

tu n'envoies aucune donnée là.

Un exemple en une page, pour que tu comprennes : tu verras qu'on crée une variable data qui est utilisé dans la méthode xmlhttp send ().

<script type="text/javascript">
if (window.XMLHttpRequest) {
   oXmlhttp = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
   oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }

function search (liste, clef, liste2, clef2) {
 oXmlhttp.open('POST','<?php echo $_SERVER['PHP_SELF']; ?>');
 oXmlhttp.onreadystatechange=function() {
  if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) {
   document.body.innerHTML = oXmlhttp.responseText;
  }
 }
 oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 var data = liste+'='+clef
 if (liste2 != 0 && clef2 != 0) {
     data += '&'+liste2+'='+clef2;
 }
 oXmlhttp.send (data);
}

</script>
<?php$aTab array (1> array ('test' => array ('test1', 'test2'), 'pour' => array ('pour1', 'pour2'), 'une' => array ('une1', 'une2'), 'blonde' => array ('blonde1', 'blonde2')),
  2 => array ('difficile' => array ('difficile1', 'difficile2'), 'ca?' => array ('ca1', 'ca2'),  'non...'=> array ('non1', 'non2')),
  3 => array ('très'=> array ('très1', 'très2'), 'facile'=> array ('facile1', 'facile2'), 'en'=> array ('en1', 'en2'), 'fait!'=> array ('fait1', 'fait2')));

?>

<form method="post">
<select name="liste1" onchange="search (this.name, this.value, 0, 0);">
<?php
foreach ($aTab as $clef => $dump) {
 $selected=(isset($_POST['liste1']) && $_POST['liste1'] == $clef)?'selected="selected"':'';
 echo '<option value="',$clef,'" ',$selected,'>',$clef,'</option>';
}
?>
</select>
<?php
if (isset ($_POST['liste1']) && !empty ($_POST['liste1'])) {
 echo '<select name="liste2" onchange="search (\'liste1\', ', $_POST['liste1'], ', this.name, this.value);">';
 foreach ($aTab[$_POST['liste1']] as $clef => $val) {
    $selected=(isset($_POST['liste2']) && $_POST['liste2'] == $clef)?'selected="selected"':'';
  echo '<option value="',$clef,'" ',$selected,'>',$clef,'</option>';
 }
 echo '</select>';
}
?>
<?php
if (isset ($_POST['liste2']) && !empty ($_POST['liste2'])) {
 echo '<select name="liste3">';
 foreach ($aTab[$_POST['liste1']][$_POST['liste2']] as $clef => $val) {
  echo '<option value="',$clef,'">',$val,'</option>';
 }
 echo '</select>';
}
?>
</form>
0
Rejoignez-nous