HTTP Call Method en ajax ou file_get_contents
13 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
HTTP Call Method en ajax ou file_get_contents
bjr !!
Mon site à l'architecture ultra-basique suivante : formulaire.php > post > confirmation.php . Les données sont stockées sous mysql
Maintenant ça se complique un peu, je dois également stockées les données sur un autre serveur en envoyant les variables sur une adresse spécifique, exemple: "http://domain.com/xxx?var1=var1&var2=var2&var3=var3&var4=var4..." .
Comment puis-je lancer cette 2eme url pour envoyer les données à l'autre serveur depuis confirmation.php, sans que ça dérange le visiteur, c'est à dire de façon invisible?
J'ai fais quelques recherches qui me dirige plutôt vers un script ajax utilisant XMLHttpRequest.open, mais j'arrive pas à le mettre en pratique ni connaissant quasi-rien.
Merci d'avance !!
Mon site à l'architecture ultra-basique suivante : formulaire.php > post > confirmation.php . Les données sont stockées sous mysql
Maintenant ça se complique un peu, je dois également stockées les données sur un autre serveur en envoyant les variables sur une adresse spécifique, exemple: "http://domain.com/xxx?var1=var1&var2=var2&var3=var3&var4=var4..." .
Comment puis-je lancer cette 2eme url pour envoyer les données à l'autre serveur depuis confirmation.php, sans que ça dérange le visiteur, c'est à dire de façon invisible?
J'ai fais quelques recherches qui me dirige plutôt vers un script ajax utilisant XMLHttpRequest.open, mais j'arrive pas à le mettre en pratique ni connaissant quasi-rien.
Merci d'avance !!
Dernière édition par Sisty le Ven Nov 14, 2008 17:51, édité 1 fois.
Un exemple :
Tu fais un envois en GET sur une URL. Après à toi de voir si tu préfère du post, et à gérer tout ce qui est var1 & cie.
En cherchant sur Google tu trouvera qqes centaines de tutos je pense.
Et tu as des librairies pour t'aider (et te simplifier la vie), comme prototype, exemple : http://amillet.developpez.com/tutoriels ... prototype/
- Code: Tout sélectionner
function submitForm()
{
var xhr;
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
catch (e)
{
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
catch (e2)
{
try { xhr = new XMLHttpRequest(); }
catch (e3) { xhr = false; }
}
}
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
document.ajax.dyn="Received:" + xhr.responseText;
else
document.ajax.dyn="Error code " + xhr.status;
}
};
xhr.open( GET", "http://domain.com/xxx?var1=var1&var2=var2&var3=var3&var4=var4", true);
xhr.send(null);
}
Tu fais un envois en GET sur une URL. Après à toi de voir si tu préfère du post, et à gérer tout ce qui est var1 & cie.
En cherchant sur Google tu trouvera qqes centaines de tutos je pense.
Et tu as des librairies pour t'aider (et te simplifier la vie), comme prototype, exemple : http://amillet.developpez.com/tutoriels ... prototype/
Bool a écrit:Hello,
pour le cas présent ne serait il pas préférable de gérer ça coté PHP ?
Je "plussoie" Bool, a moins que tu es des contraintes non spécifiés dans ton message c'est certainement ce qu'il y a de plus propre à faire.
Bacteries, ton code à l'air sympa mais ça fait 1heure que je le tripote j'arrive pas à envoyer les variables :s
KOogar, c'est vers un autre hebergeur, un site / base completement différent
Bool, quel serait le script avec php? en s'aidant de la fonction " file_get_contents " ? je planche dessus ça à l'air de bien lancer l'url du 2eme site sans gener les visiteurs, mais par contre j'arrive pas à passer les variables. Tu as un petit code en php ?
Merci!!
KOogar, c'est vers un autre hebergeur, un site / base completement différent
Bool, quel serait le script avec php? en s'aidant de la fonction " file_get_contents " ? je planche dessus ça à l'air de bien lancer l'url du 2eme site sans gener les visiteurs, mais par contre j'arrive pas à passer les variables. Tu as un petit code en php ?
Merci!!
Sisty : c'est pourtant exactement la même chose :
PS : après tu peux gérer ça à coup de fsockopen ou autre pour mieux gérer les éventuels timeout, mais le principe reste le même.
- Code: Tout sélectionner
file_get_contents( 'http://domain.com/xxx?var1=var1&var2=var2&var3=var3&var4=var4' );
PS : après tu peux gérer ça à coup de fsockopen ou autre pour mieux gérer les éventuels timeout, mais le principe reste le même.
Bool a écrit:
- Code: Tout sélectionner
file_get_contents( 'http://domain.com/xxx?var1=var1&var2=var2&var3=var3&var4=var4' );
c'est bien ce que j'ai essayé d'utiliser, mais les variables passent pas avec les tests suivants :
- Code: Tout sélectionner
<html>
<head>
<?php
$email="test@test.com";
?>
</head>
<body>
<?php
file_get_contents( 'http://domain.com/?var1=$email' );
?>
</body>
</html>
ou
- Code: Tout sélectionner
<html>
<head>
<?php
$email="test@test.com";
?>
</head>
<body>
<?php
file_get_contents( 'http://domain.com/?var1=<?php echo $email; ?>' );
?>
</body>
</html>
ou encore
- Code: Tout sélectionner
<html>
<head>
<?php
$email="test@test.com";
?>
</head>
<body>
<?php
file_get_contents( 'http://domain.com/?var1=<?php echo $_POST["email"]; ?>' );
?>
</body>
</html>
j'ai oublié quelquechose ?
au choix :
ou bien :
et idéalement :
- Code: Tout sélectionner
file_get_contents( 'http://domain.com/?var1='.$email );
ou bien :
- Code: Tout sélectionner
file_get_contents( "http://domain.com/?var1=$email" );
et idéalement :
- Code: Tout sélectionner
file_get_contents( 'http://domain.com/?var1=' . rawurlencode($email) );
Bien sûr, et ce qui est bien avec include c'est que tu télécharges complètement la page tout comme avec file_get_contents(), mais en plus tu demandes ensuite à PHP de l'exécuter puis afficher. Bref plus lent, avec la faille de sécurité en prime.
Si tu veux un truc plus léger, il faut faire une requête HEAD à coup de fsockopen. Mais c'est un poil plus complexe quand même.
Si tu veux un truc plus léger, il faut faire une requête HEAD à coup de fsockopen. Mais c'est un poil plus complexe quand même.
Quel faille ? tant que allow_url_include est a 1 sur l'autre serveur ca pose aucun probleme. faut simplement tester le REFERER pour sécuriser l'application sur l'autre serveur et c'est plié.
> PHP 4.3.0
// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';
> PHP 4.3.0
// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';
KOogar, en fait l'url lance une page de confirmation. Si je fais un include, ca va la lancer sur ma page normalement (?); à part si je lance l'include comme une iframe de 1px x 1px peut être
Bool, le 1er code " file_get_contents( 'http://domain.com/?var1='.$email ); " marche impec mci !!
Merci de votre aide, ça fait 2 questions pour l'instant que je pose sur ce forum et les réponses m'ont bien aidé!! vive webrankinfo
Bool, le 1er code " file_get_contents( 'http://domain.com/?var1='.$email ); " marche impec mci !!
Merci de votre aide, ça fait 2 questions pour l'instant que je pose sur ce forum et les réponses m'ont bien aidé!! vive webrankinfo
13 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Click-to-Call AdWords (Pay-per-Call de Google)
- Référencement et Web 2.0
- Google Web Toolkit, pour créer des applications en AJAX
- Yahoo Maps API
- Google rejoint le projet Open AJAX créé par IBM
- Fin de l'API Google Search SOAP
- Définition(s) du Web 2.0
- Google ferme l'API SOAP aux nouveaux développeurs
- Ajouter un moteur de recherche d'images sur son site
- Optimisation du référencement d'un site en AJAX
Consultez la description détaillée des produits ou services de Google suivants : Google Click-To-Call, Google Web Toolkit
- Analyse de l'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée. - Tester le type de redirection
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum