begin process at 2012 05 27 20:57:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > XL AJENDAX : AGENDA EN LIGNE SIMPLE ET RAPIDE ( XMLHTTPREQUEST / AJAX)

XL AJENDAX : AGENDA EN LIGNE SIMPLE ET RAPIDE ( XMLHTTPREQUEST / AJAX)


 Information sur la source

Note :
8 / 10 - par 6 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Application Classé sous :ajax, xmlhttprequest, agenda, xl714, xavierlanglois Niveau :Initié Date de création :04/04/2006 Vu / téléchargé :26 858 / 2 308

Auteur : xl714

Ecrire un message privé
Site perso
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Par Xavier Langlois développeur web.

Démonstration ici: http://xl714.free.fr/projets/XL_AJendAX/

Web agenda personnel, avec bloc notes et carnet de contacts, intégration facile sur un site.
Peut-être adapter pour un blog aussi.

Source

  • //la fonction (javascript :) principale
  • function getContent(fonction, requete, etape){
  • var xhr_object = null;
  • if(window.XMLHttpRequest){ xhr_object = new XMLHttpRequest();}
  • else if(window.ActiveXObject){ xhr_object = new ActiveXObject("Microsoft.XMLHTTP");}
  • else{alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; }
  • xhr_object.open("GET", "http://xl714.free.fr/projets/XL_AJendAX/" + requete + "", true);
  • xhr_object.onreadystatechange = function() {
  • switch(xhr_object.readyState){
  • case 0: alert("xhr_object.readyState = 0\nErreur, opération impossible !");infobulle = "Erreur, opération impossible !";break;
  • case 1: infobulle = "Requête en cours.";break;
  • case 2: infobulle = "Données transférées.";break;
  • case 3: infobulle = "Affichage des données.";break;
  • case 4: infobulle = " ";
  • str = xhr_object.responseText;
  • if(!str){str = "~X~Aucune valeur retournée";}
  • if(myDecoding(str).substring(0,3) == "~X~"){alert("Une erreur définie est survenue côté serveur !");str = myDecoding(str);document.formFile.content.value = str.substring(3, str.length);return;}
  • if(etape){
  • strf = fonction + '(' + etape + ',"' + str + '")';
  • eval(strf);
  • }else{
  • strf = fonction + '("' + str + '")';
  • eval(strf);
  • }
  • break;
  • }
  • document.getElementById("info_bulle").innerHTML = infobulle;
  • }
  • xhr_object.send(null);
  • }
//la fonction (javascript :) principale

function getContent(fonction, requete, etape){
	var xhr_object = null; 
	if(window.XMLHttpRequest){ xhr_object = new XMLHttpRequest();}
	else if(window.ActiveXObject){ xhr_object = new ActiveXObject("Microsoft.XMLHTTP");}
	else{alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } 
	xhr_object.open("GET", "http://xl714.free.fr/projets/XL_AJendAX/" + requete + "", true); 
	xhr_object.onreadystatechange = function() { 
		switch(xhr_object.readyState){
			case 0:	alert("xhr_object.readyState = 0\nErreur, opération impossible !");infobulle = "Erreur, opération impossible !";break;
			case 1:	infobulle = "Requête en cours.";break;
			case 2:	infobulle = "Données transférées.";break;
			case 3:	infobulle = "Affichage des données.";break;
			case 4:	infobulle = " ";
				str = xhr_object.responseText;
				if(!str){str = "~X~Aucune valeur retournée";}
				if(myDecoding(str).substring(0,3) == "~X~"){alert("Une erreur définie est survenue côté serveur !");str = myDecoding(str);document.formFile.content.value = str.substring(3, str.length);return;}
				if(etape){
					strf = fonction + '(' + etape + ',"' + str + '")';
					eval(strf);
				}else{
					strf = fonction + '("' + str + '")';
					eval(strf);
				}
			break;
		}
		document.getElementById("info_bulle").innerHTML = infobulle;
	} 
	xhr_object.send(null);
} 

 Conclusion

Cela va presque sans dire ... j'aime bien les critiques mais seulement quand c'est constructif.
Merci d'avance.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture MENU DÉROULANT DYNAMIQUE COMPATIBLE (PHP+JAVASCRIPT+CSS)

 Sources de la même categorie

Source avec une capture PHPREPOGENERATOR + REPO (WIN) par alvinp
Source avec Zip IPHONE - ICÔNE D'APPEL TÉLÉPHONIQUE SUR L'ÉCRAN D'ACCUEIL par Rainbow
Source avec Zip Source avec une capture [APP WEB]SERVEUREXPLOREUR par thematrix01
Source avec Zip Source avec une capture MY.BOOKMARKS par inwebo
Source avec Zip M.V.C M.E.D par faceme

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ONGLET GÉNÉRÉ EN PHP ET REQUETE AJAX par djmmix
Source avec Zip OBJECT 2 JSON par coucou747
Source avec Zip Source avec une capture AJAX MAP CREATOR : CARTE INTERACTIVE POUR UN JEU EN PHP & JA... par djine
Source avec Zip Source avec une capture CHAT AJAX par Arto_8000
Source avec Zip Source avec une capture XUL - UN CALENDAR EN XUL par coucou747

Commentaires et avis

Commentaire de malalam le 05/04/2006 10:51:01 administrateur CS

Hello,

code sympa. Et condensé... ;-)

J'ai un petit problème sur ta démo par contre : difficile de savoir quelle tâche on a à faire tel ou tel jour : l'affichage est le même, même si on change de jour.

Commentaire de xl714 le 05/04/2006 13:48:09

Salut, merci
Je ne vois pas le problème que tu décris alors je vais ajouter une petite explication:
Au chargement de la page ou après un enregistrement, seule la liste des tâches de la journée en cours apparaît.
Cliquer sur + ou - dans le calendrier n'affiche pas la liste des tâches du nouveau mois sur lequel on se trouve (question pratique pour aller vite dans le calendrier):
- Si on veut afficher la liste des tâches du mois en cours, il suffit de cliquer sur le bouton du mois.
- Si on veut afficher toutes les tâches de l'année, il faut cliquer sur le bouton de l'année.
Enfin bon bref si là réponse à ta question n'est pas la bonne, n'hésite pas.

Commentaire de coucou747 le 05/04/2006 21:39:11 administrateur CS

moi je trouve que ça rend pas trop mal, mais pour les contacts, je ne vois pas en sql, ou ils sont rangés... si ils sont vraiment rangés en sql, alors t'as du oublier la requette de création...

Commentaire de GRenard le 06/04/2006 22:49:16

Oups, un peu plus de protection de ton côté server serait appréciée !!

un Eval comme ca !? ok premièrement tu peux faire ceci :
$var = $_GET['function'];
$var(); // c'est mieux qu'un eval déjà !

Mais le problème c'est que je peux entrer n'importe quoi comme fonction... comme substr ...
Quel est l'intéret? Imagine si je trouve une fonction qui supprime ton disque dur et que celle-ci ne prenne pas d'argument ? Bon je pense que tu as compris...
Tu dois te faire une liste de fonction OU sinon tu passes par ceci :
get_defined_functions et tu utilises le tableau 'user'

Commentaire de xl714 le 07/04/2006 09:07:47

Merci pour tes infos, c'est vrai que je ne pense pas à la sécurité quand je développe ,je crois toujours que la nature humaine est naturellement bonne, mais je ne crois plus au Père Noël je te rassure, alors tu as tout à fait raison et je vais faire une mise à jour avec cette sécurité.

Commentaire de Anthomicro le 08/04/2006 21:07:54

Salut,

idem en ce qui concerne le code html qu'on peut injecter n'importe comment, fais un htmlentities() avant d'insérer la valeur dans la base (ou alors ça vient d'un foirage de ton javascript)

