résultat d'une requete ds un tableau javascript

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : résultat d'une requete ds un tableau javascript

par zeus » 21 juin 2005, 11:48

Je t'explique le schéma, tu te débrouillera pour le codage :

dans ton formulaire :

Code : Tout sélectionner

si formulaire validé alors exécution requete si loginautorisé alors redirection autre page sinon affichage message erreur finsi finsi affichage formulaire
Quand le visiteur va arriver, on ne passe pas par le test, aucun message d'erreur
Quand le visiteur a validé, on teste dans la bdd et on redirige si il est logé, on affiche un message d'erreur sinon

par mili » 21 juin 2005, 10:07

est ce que qq1 aurait une idée ds ce qui ne va pas ds mon code de départ
merci

par mili » 21 juin 2005, 09:27

c'est bien ce que j'avais compris. mais ds ce cas je perds mes petits messages d'alerte qui précise à l'utilisateur ce qui ne va pas. dommage.
c'est pour ca que je cherchais une solution compatible avec mon javascript

par Cyrano » 21 juin 2005, 09:21

Bon, je recommence : tu n'as pas besoin du JavaScript pour faire ça : quand ton internaute clique sur le bouton valider, tu fais recharger la page et tu récupères les valeurs envoyées dans le formulaire: s'il y a une valeur dans le login, tu exécutes la requête de vérification: si ce login existe déjà, tu affiches à nouveau le formulaire, sinon tu enregistres les données

En clair, tu fais ta requête lors de la validation du formulaire.

par mili » 21 juin 2005, 09:02

à quel endroit je peux faire ma requete?????
ds ma fonction javascript????????

par Cyrano » 21 juin 2005, 08:53

Bien sur, mais pour ça, tu as besoin de faire une requête pour récupérer la liste : donc à la place, au lieu de récupérer la liste des utilisateurs, fais directement la vérification pour savoir si ce login existe ou non dans ta base. Et là, tu n'auras même plus besoin du JavaScript.

par mili » 21 juin 2005, 08:49

à quel moment tu veux que je fasse ma requete? je ne comprends pas.
j'ai un formulaire avec un champ login. qd on clique sur valider, j'ai une fonction javascript qui teste un certain nombre de choses:

Code : Tout sélectionner

function soumettre() { //cas ou tous les champs ne sont pas remplis if ((document.form1.login.value=="")||(document.form1.pass.value=="") ... { alert("All fields must be completed."); } //test login else if (test sur le login){ alert ("This login is already used. Please choose an other login."); } ......... //on valide le formulaire else{ document.form1.submit(); } }
je voudrais savoir si le login rentré par l'utilisateur ds le formulaire correspond à un login déjà utilisé càd présent ds la base.
comment faire?

par Cyrano » 20 juin 2005, 18:15

mili, deux choses,

D'abord, utilises donc les boutons [ PHP ] et [ Code ] quand tu mets du code, c'Est plus facile à suivre.

Ensuite pour ton problème, j'ai du mal à comprendre pour quoi tu te compliques la vie comme ça. Au lieu de récupérer la liste dans un tableau JavaScript et comparer ensuite, compare directement dans MySQl:
$requete="SELECT login FROM identification WHERE login = '". $login ."'";
Par exemple:
après, tu récupères même pas, tu regardes le nombre de lignes avec un mysql_num_rows et si ça retourne un nombre > 0, c'est que le login est déjà pris.

résultat d'une requete ds un tableau javascript

par mili » 20 juin 2005, 15:51

bonjour
j'essaye de récupérer le résultat d'une requete et de le mettre ds un tableau javascript que j'utilise par la suite
voici qq bouts de code:
//requete+tableau
echo"<SCRIPT LANGUAGE='JAVASCRIPT'>";
echo"<!--\\n";
echo"var login_js=new Array();\\n";
$requete="select login from identification";
$res = mysql_query($requete,$ConnexionHUMOS2);
$numero = 0;
while($row = mysql_fetch_array($res)){
echo'login_js['.$numero.'] = "' .$row[login]. '" ;\\n'; 
$numero++;
}
echo"//-->\\n";
echo"</SCRIPT>";
je valide le formulaire avec une fonction soumettre qui teste qq trucs avant d'envoyer le formulaire à la page suivante. code de la fonction soumettre:

Code : Tout sélectionner

function soumettre() { ... else if (!login(document.form1.login.value)){ alert ("This login is already used. Please choose an other login."); document.form1.login.value=""; }
...
ds la fonction soumettre je fais appel à la fonction login qui regarde si le login mis ds le formulaire esite déjà ds le tableau javascript rempli par la requete:

Code : Tout sélectionner

function login(champ){ for (var i=0;i<2;i++){ if (champ==login_js[i]){ return false; } } return true; }
mais ca ne marche pas!!!
est ce que qq1 peut me dire ce qui ne va pas
merci bcp