appel d'une page php à partir d'un serveur distant

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : appel d'une page php à partir d'un serveur distant

par orgerix » 28 juil. 2007, 17:19

Utilise la fonction header. Cependant, elle doit précéder tout envoi au navigateur.

Sinon, tu peux faire en javascript une fonction qui charge l page au bou d'un certain temps.

suite

par mackenzi » 28 juil. 2007, 16:49

Disons qu'à la limite, je souhaiterais remplacer le fonction include par un lien HTML, mais je ne sais pas comment faire, si je met un liens, il faut que l'utilisateur clic dessus
{
  if ($nbResults == 0)
   {
  echo "Les informations que vous avez entrées, sont incorrectes, ou vous n'avez pas de compte.";
  <a href="http://www.art-millenium.com/art/index/index.php?menu=1&main=part9">LIEN</a>
}else{
    echo "c bon"; 
     return true;
} 
Je souhaite faire ca, mais sans que se soit un lien cliquable, je veut que le liens se fasse automatiquement grace au script.

Merci

par Sékiltoyai » 27 juil. 2007, 22:01

C'est impossible, si tu la lis à distance et que tu l'exécutes en local, tu ne passeras pas le firewall de l'hébergeur distant et tu ne te connecteras pas à la base, si tu l'exécutes directement, la page ne sera pas inclue, et tu ne pourras récupérer que l'affichage du script.
Ce que tu peux faire à la limite, c'est l'exécuter à distance mais afficher du code php :
<?php

echo '<?php ';
echo '$resultat=array();'
$result = mysql_query('SELECT machin FROM truc');
while($row = mysql_fetch_assoc($result)) echo '$resultat[]="' . $row . '";';
echo '?>';

?>

appel d'une page php à partir d'un serveur distant

par mackenzi » 27 juil. 2007, 19:00

Bonjour et merci d'avance.

Voila mon problème :
mon site : http://www.art-millenium.COM/art/index/ ... main=part8

Sur cette page, le formulaire permet de verifier si un utlisateur existe sur ma base de donnée SQL qui se trouve sur un autre serveur, sur lequel j'ai installer EgroupWare.

Donc a partir de cette page je lance un script sur mon autre serveur : http://www.art-millenium.ORG/formulaire ... e_depa.php

le script fonctionne, pas de probleme, par contre je souhaite qu'à partir de ce script, suivant le résultat, etre redirigé sur une autre page, en l'occurence, revenir sur ma page : http://www.art-millenium.com/art/index/ ... n=[b]part9[/b]

J'ai essayé de 2 façons :

la premiere :
J'ai donc ajouté un include

Exemple :
{
  if ($nbResults == 0)
   {
  echo "Les informations que vous avez entrées, sont incorrectes, ou vous n'avez pas de compte.";
  include('http://www.art-millenium.com/art/index/index.php?menu=1&main=part9'); 
    return false;
}else{
	echo "c bon"; 
	 return true;
}	 
cela fonctionne, mais le probleme c'est que le script est executer sur le serveur art-millenium.ORG
donc la page s'affiche mais pas correctement.

deuxieme methode :

j'ai placé demande_depa.php sur mon serveur art-millenium.COM en remplacant localhost par l'adresse IP du serveur avec ma base SQL

Resultat, cela ne fonctionne pas, surement du a une restriction de mon hebergeur.

J'ai donc abandonné et suis revenu sur ma configuration initial.

Ma question est de savoir comment faire pour que ma page index.php soit executé à partir de mon serveur art-millenium.COM et pas art-millenium.ORG bien que mon script demande_dep.php soit sur mon serveur art-millenium.ORG

J'espère avoir été assez clair.
Merci de vos réponse