Votre question

Javascript + MySQL

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
7 Novembre 2008 02:05:46

Bonjour à tous!

Je suis présentement en plein développement d'un site internet principalement conçu en HTML/CSS, PHP et Javascript. J'en suis à l'élaboration d'une page d'inscription dont je souhaite que les différents champs soient validés à mesure qu'ils sont remplis, donc en Javascript. J'ai par contre un problème qui se pose: J'aimerais valider le pseudonyme et l'adresse courriel en vérifiant s'ils se trouvent déja dans la base de données (MySQL). Est-ce qu'il y a un moyen d'accéder à MySQL en Javascript? Sinon, y a-t-il un moyen d'appeller une fonction PHP en javascript et d'en récuper une variable qui me dirait si, oui ou non, l'information est déja présente dans la base de données?

Merci beaucoup,

myself789

Autres pages sur : javascript mysql

7 Novembre 2008 12:41:45

Bonjour,

La vérification des champs en js est pas très sécurisé. Si l'utilisateur désactiive le js de son navigateur, il pourrait valider les champs sans vérification... Sinon pour la requête php pour vérifier si une entrée existe déjà:

  1. $verification = mysql_query ("SELECT la_colonne FROM la_table WHERE la_colonne = '".$_POST['le_post']."'");
  2.  
  3. if (mysql_num_rows($verification) != 0) {
  4.  
  5. echo "existe";
  6. } else {
  7. echo "existe pas";
  8. }
7 Novembre 2008 15:04:30

Salut Allstar27,

Le javascript est déja nécessaire au formulaire d'inscription. Quand quelqu'un s'inscrit, elle doit préciser (c'est un site entièrement réservé aux femmes) combien d'enfants elle a, et en fonction du nombre, des champs apparaissent avec javascript pour qu'elle inscrive leur sexe, nom et date de naissance. Il sera précisé au début du formulaire que le javascript doit être activé pour s'inscrire. Et puisque le site n'est réservé qu'à une petite communauté de femmes qui se connaissent déja, je ne crois pas que ça posera problème ;) 

Ensuite pour ce qui est de la requete php, je sais déja comment la faire, je n'ai aucun problème de ce côté-là. Ma question était plutôt: Y a-t-il moyen de la mixer avec JS pour faire une validation en "temps réel" ? Ainsi, quand "onChange" est appelé sur un champs, une fonction JS appellerait une fonction PHP pour valider le pseudo dans la base de donnée, et la fonction PHP lui retournerait une variable afin que ce soit JS qui traite la validation immédiatement.

Merci d'avance,

myself789
Contenus similaires
7 Novembre 2008 18:55:13

Salut

Il faut différencier la coté serveur et le coté client. Le php/mysql s'éxécute coté serveur PUIS envois la page à ton navigateur, par la suite tu dois recharger la page pour prendre en compte les modifications. Le javascript s'éxécute coté client, le client peux donc interréagir avec le site mais pas avec le serveur.

De nos jour il existe l'ajax qui est du javascript qui appel du php. C'est exactement ce que tu cherches, tu pourras donc appeler une page php avec ton onmouse.
7 Novembre 2008 19:59:50

Allstar27, tu es suicidaire ! il faut toujours faire des vérifications sur les variables avant de les mettre dans un requêtes SQL ! mysql_escape_string() est ton ami !
7 Novembre 2008 21:13:41

Merci beaucoup quarty, je vais chercher des informations de ce côté! =)

SiM07, tu m'intrigue ?? Perso je vérifie avec des ISSET seulement avant de faire mes requêtes, à quoi sert mysql_escape_string() ?
7 Novembre 2008 22:04:50

mysql_escape_string() sert à protéger tes requetes d'éventuelle attaque :p .

Va voir sur le site du zéro, il y a quelque part un tuto sur la protection des variables en php
7 Novembre 2008 23:18:30

Si tu ne fais que des isset alors normalement ton site est quasi à coup sur vulnérable à une attaque de type injection de requête ou modification.

exemple :

  1. $sql = "SELECT * FROM membre WHERE login='{$_POST['login']}' AND password='{$_POST['pwd']}' ";
  2. mysql_query(....)
  3. if(mysql_num_rows() > 0) $auth='ok';
  4. else $auth='no';


Si on imagine que ce code est syntaxiquement correct. Alors imagine que $_POST['pwd'] = " OR password=''";

catastrophe ! pas besoin de mot de passe !

8 Novembre 2008 00:39:23

SiM07 a dit :
Allstar27, tu es suicidaire ! il faut toujours faire des vérifications sur les variables avant de les mettre dans un requêtes SQL ! mysql_escape_string() est ton ami !


C'étais un exemple...
8 Novembre 2008 02:44:34

Quarty -> Merci, avec quelques petites notions simples d'AJAX j'ai réussi à réaliser ce que j'avais en tête !! =D

SiM07 et Quarty-> J'ai jeté un coup d'oeil au tuto sur la sécurité PHP et MySQL sur le siteduzero, et c'est très intéressant de voir toutes les failles que mon site peut avoir ... Avant de le mettre en ligne j'utiliserai ces techniques =) Merci beaucoup!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS