Thông tin tài liệu:
MySQL et CSS- P16: Dans la première partie, lancez-vous dans la création de votre premier site web dynamique en PHP. Au travers d’exemples simples et concrets, apprenez à votre rythme à développer un site web complet, relié à une base de données MySQL
Nội dung trích xuất từ tài liệu:
MySQL et CSS- P16 Le JavaScriptSi le test est passé avec succès, un lien vers la page est affiché avec lemessage qui donne le résultat du test.if (test_cookie()==oui){document.write(’ mon autre page’);}Un compteurVoici un autre exemple d’application : un compteur de visiteurs. Leprogramme est composé de plusieurs fonctions encapsulées. L’encapsulation L’encapsulation consiste à écrire un programme de sorte qu’il puisse être utilisé par différents scripts. En JavaScript, c’est une fonction ou un objet. Ici la fonction ranger_biscuit() peut être appelée dans n’importe quelle circonstance.Le compteur vous servira à identifier les visiteurs sur votre site et àreconnaître les fidèles qui reviennent régulièrement. Afficher le nombre devisiteurs sur votre page rangerait votre site dans les antiquités encore enligne. Par contre, un visiteur sera flatté d’avoir été remarqué comme étantintéressé par le thème du site et, éventuellement, d’avoir un petit privilègepour cette raison.L’application ici a une architecture savante. Voyez d’abord les lignes decode puis les différentes fonctions au fur et à mesure qu’elles sontappelées :var expiradate = new Date();var visites;expdate.setTime(expiradate.getTime() + (24 * 60 * 60 * 1000 * 365));if(!(visites = manger_biscuit(visites))) { visites = 0;}else { visites++;} Double Poche CSS • 7519 Les CSS se marient bienranger_biscuit(visites, visites, expdate, /, null, false);Les deux premières lignes déclarent et initialisent les variables expira-date et visites.Ensuite, chaque variable est nourrie. La variable expiradate repousse ladate d’une année. La variable visites est affectée du chiffre 0 ouincrémentée selon le résultat ou non de l’appel à la fonction manger_bis-cuit(). Le test porte sur le résultat de l’appel à la fonction. Le contenu de la propriété cookie La propriété cookie de l’objet cookie contient les paires nom=valeur de tous les cookies disponibles pour cette page particulière. En outre, chaque cookie contient des caractéristiques facultatives comme expires, la date d’expiration, path, le chemin pour lequel il est valide, domain, le domaine du serveur, secure, le drapeau sécurité (true ou false). Quand vous allez fouiller dans un cookie grâce à document.cookie, vous avez une ou plusieurs paires nom=valeur. Le nom est celui du cookie et la valeur, sa valeur. La chaîne obtenue est terminée par un point-virgule. Si la page ne dispose que d’un seul cookie, les paires sont séparées par un point-virgule suivi d’un espace. Pour tester votre cookie, vous pouvez utiliser l’expression documen- t.write(document.cookie);. Ainsi vous afficherez son contenu.Voyez les fonctions. Les deux principales sont appelées dans les lignes decode précédentes : manger_biscuit() et ranger_biscuit().La fonction manger_biscuit() récupère les données du cookie. L’argu-ment employé est le nom du cookie. Rappel : document.cookie est unechaîne qui peut contenir un ou plusieurs cookies.La première partie de la fonction s’attache à identifier la longueur de lachaîne qui suit l’expression nom= (c’est-à-dire le mot visites). Ici lavariable qui contient la valeur du cookie prendra le nom $visites.Une première évaluation du cookie valide le fait que la taille du biscuit estplus grande que 0 au moyen d’un while. Si ce n’est pas le cas, la fonctionretourne null.752 • Double Poche CSS Le JavaScriptDans le while, la valeur de i est 0. Vous créez une variable j qui est égaleà la longueur du nom (visites) et du signe =. La méthode substring()vérifie que le premier nom est celui qui est en argument de la fonction ;si c’est le cas, la position du premier caractère de la valeur est envoyée àla fonction ingredients_biscuit(), sinon i prend la valeur du mot quisuit immédiatement l’espace, c’est-à-dire le nom du deuxième cookie, etainsi de suite jusqu’à ce que le test soit vrai. La méthode substring() La méthode substring() utilisée abondamment pour analyser la propriété cookie de l’objet document est nourrie par deux arguments : le premier donne la position du premier caractère et le second donne la longueur totale de la chaîne.function manger_biscuit (nom) { var arg = nom + =; var longueur_nom = arg.length; var taille_biscuit = document.cookie.length; var i = 0; while (i < taille_biscuit) { var j = i + longueur_nom; if (document.cookie.substring(i, j) == arg){ return ingredients_biscuit (j); } else { i = document.cookie.indexOf( , i) + 1; } if (i == 0) { break; } } //fin du while return null;}Examinez maintenant la fonction manger_biscuit().function ingredients_biscuit (debut_mot) {var fin_mot = document.cookie.indexOf (;, debut_mot);if (fin_mot == -1) fin_mot = document.cookie.length; return unescape Double Poche CSS • 7539 Les CSS se marient bien (document.cookie.substring(debut_mot, fin_mot));}Cette fonction reçoit le début du mot représentant la valeur et en localisantle point-virgule en induit la longueur. Elle renvoie la valeur reconstituéeavec la méthode unescape().m Figure 9.24 : Fonction ranger_biscuit()La dernière fonction a pour objectif de créer ou de modifier le cookie.function ranger_biscuit (nom, valeur) {var arg_valeur = ranger_biscuit.arguments;var arg_nombre = ranger_biscuit.arguments.length;var expires=(2 Le JavaScript expires.toGMTString())) + ((path == null) ? : (; path= + path)) + ...