Ajax, PHP, MySQL : Comment intéragir avec la base de données - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Ajax, PHP, MySQL : Comment intéragir avec la base de données (/showthread.php?tid=818) |
Ajax, PHP, MySQL : Comment intéragir avec la base de données - Sephi-Chan - 15-02-2007 Bonjour, Je me suis intéressé à Ajax en début d'après midi, et après quelques essais assez concluant sur du contenu fixe (fichier .txt), j'aimerai m'en servir pour effectuer des requête SQL (SELECT, UPDATE, DELETE) asynchrones. Imaginons par exemple un formulaire : Code : <form method="post" onsubmit="javascript: connexion();"> Il faudrait que, sans recharger la page, ça m'execute la page trairementConnexion.php : Code PHP :
En fait mon principal problème est de mener les variables entrées dans le formulaire jusqu'à la requête. J'espère que vous pourrez m'aider, parce que là je ne comprend pas et je ne trouve que des ressources sur Ajax/XML, aucune sur Ajax/MySQL. Ou alors ça utilise des librairies et tout, rien qui ne simplifie l'apprentissage en fait. Sephi-Chan RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Archange - 15-02-2007 http://www.jeuweb.org/board/showthread.php?tid=680 Ce tuto ne pourais pas t'aider ? RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Seren - 15-02-2007 Si t'as réussi à faire fonctionner ta fonction "connexion" avec du contenu texte, c'est la même chose avec un script php. Tu crées un XhtmlHTTPrequest qui va chercher traitementConnexion.php avec en POST ou GET data tes identifiants. Dans traitementConnexion.php, il faut avoir des "echo" et des "print". Code PHP :
Lorsqu'il a fini d'exécuter le script, la serveur envoie une réponse à la XHR qui va contenir ce texte. (comme quand tu génères une page web avec du PHP). Ensuite tu affiches ce contenu de la même façon que tu affichais ton texte grâce à la fonction javascript. Le fait qu'il y ait du SQL impliqué ne change rien pour AJAX. Il y a une connexion Javascript <--> PHP et PHP <--> SQL mais le Javascript ne "voit pas" le SQL. Derrière le PHP il pourrait y avoir n'importe quoi. RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Sephi-Chan - 15-02-2007 Mais le problème est quand je valide le formulaire, ça exécute la page d'action du formulaire (et quand il n'y en à pas, ça fait comme si c'était elle même en action). Ca fonctionne si j'utilise un bouton avec un onclick, mais ce n'est pas une solution durable. Lorsque que j'utilise la connexion asynchrone (en mettant le troisième argument à true) ça ne me renvoi rien, alors que si c'est false, ça marche... Incompréhensible ... Sephi-Chan RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Seren - 15-02-2007 Oui le problème c'est que tu soumet le formulaire aussi alors que tu veux juste créer une XHR. remplace le <input type="submit"> par un <input type="button" onclick="connexion()" > C'est un bouton qui soumettra rien du tout je pense... Par contre il y a un problème quelque part parce que tu dois passer les valeur de paramètres à connexion() sinon tu seras jamais identifié. Code : Code : Ma syntaxe est approximative et je suis un débutant en Ajax, faut pas faire du copier/coller. RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Sephi-Chan - 15-02-2007 Me revoila ! Oui, je vais passer les arguments de cette manière : Code : <form> Par contre je tiens vraiment à savoir comment passer par un évènement onsubmit sur la balise <form>. Si quelqu'un à une piste, qu'il n'hésite pas à m'en faire part . Sephi-Chan RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - denisc - 15-02-2007 Code PHP :
En fait, ça revient à la même chose que de mettre un type=bouton ! avec un return en plus RE: Ajax, PHP, MySQL : Comment intéragir avec la base de données - Seren - 15-02-2007 Ok maintenant je comprends pourquoi dans tous les tutoriaux AJAX il y a tout le temps des return False. Merci. |