Aller au contenu

Questions sur la technologie Ajax...


Sujets conseillés

Posté

Bonjour le Hub,

J'ai quelques questions concernant la technologie Ajax... Pour simplifier les choses, je vais appeler 'inscription.php' le site dans lequel on a écrit le javascript qui appelle 'ajax.php'... :)

Question 1:

Est il necessaire de faire un

session_start();

au début de 'ajax.php'?

Question 2:

Faut-il rappeler le DOCTYPE dans 'ajax.php'?

Question 3:

Comment protéger 'ajax.php'? En clair, j'aimerais que l'on ne puisse faire appel à ce fichier que si l'internaute est sur 'http://www.MonSite.ext/inscription.php' ... Ca m'embéterait un peu qu'un autre site vienne 'pomper' les résultats de 'ajax.php'... Ce qui est possible car tout ce qui est nécessaire est fourni dans le javascript écrit dans 'inscription.php'! :unsure:

Par avance, merci!

Posté

Ok, je présume que tu utilises des scripts déjà fait. Si oui, peux tu nous dire desquels il s'agit parce qu'avec un nom de fichier il est difficile de deviner ce qu'il y a derriere...

Posté

Salut,

je présume que tu utilises des scripts déjà fait

Tu présumes mal... :P

Et je ne sais pas si plus de précisions t'aideront étant donné qu'il s'agit de questions d'ordre général...

Mais bon, voici comment j'appelle ce fichier:

function ListeVille()
{
getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
{
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('PropositionVille').innerHTML = xhr.responseText;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","hidden/ajax/ListeVille.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
sel = document.getElementById('Departement');
Departement = escape(sel.options[sel.selectedIndex].value);
sel2 = document.getElementById('VilleOUCodePostal');
VilleOUCodePostal=escape(sel2.value);
xhr.send("Departement="+Departement+"&VilleOUCodePostal="+VilleOUCodePostal);
}

Merci de t'intéresser à mon problème ;)

Posté (modifié)

Ok.

Voici des débuts de réponses:

- Question 1&3: Si tu veux valider que l'utilisateur est bien passé par un endroit de ton script, il va falloir utiliser les sessions php. Ex: dans chacune de tes pages (inscription.php), tu mets à jour une valeur de la session pour savoir quelle est la derniere page principale visitee. Ensuite dans ton script php qui communique avec ta partie Ajax, tu verifies que la page principale en cours est bien celle qu'il faut.

- Question 2: pas vraiment. la reponse de ton script ajax.php sera lu comme une chaine de caractere que tu vas devoir analyser par la suite. Si tu veux un format d'échange normaliser pour l'Ajax, recherche des infos sur JSON ( http://www.json.org/ ).

Modifié par rportal
Posté

Merci pour ces réponses...

Je n'avais pas pensé aux sessions alors qu'elles se révèlent assez souvent utiles...quand on y pense ;) Du coup, il faut bien mettre un session_start() au début de ce fichier si on souhaite ne pas perdre lal session en cours...

Merci encore!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...