Requete mysql ajax
dallap
-
dallap -
dallap -
Bonjour,
Je souhaiterai effectuer une requête Mysql grâce à du javascript/ajax.
Je me suis servit de ce tutoriel https://www.toutjavascript.com/savoir/xmlhttprequest.php3 mais je n'ai aucun résultat.
Voici un extrait de mon code:
J'ai un formulaire qui, au submit appel une fonction Check. Dans cette fonction javascript je contrôle les champs (cette partie fonctionne), puis viens le controle du double pseudo:
ma fonction PHP check_pseudo:
je souhaiterai que ma fonction javascript de check formulaire renvoie false/true suivant si le pseudo est deja utilisé...
j'avoue être un peu perdu à la fin de la fonction javascript.
Pourriez vous m'aider?
merci!
Je souhaiterai effectuer une requête Mysql grâce à du javascript/ajax.
Je me suis servit de ce tutoriel https://www.toutjavascript.com/savoir/xmlhttprequest.php3 mais je n'ai aucun résultat.
Voici un extrait de mon code:
J'ai un formulaire qui, au submit appel une fonction Check. Dans cette fonction javascript je contrôle les champs (cette partie fonctionne), puis viens le controle du double pseudo:
var l1 = f.elements["pseudo"]; //mon champs pseudo
var index = l1.value;
if(index < 4)
{}
else {
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...");
return;
}
xhr_object.open("POST", "check_pseudo.php", true); //appel ma fonction de controle dans la bdd
xhr.onreadystatechange = function() {
//Si la requête est terminée
if ( xhr.readyState == 4 )
//Si la réponse ne contient pas d'erreur
if ( xhr.status == 200 ) {
//ICI JE SUIS UN PEU PERDU, JE NE SAIS PAS QUOI METTRE
}
else //Erreur
alert ("erreur");
}
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// QUE METTRE ICI ???
data="colonne="+colonne;
xhr.send(data);
}
ma fonction PHP check_pseudo:
function check_pseudo() {
connectMySQL();
$sql = 'SELECT count(*) FROM user WHERE pseudo="'.$_SESSION['pseudo'].'"';
$req = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
echo "<script>return true;</script>";
}
else {
echo "<script>return false;</script>";
echo "alert('already used');";}
@mysql_close($mysql_db);
}
je souhaiterai que ma fonction javascript de check formulaire renvoie false/true suivant si le pseudo est deja utilisé...
j'avoue être un peu perdu à la fin de la fonction javascript.
Pourriez vous m'aider?
merci!
A voir également:
- Requete mysql ajax
- Mysql community server - Télécharger - Bases de données
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Yggtorrent erreur ajax ✓ - Forum Webmastering
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
3 réponses
Quand le status est égale à 200 cela veut dire que tout est ok, donc à toi de voir ce que tu veux faire.
Ensuite lorsque tu fais xhr.send(data)
data correspond aux valeurs que tu va envoyé à ton fichier check_pseudo.php
donc à mon avis tu dois récupérer le pseudo pour ensuite faire le traitement dans ta page php
Je suis rarement claire dans mes explications, donc n'hésite pas à dire si tu comprends rien à ce que je te raconte !
Ensuite lorsque tu fais xhr.send(data)
data correspond aux valeurs que tu va envoyé à ton fichier check_pseudo.php
donc à mon avis tu dois récupérer le pseudo pour ensuite faire le traitement dans ta page php
Je suis rarement claire dans mes explications, donc n'hésite pas à dire si tu comprends rien à ce que je te raconte !
Bonjour, j'y suis presque arrivé, en m'inspirant de http://www.editeurjavascript.com/trucs/35,ajax_interrogez_votre_serveur_avec_javascript.php
j'ai réussit à faire afficher "votre pseudo est trop court" au cours de la frappe.
mon seul problème est d'écrire correctement cette partie:
Sur cette page j'ai un include functions.php où se trouve ma fonction PHP "checkpseudo" je dois l'apeller sur la ligne en gras mais je n'y arrive pas. Comment puis-je faire?
merci!
j'ai réussit à faire afficher "votre pseudo est trop court" au cours de la frappe.
mon seul problème est d'écrire correctement cette partie:
function check_pseudo(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<4)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(texte = file('checkpseudo?pseudo='+escape(pseudo))) /CETTE LIGNE
{
if(texte == 1)
writediv('<span style="color:#cc0000"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
writediv('<span style="color:#1A7917"><b>'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv('');
}
}
}
Sur cette page j'ai un include functions.php où se trouve ma fonction PHP "checkpseudo" je dois l'apeller sur la ligne en gras mais je n'y arrive pas. Comment puis-je faire?
merci!
dans ma fonction javascript je dois appeler la fonction php à un moment, comme dans ce tutorial: http://www.editeurjavascript.com/trucs/35,ajax_interrogez_votre_serveur_avec_javascript.php
il l'effectue à la ligne:
else if(texte = file('http://www.editeurjavascript.com/scripts/exemples/verifpseudo.php?pseudo='+escape(pseudo)))
je souhaiterai faire la même chose mais au lieu mettre http://www.editeurjavascript.com/scripts/exemples/verifpseudo.php? je souhaiterais mettre ma fonction php checkpseudo (qui n'a rien avoir avec check_pseudo javascript)
pour infos voici checkpseudo():
function checkpseudo() {
connectMySQL();
$sql = 'SELECT count(*) FROM table WHERE pseudo="'.$_GET['pseudo'].'"';
$result = mysql_query ($sql);
if(mysql_num_rows($result)>=1)
echo "1";
else
echo "2";
@mysql_close($mysql_db);
}
il l'effectue à la ligne:
else if(texte = file('http://www.editeurjavascript.com/scripts/exemples/verifpseudo.php?pseudo='+escape(pseudo)))
je souhaiterai faire la même chose mais au lieu mettre http://www.editeurjavascript.com/scripts/exemples/verifpseudo.php? je souhaiterais mettre ma fonction php checkpseudo (qui n'a rien avoir avec check_pseudo javascript)
pour infos voici checkpseudo():
function checkpseudo() {
connectMySQL();
$sql = 'SELECT count(*) FROM table WHERE pseudo="'.$_GET['pseudo'].'"';
$result = mysql_query ($sql);
if(mysql_num_rows($result)>=1)
echo "1";
else
echo "2";
@mysql_close($mysql_db);
}