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

JavaScript Discussion :

comparaison qui en fait qu'à sa tête


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut comparaison qui en fait qu'à sa tête
    j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    					var rep= xhr.responseText;
    					alert(rep);					
    					if(rep=="false"){
    						alert('Erreur,Choisir un autre horaire!');
    						return false;
    					}				
    					else 
    					{	
    						alert('Modification de l\'heure effectuée');
    						return true;
    					}
    sauf que que si l'on recoive "false" ou "true", il affiche "Modification ...".

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    des caractères parasites comme des espaces, \n,....?

  3. #3
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    non j'ai verifié justement et dans le alert de la réponse reçue est correct.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    méfies toi de l'encodage de ton fichier coté serveur
    de plus assures toi que ton fichier est sans bom

    et plus simplement teste le retour caractère par caractère pour savoir ce que tu obtiens réellement dans la reponse
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu es sûre que le serveur renvoie bien la chaine de caractères "false" (et non pas le booléen false) ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    un reponseText ne peut à priori renvoyer qu'une chaine de caractères non ?

    d'ou la necessité de vérifier le contenu du retour
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php
    //debut de session
    	session_start();
    	//connection et selection base de données
    		mysql_connect("localhost","root","") or die("Mysql connect error");
    		mysql_select_db('reservation');
    		$ret='false';
    		// test si il y a une activité selectionné
    	if( isset($_POST['idActivite']) ) {
    	//recupere la value de l'activité du jour choisie
    			$activite=$_POST["idActivite"];
    			//recupere la value de lheure debut choisie
    			$choixhd=$_POST['choixhd'];
    			$hd2=$choixhd+1;
    		$hd3=$hd2+1;
    		$ex=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd2' ;") or die ('Erreur sql!'.$ex.'<br/>'.mysql_error());
    		$ex2=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd3' ;") or die ('Erreur sql!'.$ex2.'<br/>'.mysql_error());
    		$num=mysql_num_rows($ex);
    		$num2=mysql_num_rows($ex2);
    		if($num!=0 AND $num2!=0) {
    			$ret='false';
    		}
    		else {
    			//incrementaton pour la boucle
    			$choixfin=$choixhd+3;
    			//requete pour selectionner lheure debut de l'activité
    			$res = mysql_query("SELECT * FROM creneau WHERE id_creneau=(SELECT MIN(num_creneau) FROM planning  WHERE num_planning='$activite');")
    			or die ('Erreur sql!'.$res.'<br/>'.mysql_error());
    			$row=mysql_fetch_assoc($res);
    			//recupere le resultat de la requete dans une varable
    			$cren=$row['id_creneau'];
    			//boucle pour modifier les numero de creneau dans le planning
    			for ($i=$choixhd;$i<$choixfin;$i++){
    					$res2 = mysql_query("UPDATE planning
    															SET num_creneau='$i'
    															WHERE num_creneau='$cren';")
    					or die ('Erreur sql!'.$res2.'<br/>'.mysql_error());
    					//creneau à modifier suivant
    					$cren+=1;
     
    			}
    			$ret='true';
    		}
     
    	}
    		echo $ret;
    mysql_close();	
    ?>
    voici tout le code php du fichier appelé.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ton fichier php a-t-il du BOM ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    du BOM?

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    définition wiki du BOM
    http://fr.wikipedia.org/wiki/Byte_Order_Mark

    ouvres ton fichier avec notepad++ et regarde dans encodage ...
    il devrait être en utf-8 sans BOM
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    encoder en ANSI

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    @Bovino, je pense que la dame connait ce qu'elle reçoit puisqu'elle a mis un alert() dans son code

    Citation Envoyé par caro71ol Voir le message
    encoder en ANSI
    Sinon au lieu de traiter un simple responseText, tu génère du JSON histoire d'avoir un objet de retour, pas une simple réponse qui peut justement être problèmatique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    {
        result : true;
    }
    Mais si ça te fait trop de boulot, tu peux au pire tester la chaine de retour via une regexp au lieu d'un test d'égalité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var rep = xhr.responseText;
    alert(rep);
    if (/false/.test(rep)) {
        alert('Erreur,Choisir un autre horaire!');
        return false;
    }
    else {
        alert('Modification de l\'heure effectuée');
        return true;
    }

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tu as donc du bom et le retour contient les caractères du BOM avant le false
    teste le contenu retourné en faisant par exemple un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(retoutext.length)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu as donc du bom et le retour contient les caractères du BOM avant le false
    teste le contenu retourné en faisant par exemple un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(retoutext.length)
    donc alors dans le alert j'ai 7 lettres pour "true" et 8 lettres pour"false"

  15. #15
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par caro71ol Voir le message
    donc alors dans le alert j'ai 7 lettres pour "true" et 8 lettres pour"false"
    Donc oui tu as un bom, le bom fait 3 caractères
    mais si tu avais vu mon message avant celui de spaceFrog je te donne la parfaite solution pour éviter de te casser la tête avec ce problème. Mais si tu préfères passer par une solution qui risque de réapparaître plus tard parce que tu n'es pas à l'abri qu'une personne qui passe derrière toi et refasse la bêtise d'enregistrer le fichier avec le BOM

  16. #16
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    Citation Envoyé par dukej Voir le message
    Donc oui tu as un bom, le bom fait 3 caractères
    mais si tu avais vu mon message avant celui de spaceFrog je te donne la parfaite solution pour éviter de te casser la tête avec ce problème. Mais si tu préfères passer par une solution qui risque de réapparaître plus tard parce que tu n'es pas à l'abri qu'une personne qui passe derrière toi et refasse la bêtise d'enregistrer le fichier avec le BOM
    j'ai vu ton message, là j'ai juste fait le test pour voir le probleme c'est tout

    et en effet j'ai utilisé et testé ta solution et cela fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    			if(/false/.test(rep)){
    				alert("Erreur, Choisir un autre horaire!");
    				return false;
    			}		
    			alert("Modification de l'horaire effectuée.");
    			return true;

    Et cela vient de quoi qu'il y a 3 caractères en plus?

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    C'est vraiment la peine que l'on réponde ?
    Tu risque de ne pas lire la réponse, vu qu'elle t'a déja été donnée deux fois précédemment ...

    B O M


    j'avoue ne pas être fan de la solution regexp ou indexOf éventuellement

    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  18. #18
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    C'est vraiment la peine que l'on réponde ?
    Tu risque de ne pas lire la réponse, vu qu'elle t'a déja été donnée deux fois précédemment ...

    B O M


    j'avoue ne pas être fan de la solution regexp ou indexOf éventuellement

    Quand tu sais que le retour serveur en mode texte pur peut être un peu moisi comme c'est le cas ici, il n'y a pas 36 solutions.
    J'aurai peut être du l'encadrer de \b : /\bfalse\b/

  19. #19
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par dukej Voir le message
    Quand tu sais que le retour serveur en mode texte pur peut être un peu moisi comme c'est le cas ici, il n'y a pas 36 solutions.
    Le meilleurs façon c'est d'encoder tout le site en UTF-8

    A+.

  20. #20
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Le meilleurs façon c'est d'encoder tout le site en UTF-8

    A+.
    ca ouais, mais dans le processus complet de la création d'un site, tu as toujours des boulets pour convertir ton fichier en ansi ou autre. Sans compter certaines DB qui sont en ISO-8859-1

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. requête qui fait mal à la tête
    Par noumian dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/06/2010, 19h28
  2. Float qui n'en fait qu'à sa tête
    Par Boris56 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 14/03/2010, 14h13
  3. objet Graphics qui n'en fait qu'à sa tête
    Par poulette3000 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 24/05/2007, 20h41
  4. le menu qui n'en fait qu'à sa tête
    Par Invité dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 09/11/2006, 11h32

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