a +

Commentaire de xl714 le 09/04/2006 23:25:09

Salut Anthomicro. Autant j'ai bien capté le problème exposé par GRenard, autant je ne comprend pas celui que tu décris comme celui de Coucou747 (quoique je pense qu'en fait il n'a tout simplement pas vraiment regarder mon code). Désolé en tous cas. Peut-être pourriez-vous me donner des exemples concrêts ?

Petite précision: lorsque les réponses renvoyées par le serveur sont lentes à cause d'une connexion lente ou un serveur bien occupé (c'est free en l'occurence), il est vrai qu'on pourrait croire que mon applie ne fonctionne pas bien. Surtout si on essaie d'enchaîner rapidement les évènements. Ou même au chargement de la page.

Commentaire de Anthomicro le 10/04/2006 00:12:00

Bah en gros si j'ajoute comme titre de note <test> par exemple, bah ça ne s'affiche pas car tu n'as pas fait un htmlentities sur la chaîne <test>, ce qui fait que c'est considéré comme des balises html.

a +

Commentaire de Sebast91 le 10/04/2006 08:57:36

Salut,

trés belle appli.

J'ai quelques idées d'ergonomie et d'améliorations :
- I1 => Liste de tâches:mettre au dessus le titre de la liste (Tâches),
- I2 => Tu peux choisir le mois et l'année : ajouter le jour courant (Aujourd'hui) car c'est pratique pour revenir sur le jour courant après une navigation, ajouter la semaine,
- I3 => Pour passer à un élément précédent ou suivant (mois, année, ...) tu dois appuyer su - ou + : mettre une liste de choix (combobox) avec quelques éléments précedents et suivants,
- I4 => Titre de la note, du contact, de la tâche : mettre le titre juste au dessus de la zone de saisie du message et en dessous du choix du type de message,
- I5 => Rafraîchissement des zones : comme dit ci-dessus, le changement de mois, année, ... doit mettre à jour les différentes zones de l'appli.

Voilà mes idées, elles sont à débattre et à statuer!
Si tu besoin d'aide n'hésite pas à faire appel à la communauté, car l'appli m'intéresse et je peux m'y impliquer.

Bonne continuation,
Seb.

Commentaire de alibazar60 le 11/04/2006 15:45:18

Ca marche du premier coup, mais contrairement à la démo en ligne, ça enregistre bien dans la BDD mais ça n'affiche pas les données sur le formulaire et j'ai un bouton test en +
Peut être quelque chose qui m'a échappé ?

Commentaire de alibazar60 le 11/04/2006 15:48:20

Oups ! C'est encore moi. Désolé pour le commentaire précédent. Ca marche super ! Bravo et merci pour ce prog
Alain

Commentaire de alibazar60 le 13/04/2006 14:51:05

Super appli, qui marche du premier coup! Pour l'exploiter en ligne, je dois ajouter une gestion de membres, possibilité de partager les calendriers,notes,contacts. Avec ceci, un système de cryptage pour terminer le tout. Cela va me prendre du temps.Si quelqu'un a déjà réalisé, faites moi savoir...
En tout ca, c'est génial comme concept, je vais l'utiliser un peu comme un CRM ou GRC (pour gérer des clients...)

Merci

Commentaire de boromsikim le 15/04/2006 08:57:55

Salut,

Beau bébé !

petit soucis chez moi quand même.

sur ton site free:
.............ok avec IE & Firefox

en local avec Wamp5 1.4.3
.............OK avec FF
.............avec IE marche aléatoirement, y compris avec le F5.

une idée ?

Merci.

Commentaire de xl714 le 18/04/2006 10:29:47

Salut,

Merci mais malheureusement, je n'ai pas encore de solution, et tu n'es pas la première personne à avoir le problème, et ça vient toujours d'internet explorer, je vais essayer plusieurs façon d'appeler ma fonction javascript principale, j'ai l'impression que ça vient de là, où de la manière de passer les paramètres. Si j'ai des bonnes nouvelles, je les posterai.
@+

Commentaire de mak_amine le 25/05/2006 17:44:39

jai un petit probleme, on en fait un groos !!!!!, ça enregistre bien dans la BDD mais ça n'affiche pas les données sur le formulaire et j'ai un bouton test en bas de la page !!!??!!

Commentaire de MATHIS49 le 18/07/2006 10:19:43

trés sympa, il manque quand même un moteur de recherche, et une vision de toutes les taches entre 2 dates et ca sera parfait ;)

Commentaire de makeos le 20/05/2007 18:33:34

Le problème qu'il y a quand on veut ajouter et qu'il ne se passe rien, est dû à IE qui met en cache les requêtes du coup, ça n'affiche rien de nouveau...
Pour eviter ce problème il faut rajouter ça sur le fichier php (côté serveur donc):

header("Pragma: no-cache");
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");

@+

Commentaire de samyzdat le 09/10/2007 14:21:18

Bonjour,

Je préfère prévenir de suite je suis un papi "néophite" en matière de programation, je sais créer un site en HTML et y mettre du java script.
Le php m'intéresse, mais je n'ai pas encore essayé de l'intégrer dans un site en html.

Je vais créer un site pour une association et j'aimerai mettre un calendrier visible sur le site afin que les adhérents puissent voir les activtés proposées en cliquant sur le jour concerné...
un peu comme un agenda pro, mais en léger environ une dizaine d'activités par semaine et/ou une a deux par jour.

Ma question est simple (enfin du moins j'espère) :-)
votre agenda répond-il à mon attente et si oui comment intégrer votre programme dans un site en html ?

Cordialement

Pierre-Antoine

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

navigation avec ajax [ par speedylol ] bonjour je me demandais si quelqu'un aurais une idée pour changer la fin du script pour naviger avec le centre dans une veuille de style css a la GET AJAX PHP send var [ par cedriclomb ] Bonjour,Bon la j'y pige que couik !Alors voila le problème, je cherche a envoyer un fomulaire à PHP avec AJAX et une méthode POST, j'ai fait des reche XmlHttpRequest (AJAX) [ par BenXbox ] Salut à tous, Je cherche à actualiser une page avec le XmlHttpRequest(AJAX) toutes les 20 secondes. Cette page s'appel EnLigne.php Merci d'avance. Pb de sécurité avec Ajax et XMLHttpRequest [ par cz1702 ] Bonjour &#224; tous,est il possible d'ouvrir une page sur un autre domaine que celui du site en cours avec XMLHttpRequest (sans contraindre l'utilisat onclick ajax [ par wallysub ] Bonjour je charge à partir de mon index le fichier agenda.php dans un div sous ajax : echo "mon agenda"; dans agenda.php j'ai un bouton pour enregis ancres et ajax [ par wallysub ] Bonjour, alors moi qui suis debutant je fatigue un peu j'espere que vous allez pouvoir m'aider. j'ai des liens comme ci dessous : où dormir comme vo recup variable d'un lien ajax [ par wallysub ] Bonjour j'avais un lien de ce style : maj que j'aurai voulu transformer en ajax, maj le chiffre 15 fait appel à mon ficher adminbalades. AJAX-PHP affichage du résultat d'un script [ par almaje ] Bonjour, voila j'ai probleme avec l'affiche d'un de les scripts et pour tout le code est bon c'est ajax et php : test.php test 4 <input name="n AJAX - probleme envoi d'un POST [ par ju0123456789 ] Bonjour, Je vais essayer d'etre précis dans ma demande sachant que je suis débutant en AJAX. Je construis actuellement une page d'album photo que j'e agenda [ par fazni ] slt j'ai besoin d'une calendrier qui me permett d'afficher l'evenement dans infobull quand passer sur un jour d'evenement merci d'avance


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales