Tom's Guide > Forum > Programmation > Questions sur AJAX et PHP

Questions sur AJAX et PHP

Forum Programmation : Questions sur AJAX et PHP

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,
j'ai quelques questions :

- Est ce que l'on peut comuniquer avec un script PHP sans recharger la page ou seulement une partie ? Donc que le server execute le script qu'il l'envoi a javascrpt sur la page, qui en fonction de ces resultats change l'affichage.(j'espere que vous me comprenez)

- Comment fait on pour envoyer des données de php --> php (et non html --> php [post]) Communiquer entre deux scripts phps.

Merci d'avance

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

alors, ta première question est exactement ce que fait l'AJAX:
un javascript transmet une requète à une page php et récupère le résultat (sous forme texte), tu peux le traiter comme tu veux pour mettre à jour une partie de page.

Pour la deuxième question, je ne comprend pas trop. Si ce sont deux scripts PHP qui fonctionnent en même temps, include() et require() te permettent d'utiliser des variables identiques (en contenu) dans les 2 scripts.
S'il s'agit d'une transition de page, tu peux soit utiliser les GET (variables en URL) ou les sessions.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Merci,
Pour ce qu tu a di sur AJAX, t'a pas un tuto ?

Et pour la deuxieme qustion c'était une transition de pages, je vais donc me renseigner sur les sessions car je n'aime pas les GET[variables].

Répondre à artkub

pour la deuxième question
t'as la bibliothèque SOAP que tu peux utiliser pour faire communiquer 2 scripts php distants.
SOAP répond aussi à la première sauf que la réponse est au format xml

Répondre à coca25

il y a un tuto pas trop mal sur phportail.net

Sinon, utiliser des sessions (ou des cookies) pour passer des variables, il faut bien comprendre le mécanisme et on arrive à faire des choses puissantes (comme les caddies)

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Ok merci je vais regarder tout ca.

Répondre à artkub

Enfait j'ai encor quelques question.
Si on met un ficher .htaccess dans un dossier contenant un script php on peut y acceder avec un autre script du server non ?
Mais est ce qu'on peut y acceder avec un script d'un autre server ?
Si oui y a t'il un moyen de controler l'acces a ce script autrement ?

Et peut on personaliser l'affichage de la demande du mot de passe d'un .htaccess

Encore une fois, j'espere que je me suis exprimé compréhensiblement.

Répondre à artkub

alors pour ta première question, la réponse serait oui, selon la méthode d'accès.
Si tu appelles ton php par un include(), ce sont les droits du répertoire initial qui s'appliquent, donc ton fichier dans un répertoire protégé peut être appelé.
Pour autoriser l'appel depuis un autre serveur, il faut jouer avec les règles de deny et allow.

La personnalisation quant à elle est très limitée, je te conseille de chercher un petit manuel sur htaccess

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Si, par exemple le fichier cmd.php est situé dans le dossier '/usr/' protegé par un .htaccess. Puis il y a un ficher index.php, qui ne peut qu'etre accedé par un membre enregistré, situé dans le dossier '/' qui envoi une commande (par HTTPRequest donc post) à cmd.php. Ce cmd.php execute la comande puis revoi un resultat à index.php.
Mais est ce que quelqu'un pourait, envoyer cette commande à partir de son ordinateur ou d'un autre server et donc utiliser cette comande pour faire des choses qui neme plairaient pas ?

Répondre à artkub

je vois pas le but de la manoeuvre.
t'es sur le même serveur, pourquoi tu te compliques la vie à faire un HTTPRequest alors qu'il suffit de placer le cmd.php dans un répertoire non publié et de l'appeler depuis ton index.php avec un include/require/...
ton cmd.php ne sera jamais accessible directement par une url


sinon si tu veux continuer sur le HTTPRequest, tu peux vérifier que la requête vient du serveur et non pas d'un client quelconque (c'est peu mais ca doit marcher)

Répondre à coca25

si tu fais bien la chose, tu ne devrais pas avoir de soucis, mais pour un tel système je déconseille l'utilisation d'un .htaccess, il vaut mieux que tu te crée des systèmes de protection personnel.

Déjà, rien ne prouve que lors du post, tout fonctionnera bien. Ensuite, avec un bon analyseur de trame, on peut décortiquer le système.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Merci beacoup pour votre aide a tous !

Le truc du repertoir non publié ca merche pas , je suis chez free.
Et je ne peut pas utiliser le include car j'ai besion que le script s'execute apres une action de l'utilisateur et non au cahrgement de la page.

Pour le systeme de securité je propse que le script (cmd.php) verifie l'url et la session.
Vous pensez que c'est assé ?
Connaisez vous un site qui pourait m'aider avec ca ?

Répondre à artkub

je ne pense pas que ce soit assez, ou bien c'est trop :)
Pour l'url, tu va surement utiliser le HTTP_REFERER? avec un appel javascript, 50% de chances que ça foire, et certains navigateurs ne le transmettent pas ou permettent de le fausser.

La chose que je vois possible est peut-être un peu plus complexe mais normalement toujours fonctionnelle:
ton script initial crée un fichier texte vide dont le nom est un unique-id et qui contient un identifiant propre à l'utilisateur actuel, et tu enregistres en session cet identifiant et le nom du fichier.
Lorsque cmd.php est appelé, il lit la session uniqid, regarde si le fichier existe (et pkoi pas l'heure de création), lit le contenu du fichier et le compare à la session propre à l'utilisateur.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Citation :


Et je ne peut pas utiliser le include car j'ai besion que le script s'execute apres une action de l'utilisateur et non au cahrgement de la page.



excuse moi si je comprends pas mais ca me rend curieux...

quelque soit cette action, après tu appelles une page, par ex: index.php, depuis index.php tu veux appeler cmd.php et tu veux aussi que cmd.php ne soit pas appelé en dehors de index.php.

avec ca, ce que je vois, c'est créer une variable dans index.php, inclure cmd.php et tester la validite de la variable (isset) sous cmd.php...


Message édité par coca25 le 20-11-2006 à 17:07:13
Répondre à coca25

Ok merci, je pense que je vais pouvoir me debrouiller avec ca.

Répondre à artkub

Finalement j'ai encor un probleme, mais celui la doit etre plus simple (enfin j'espere)
J'ai ca :

$mdp = fread(fopen($fichier, "r" ), filesize($fichier));
$mdp = str_replace( "#", "" , $mdp);

le fichier est un .php ou il y a ecrit #modpass donc au final ca devrait me donner modpass mais il y a quelquechose apre, qui se met automatiquement (j'ai veriffié il n'y a rien dans le fichier .php apres modpass mais quand je fait echo $mdp; il y a un espace)
Je ne sait donc pas quoi faire car quand je le compare aver password qui est un post il ne me le valide pas.

Répondre à artkub

ben je pense que tout vient de la manière dont tu écris ton fichier: un caractère de fin de ligne (\n ou \n\r) se rajoute à la fin.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

J'ai résolu le probleme, j'ai tout simplement créé le fichier avec un autre script php.

Répondre à artkub

oui, c'est le mieux et je présume qu'à terme, c'est ainsi que ça fonctionnera (si tu utilises le principe que je t'ai donné)

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn
Tom's Guide > Forum > Programmation > Questions sur AJAX et PHP
Aller à :

Il y a 2408 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens