IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Plugin Validation Engine


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2013
    Messages : 31
    Par défaut Plugin Validation Engine
    Bonjour,
    Je m'amuse avec un plugin de Jquery qui se nomme "ValidationEngine". Il est très pratique tout fonctionne mais j'aimerais l'améliorer. Ça fait trois jours que je cherche plusieurs solutions sur le net. Je vous explique mon petit problème.
    J'utilise l'ajax pour essayer de me connecter sur ma base de données et vérifier si le pseudo est libre. Mais le soucis c'est que une fois que j'ajoute ou modifie une ligne dans le fichier .php plus rien ne fonctionne. Quand je rentre un valeur, il reste bloqué sur "* Validating please wait".

    Code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php echo form_open('user/registration', array('id' => 'SignupForm')); ?>
     <input type="email" id="email_adress"  class="validate[required,custom[onlyLetterNumber],maxSize[20],ajax[ajaxUserCallPhp]] text-input" style="width:305px;" name="email_adress" placeholder="Pseudo" value="<?php echo set_value('user_name'); ?>" />
    Code JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    "ajaxUserCallPhp": {
        "url": "../../phpajax/ajaxValidateFieldUser.php",
        // you may want to pass extra data on the ajax call
        "extraData": "name=eric",
        // if you provide an "alertTextOk", it will show as a green prompt when the field validates
        "alertTextOk": "* This username is available",
        "alertText": "* This user is already taken",
        "alertTextLoad": "* Validating please wait"
    },
    page .php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
    $validateValue=$_GET['fieldValue'];
    $validateId=$_GET['fieldId'];
    $validateError= "This username is already taken";
    $validateSuccess= "This username is available";
     
    /* RETURN VALUE */
    $arrayToJs = array();
    $arrayToJs[0] = $validateId;
     
    /*Database Config+Connection*/
    $username = "root";
    $password = "";
    $hostname = "localhost";
     
    $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
    $selected = mysql_select_db("swifly",$dbhandle) or die ("Could not select schema");
    $sql_checkusername = "SELECT membres_email FROM membres WHERE membres_email='$validateValue'";
    $result=mysql_query($sql_checkusername );
    $count=mysql_num_rows($result);
     
    if($count>=1){
     
    $arrayToJs[1] = false;
    echo json_encode($arrayToJs);
     
    } else {
     
    for($x=0;$x<1000000;$x++){
    if($x == 990000){
    $arrayToJs[1] = true;
    echo json_encode($arrayToJs);
    }
    }
    }
    ?>
    Voici le code original qui fonction mais sans base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
     
    /* RECEIVE VALUE */
    $validateValue=$_REQUEST['fieldValue'];
    $validateId=$_REQUEST['fieldId'];
     
     
    $validateError= "This username is already taken";
    $validateSuccess= "This username is available";
     
     
     
            /* RETURN VALUE */
            $arrayToJs = array();
            $arrayToJs[0] = $validateId;
     
    if($validateValue =="karnius"){         // validate??
            $arrayToJs[1] = true;                   // RETURN TRUE
            echo json_encode($arrayToJs);                   // RETURN ARRAY WITH success
    }else{
            for($x=0;$x<1000000;$x++){
                    if($x == 990000){
                            $arrayToJs[1] = false;
                            echo json_encode($arrayToJs);           // RETURN ARRAY WITH ERROR
                    }
            }
     
    }
     
    ?>

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    c'est quoi ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	for($x=0;$x<1000000;$x++){
    		if($x == 990000){
    			$arrayToJs[1] = false;
    			echo json_encode($arrayToJs);		// RETURN ARRAY WITH ERROR
    		}
    	}
    cette boucle est complètement inutile

    ceci suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    }else{
      $arrayToJs[1] = false;
      echo json_encode($arrayToJs);		// RETURN ARRAY WITH ERROR
     
    }
     
    }
    pense a écouter les événements error & co, il y a peut etre un retour que tu ne vois pas (a verifier avec firebug ou un autre outil dans le meme genre)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2013
    Messages : 31
    Par défaut
    Merci de ta réponse
    J'ai corrigé se que tu m'as dis et j'ai installer Firebug.
    Donnée entrer : Username

    Voici la réponse que me donne Firebug :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    GET ../../phpajax/ajaxValidateFieldUser.php?fieldId=user_login&fieldValue=Username&_=1367831443133
    200 OK
    36ms	
     
    ParamsHeadersResponseHTML
     
    <br />
    <font size='1'><table class='xdebug-error xe-parse-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
    <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\Swifly\phpajax\ajaxValidateFieldUser.php on line <i>28</i></th></tr>
    </table></font>
    true
    Ajax error: 200 parsererror
    false

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2013
    Messages : 31
    Par défaut
    Voilà j'ai corrifé en cherchant sur internet un peu avec les erreurs de FireBug

    Voici le code PHP de maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    $validateValue=$_GET['fieldValue'];
    $validateId=$_GET['fieldId'];
     
    $validateError= "This username is already taken";
    $validateSuccess= "This username is available";
     
    /* RETURN VALUE */
    $arrayToJs = array();
    $arrayToJs[0] = $validateId;
     
    /*Database Config+Connection*/
    $username = "root";
    $password = "";
    $hostname = "localhost";
     
    $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
    $selected = mysql_select_db("swifly",$dbhandle) or die ("Could not select schema");
    $sql_checkusername = "SELECT membres_email FROM membres WHERE membres_email='".$validateValue."'";
    $result=mysql_query($sql_checkusername );
    $count=mysql_num_rows($result);
     
    if($count>=1){
     
    $arrayToJs[1] = false;
    echo json_encode($arrayToJs);
     
    } else{
     
      $arrayToJs[2] = false;
      echo json_encode($arrayToJs);     // RETURN ARRAY WITH ERROR
     
    }
    ?>
    Maintenant il m'affiche bien les erreurs mais il a encore un soucis. Si je rentre une donnée qui est libre dans la base de donnée il me dit qu'elle ne l'est pas.

    Voici l'erreur FireBug :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    GET ../../phpajax/ajaxValidateFieldUser.php?fieldId=user_login&fieldValue=Username&_=1367833173696
    200 OK
    35ms	
    ParamsHeadersResponseHTMLJSON
    {"0":"user_login","2":false}
    true
    true
    false

  5. #5
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    ben ca a l'air bon ?
    par contre tu devrais refaire ton retour, plutot qu'un tableau, utilise un objet ou alors un tableau a index associatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $arrayToJs = array('id'=>$validateId, 'present'=>false);

Discussions similaires

  1. [MySQL] Plugin Validation Engine Problème reponse PHP
    Par TheBleedz dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2013, 18h22
  2. [AJAX] plugin Validation Engine
    Par TheBleedz dans le forum jQuery
    Réponses: 2
    Dernier message: 02/05/2013, 19h37
  3. Probleme débutant plugin Validator
    Par thibault_carpentier dans le forum Struts 1
    Réponses: 2
    Dernier message: 26/01/2007, 14h08
  4. [plugin] Reverse Engineering sur mon projet
    Par Tourix dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 03/07/2006, 12h57
  5. Réponses: 8
    Dernier message: 16/06/2006, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo