Se connecter / S'enregistrer
Votre question

Questions sur AJAX et PHP

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
20 Novembre 2006 12:54:22

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

Autres pages sur : questions ajax php

a c 145 L Programmation
20 Novembre 2006 13:01:17

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.
20 Novembre 2006 13:05:45

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].
Contenus similaires
20 Novembre 2006 13:23:41

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
a c 145 L Programmation
20 Novembre 2006 13:24:57

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)
20 Novembre 2006 13:27:24

Ok merci je vais regarder tout ca.
20 Novembre 2006 14:09:36

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.
a c 145 L Programmation
20 Novembre 2006 14:22:10

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
20 Novembre 2006 15:43:14

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 ?
20 Novembre 2006 15:56:28

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)
a c 145 L Programmation
20 Novembre 2006 15:58:38

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.
20 Novembre 2006 16:45:15

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 ?
a c 145 L Programmation
20 Novembre 2006 16:53:23

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.
20 Novembre 2006 17:06:23

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...
20 Novembre 2006 17:09:53

Ok merci, je pense que je vais pouvoir me debrouiller avec ca.
20 Novembre 2006 19:31:59

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.
a c 145 L Programmation
20 Novembre 2006 19:37:01

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.
20 Novembre 2006 19:45:31

J'ai résolu le probleme, j'ai tout simplement créé le fichier avec un autre script php.
a c 145 L Programmation
20 Novembre 2006 19:47:52

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é)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS