Bonjour,
Je vous expose mon problème.
Suite a des soucis de caractères spéciaux avec l'AJAX, je tente de faire passer mon site en UTF-8.
Seulement voila, en modifiant ma page php qui s'occupait des fonctions d'AJAX, une de mes fonction c'est mise a ne plus fonctionner totalement.
La fonction en question, dans le cadre d'une création de "dialogue", doit permettre de créer un choix réponse, puis d'enchainer avec la réponse automatique.
<img src="../images/ajouter_rep.gif" onclick="ajouter_reponse(\''. $precedent .'\')" />
1 2 3 4 5 6 7 8 9
| function ajouter_reponse(precedent) {
texte_rep=prompt('Vous pouvez écrire le contenu de votre réponse ici.','');
if (texte_rep != null) {
id_rep = file('ajax.php?fonction=ajouter_dialogue&id_pnj='+var_id_pnj+'&texte='+texte_rep+'&precedent='+precedent+'&type_dial=1');
texte_suite = prompt('Vous pouvez écrire le contenu qui suit à cette réponse (la réponse du pnj donc). Si vous annulez, un contenu vide sera tout de même créer','')
file('ajax.php?fonction=ajouter_dialogue&id_pnj='+var_id_pnj+'&texte='+texte_suite+'&precedent='+id_rep+'&type_dial=0');
document.getElementById('affichage_dial_global').innerHTML = file('ajax.php?fonction=afficher_dialogue_global&id_pnj='+var_id_pnj);
}
} |
1 2 3
| case 'ajouter_dialogue':
$action->ajouter_dialogue($_GET['id_pnj'],$_GET['texte'],$_GET['precedent'],$_GET['type_dial']);
break; |
1 2 3 4 5 6 7
| function ajouter_dialogue($id_pnj,$texte,$precedent,$type_dial) {
if ($texte == null OR $texte == 'null') $texte = 'En construction.';
$req = $this->interfaceSQL->insert('dialogue_pnj','"",'. $id_pnj .',\''. $texte .'\','. $precedent .','. $type_dial .',NULL');
$identifiant = $this->interfaceSQL->recup_id();
echo $identifiant;
} |
Le dysfonctionnement est survenu quand j'ai passé la page où se trouve ma fonction php. Depuis la 2ème insertion de ne veut plus passer. id_rep récupère bien le bon identifiant, javascript le considère comme un entier, mais quand php le reçoit il ne le considère pas comme tel et ne veut donc pas l'insérer (le champs devant le recevoir étant en int). J'ai essayé de le changer en entier avec une fonction php mais sa le change systématiquement en 0.
J'ai passé des heures à essayer de régler ce problème, et je ne m'en sort pas.
Partager