J'ai beaucoup essayé mais je n'ai pas été en mesure de trouver ce qui ne va pas avec cette fonction pour enregistrer deux valeurs dans la base de données. Cela a fonctionné correctement pour qu'une autre fonction enregistre une valeur. Il se comporte très étrange ici. Parfois, envoyez la valeur 'parent' & parfois cesser de l'envoyer mais n'envoyez jamais de valeur de msg. Voici la fonction. Cela fonctionne bien pour une entrée, c'est-à-dire un parent, mais les problèmes commencent avec l'ajout de la deuxième entrée.erreur dans la fonction json enregistrement des données dans la base de données
<script>
function ADDLISITEM(form)
{
var parent = form.txtInput.value;
var msg = form.msgInput.value;
form.txtInput.value = "";
form.msgInput.value = "";
var url = "send_mysql.php"
var request = null;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
request=new XMLHttpRequest();
}
else
{// code for IE6, IE5
request=new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("POST", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.setRequestHeader("Connection", "close");
request.onreadystatechange = function(){
if (request.readyState == 4) {
if (request.status == 200) {
//alert('POST');
} else {
alert(request.status); // fails here
}
}
}
request.send("parent=" + encodeURIComponent(parent).replace(/%20/g, '+')+"&msg=" +
encodeURIComponent(msg).replace(/%20/g, '+'));
}
</script>
C'est send.php
$ username = "babar";
$ password = "k4541616";
$ hostname = "localhost";
$ dbh = mysql_connect ($ nom d'hôte, $ nom d'utilisateur, $ mot de passe) ou die ("Impossible de se connecter
à MySQL"); $ Selected = mysql_select_db ("spec", $ dbh) ou die ("Impossible de sélectionner first_test"); ?
//die(var_export($_POST,TRUE));
$parent = $_POST['parent'];
$msg = $_POST['msg'];
$name = 'Akhtar Nutt';
//$parent2 = json_decode($parent);
$msg_ID = '2q7b2sfwwe';
//$msg2 = json_decode($msg);
$query = "INSERT INTO msg2_Qualities(id,name,msg,msg_id,parent) VALUES
('','$name','$msg','$msg_ID','$parent')";
if(!mysql_query($query, $dbh))
{die('error:' .mysql_error())
;}
>
J'ai essayé les deux mais ça ne fait aucune différence, Oui, ça manquait je l'ajoute mais ça ne fait pas non plus de différence. – XCeptable
OK. Puis laissez send.php faire un "die (var_export ($ _ POST, TRUE))" dès le début. Quel est le résultat lors de l'envoi de données via XHR alors? –
@ goreSplatter, pouvez-vous expliquer un peu. Je mets die (var_export ($ _ POST, TRUE)); juste au début de send_mysql.php i.e après la connexion à la base de données. Que voulez-vous dire par «envoyer des données via XHR»? – XCeptable