Envois formulaire XMLHttpRequest POST BDD [Résolu]

Signaler
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012
-
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012
-
bonjour,

alors voilà,
cela fait trois jours que je tourne en rond avec un problème qui à l'air idiot mais que je n'arrive à résoudre.

je m'explique, j'ai un formulaire que j'envois par xmlhttprequest à une page en php qui me remplit une base de donnée.

et je me trouve avec deux soucis: le premier c'est qu'à la place d'avoir é ou comme j'aimerais : é dans ma bdd, je me retrouve avec é
l'autre souci c'est que le textarea sur lequel j'utilise tiny_mce enregistre les caractères jusqu'au premier accent, donc si j'écris ailé je me retrouve avec ail dans ma bdd

voici mon formulaire :

<form method="post" action="write.php">
    first

    secound    <textarea id="secound" name="secound"> </textarea>

   
    [# Submit]
    </form>

voici mon script php

<?php
header('Content-type: text/html; charset=iso-8859-1');
include'connex.php';

$first=mysql_escape_string(htmlentities($_POST['first']));
$secound=mysql_escape_string($_POST['secound']);

$idcom=connex('letest','param');
        $req="INSERT INTO ajaxtest VALUES('$first','$secound')";
        $res=@mysql_query($req,$idcom);
        if(!$res)
        {
        echo "erreur ".mysql_error()."";
        }
        else
        {
            //header('Location:  index.php');
            echo'enregistrement ok';
        }
?>

voici mon code javascript

suBmit=function(){
    tinyMCE.triggerSave();
    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...");
    }

    var method   = "POST";
    var filename = "write.php";
    var first=document.getElementById('first').value;
var secound=document.getElementById('secound').value;
   
//var s2       = f.elements["string2"].value;
var data     = null;

if(first != "")
   data='first='+first+'&secound='+secound;

xhr_object.open(method, filename, true);

xhr_object.onreadystatechange = function() {
   if(xhr_object.readyState == 4) {
      var tmp = xhr_object.responseText;
       document.getElementById('resp').innerHTML=tmp;
     
   }
}

if(method == "POST")
   xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr_object.send(data);

}

voilà, j'espere que vous pourrez m'aider rapidement, j'agonize

s'alut

Annadrill

3 réponses

Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

et oui je réponds a mon propre post,
mais peut-etre servira-t-il à qqn d'autre.

jai passé deux jours dessus avant de me décider à poster ma question, hironique non?

en fait il suffit de transformer dans le javascript
var first=document.getElementById('first').value;
en
var first=escape(document.getElementById('first').value);

facile

bonne journée
Annadrill
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bonjour,
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, et oui je réponds a mon propre post,
mais
peut-etre servira-t-il à qqn
d'autre.</td>
</td></tr></tbody></table>Merci la
chose étant assez rare, penses à mettre ta réponse en réponse acceptée.
;O)
Messages postés
149
Date d'inscription
mercredi 9 mai 2007
Statut
Membre
Dernière intervention
22 novembre 2012

Voilà c'est fait!!!!

A noter que si qui que ce soit aurait une amélioration à faire au script,
ne vous génez pas ;)

Bonne soirée

Annadrill