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 :

Inclusion d'un js FacadeCookie (Php et js)


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    158
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Par d�faut Inclusion d'un js FacadeCookie (Php et js)
    Allo groupe,

    J'ai cr�� une fa�ade pour les cookies en javascript et lorsque j'inclus celle-ci dans mon html, le reste du javascript ne s'ex�cute pas.

    J'ai corrig� mes erreurs de syntaxe gr�ce � JSLint, mais �a n'a pas r�gl� mon probl�me.

    Mon inclusion :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <script type="text/javascript" src="../commun/objets/CookieFacade.js"/>
    Et mon code :

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    function CookieFacade()
    {
    		//Constructeur
    }
     
     
     
     
    /*
    but : ajouter un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    sValeurCookie : la valeur de ce cookie
    bPersistant (optionnel, defaut : false) : True = cookie persistant 1an
    */
    CookieFacade.prototype.AjouterCookie = function(sNomCookie, sValeurCookie, bPersistant)
    {
    	var dateExpiration=new Date();
    	var cookie = "";
    	if(bPersistant === true)
    	{
    		dateExpiration.setDate(dateExpiration.getDate()+365);
    		document.cookie= sNomCookie + "=" + escape(sValeurCookie) + ";expires=" + dateExpiration.toGMTString();
    	}
    	else
    	{
    		document.cookie = sNomCookie + "=" + escape(sValeurCookie);
    	}
    };
     
    /*
    but : detruire un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    */
    CookieFacade.prototype.DetruireCookie = function(sNomCookie)
    {
    	var dateExpiration = new Date();
    	dateExpiration.setTime(dateExpiration.getTime() - 1);
    	document.cookie = name += "=; expires=" + dateExpiration.toGMTString();
    };
     
     
     
    /*
    but : obtenir la valeur d'un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    */
    CookieFacade.prototype.ObtenirCookie = function(sNomCookie)
    {
    	 varliste_cookies = document.cookie.split( ';');
            varcookie_temp = '';
            varnom_cookie = '';
            varvaleur_cookie = '';
            varcookie_trouve = false;
     
            for( i = 0; i < liste_cookies.length; i++ )
            {
                    cookie_temp = liste_cookies[i].split( '=');
                    nom_cookie = cookie_temp[0].replace(/^\s+|\s+$/g, '');
                    if ( nom_cookie_demande == nom_cookie )
                    {
                            cookie_trouve = true;
                            if( cookie_temp.length > 1 )
                            {
                                    valeur_cookie = unescape(liste_cookies[i].replace(/^\s+|\s+$/g, '') );
                                    valeur_cookie = valeur_cookie.substring(nom_cookie.length + 1);                                
                            }
                            return valeur_cookie;
                    }
                    cookie_temp = null;
                    cookie_name = '';
            }
            if( !cookie_trouve )
            {
                    return null;
            }
    };
     
    /*
    but : Verifie si la chaine donnee est dans le cookie
    sNomCookie : le nom du cookie
    sChaineATrouver : La chaine a rechercher dans le cookie
    */
    CookieFacade.prototype.ChainePresenteDansCookie = function(sNomCookie, sChaineATrouver)
    {
    	var cookie = CookieFacade.ObtenirCookie(sNomCookie);
    	var position = cookie.indexOf(sChaineATrouver);
    	if(position === -1)
    	{
    		return false;
    	}
    	else
    	{
    		return true;
    	}
    };
    J'ai une piste, mais elle est tout aussi �trange...
    Lorsque je ne met rien � la suite de mon include dans le head, le reste de la page ne s'affiche pas.
    Si je met <script type="text/language">alert("HEY!");</script> � la suite, le reste de ma page s'affiche, mais je n'ai pas le alert.

    Quelqu'un a rencontr� quelque chose d'aussi �trange?

    Merci!

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par d�faut
    Bonjour,

    Qu'as-tu dans ta console d'erreur?

  3. #3
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut Faute d'inattention
    Salut,

    1. Code : S�lectionner tout - Visualiser dans une fen�tre � part
      <script type="text/javascript" src="../commun/objets/CookieFacade.js"></script>
    2. Code : S�lectionner tout - Visualiser dans une fen�tre � part
      <script type="text/javascript">alert("HEY!");</script>


    ERE

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    158
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Par d�faut
    Allo merci pour la r�ponse.

    J'ai modifi� "/>" pour "></script>" et �a fonctionne, mais �a me surprend quand m�me que �a ne fonctionne pas sans la fermeture explicite de la balise script.

    Pour ce qui est du alert, j'ai fait l'erreur quand je l'ai �crit, mais dans le code c'�tait bien type="text/javascript"

    Merci et bonne fin de semaine

  5. #5
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par d�faut
    Citation Envoy� par phfle1 Voir le message
    Allo merci pour la r�ponse.

    J'ai modifi� "/>" pour "></script>" et �a fonctionne, mais �a me surprend quand m�me que �a ne fonctionne pas sans la fermeture explicite de la balise script.

    Pour ce qui est du alert, j'ai fait l'erreur quand je l'ai �crit, mais dans le code c'�tait bien type="text/javascript"

    Merci et bonne fin de semaine
    Pour le alert je m'en doutais !

    ERE

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    158
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Par d�faut
    Le code ci-haut contenait beaucoup d'erreurs, voici la version fonctionnelle si �a int�resse quelqu'un.

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    //Toutes les fonctions de cet objet sont statiques. 
    //Il ne faut donc pas creer d'instance de ce dernier pour utiliser les fonctions.
    //Exemple d'utilisation : 
    // CookieFacade.AjouterCookie("ASD", "VALEUR", true);
    // var a = CookieFacade.ObtenirCookie("ASD");
    // var a = CookieFacade.ChainePresenteDansCookie("ASD","VA");
    // CookieFacade.DetruireCookie("ASD");
     
     
    var CookieFacade = {};  // Declaration de mon nameSpace
     
     
     
    /*
    but : ajouter un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    sValeurCookie : la valeur de ce cookie
    bPersistant (optionnel, defaut : false) : True = cookie persistant 1an
    */
    CookieFacade.AjouterCookie = function(sNomCookie, sValeurCookie, bPersistant)
    {
    	var dateExpiration=new Date();
    	var cookie = "";
    	if(bPersistant === true)
    	{
    		dateExpiration.setDate(dateExpiration.getDate()+365);
    		document.cookie= sNomCookie + "=" + escape(sValeurCookie) + ";expires=" + dateExpiration.toGMTString();
    	}
    	else
    	{
    		document.cookie = sNomCookie + "=" + escape(sValeurCookie);
    	}
    };
     
    /*
    but : detruire un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    */
    CookieFacade.DetruireCookie = function(sNomCookie)
    {
    	var dateExpiration = new Date();
    	dateExpiration.setTime(dateExpiration.getTime() - 1);
    	document.cookie = sNomCookie + "=; expires=" + dateExpiration.toGMTString();
    };
     
     
     
    /*
    but : obtenir la valeur d'un cookie pour le domaine courant
    sNomCookie : le nom du cookie
    */
    CookieFacade.ObtenirCookie = function(sNomCookie)
    {
    		var liste_cookies = document.cookie.split( ';');
            var cookie_temp = '';
            var nom_cookie = '';
            var valeur_cookie = '';
            var cookie_trouve = false;
     
            for( i = 0; i < liste_cookies.length; i++ )
            {
                    cookie_temp = liste_cookies[i].split( '=');
                    nom_cookie = cookie_temp[0].replace(/^\s+|\s+$/g, '');
                    if ( sNomCookie == nom_cookie )
                    {
                            cookie_trouve = true;
                            if( cookie_temp.length > 1 )
                            {
                                    valeur_cookie = unescape(liste_cookies[i].replace(/^\s+|\s+$/g, '') );
                                    valeur_cookie = valeur_cookie.substring(nom_cookie.length + 1);                                
                            }
                            return valeur_cookie;
                    }
                    cookie_temp = null;
                    cookie_name = '';
            }
            if( !cookie_trouve )
            {
                    return null;
            }
    };
     
    /*
    but : Verifie si la chaine donnee est dans le cookie
    sNomCookie : le nom du cookie
    sChaineATrouver : La chaine a rechercher dans le cookie
    */
    CookieFacade.ChainePresenteDansCookie = function(sNomCookie, sChaineATrouver)
    {
    	var cookie = CookieFacade.ObtenirCookie(sNomCookie);
    	var position = cookie.indexOf(sChaineATrouver);
    	if(position === -1)
    	{
    		return false;
    	}
    	else
    	{
    		return true;
    	}
    };
    Bye,

    Phil

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    158
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Par d�faut
    M�me chose, mais en 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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    class CookieFacade
    {
     
    	private static function ObtenirHier()
    	{
    		$hier = time() - 86400; //24*60*60
    		return $hier;
    	}
     
    	/*
    	but : ajouter un cookie pour le domaine courant
    	sNomCookie : le nom du cookie
    	sValeurCookie : la valeur de ce cookie
    	bPersistant (optionnel, defaut : false) : True = cookie persistant 1an
    	*/
    	public	static function AjouterCookie($sNomCookie, $sValeurCookie, $bPersistant = false)
    	{
    		if ($bPersistant)
    		{
    			$unAn = time() + 31536000; //365*24*60*60
    			setcookie($sNomCookie, $sValeurCookie, $unAn);
    		}
    		else
    		{
    			setcookie($sNomCookie, $sValeurCookie);
    		}
     
    	}
     
     
    	/*
    	but : detruire un cookie pour le domaine courant
    	sNomCookie : le nom du cookie
    	*/
    	public	static function DetruireCookie($sNomCookie)
    	{
    		setcookie($sNomCookie, "", CookieFacade::ObtenirHier());
    	}
     
    	/*
    	but : obtenir la valeur d'un cookie pour le domaine courant
    	sNomCookie : le nom du cookie
    	*/
    	public	static function ObtenirCookie($sNomCookie)
    	{
    		if(isset($_COOKIE[$sNomCookie]))
    		{
    			return $_COOKIE[$sNomCookie];
    		} 
    		else
    		{
    			return "";
    		}
    	}
     
    	/*
    	but : Verifie si la chaine donnee est dans le cookie
    	remarque : ne considere pas la casse
    	sNomCookie : le nom du cookie
    	sChaineATrouver : La chaine a rechercher dans le cookie
    	remarque : on ne considere pas la casse
    	*/
    	public	static function ChainePresenteDansCookie($sNomCookie, $sChaineATrouver)
    	{
    		$cookieVise = ObtenirCookie($sNomCookie);
    		$resultat = stripos( $cookieVise, $sChaineATrouver);
    		if($resultat == false)
    		{
    			return false;
    		}
    		else
    		{
    			return true;
    		}
    	}
    }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Inclusion de classes externes en PHP
    Par MrcJL dans le forum BOUML
    R�ponses: 3
    Dernier message: 23/07/2011, 19h42
  2. [PHP 5.2] probleme d'inclusion de classe dans fichier php
    Par diblasio dans le forum Langage
    R�ponses: 1
    Dernier message: 08/12/2009, 18h26
  3. [XHTML]inclusion de balises META en PHP
    Par trotters213 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 4
    Dernier message: 12/09/2006, 09h57
  4. [PHP-JS] pb d'inclusion de fichier
    Par Youlie2 dans le forum Langage
    R�ponses: 3
    Dernier message: 16/06/2006, 14h23
  5. R�ponses: 8
    Dernier message: 29/01/2006, 16h48

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