Forum > PHP > Enregistrer des données dans une base de données

Enregistrer des données dans une base de données

Page : 1 2
avatar de Tony_
Administrateur
# Le 27/12/2008 à 22h06
Eu ... je sais pas si c'est moi (fatigue ou je ne sais quoi), mais je suis un peu perdu. Peux-tu détaillé avec précision ce que tu essaie de faire.

Exemple:
Citation : Exemple
Sur le site A: Je créer une page avec un script PHP. Dans ce script j'ouvre (grâce à la fonction fopen) une page du site B.

Bref, d'une façon général je commence à me perdre entre les divers sites (site A et site B) et je ne vois pas trop le rapport entre fopen et POST (dans ce que tu souhaite faire).

Merci d'avance pour ce petit éclaircissement. smiley
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
avatar de stc
Membre
# Le 27/12/2008 à 22h10
non ça viens de moi je m'exprime mal.
Mon site A qui dois envoyer des données au site B pour que celui ci les enregistre dans sa base de données lance un fichier PHP hebergé chez B grace a la fonction fopen(); .maintenant je cherche une solutions pour que A transmette les données a B(j'ai tout essayé)
avatar de Tony_
Administrateur
# Le 27/12/2008 à 22h32
D'accord, merci.

Le mieux ce serait de savoir quel type de données tu souhaite envoyer. Il peut y avoir plusieurs solutions en fonction du type de données (simple bit 0 ou 1, ou alors un gros paragraphe).
Et le type d'application souhaité. Par exemple, est-ce que les webmasters des sites A doivent envoyer les données régulièrement, de manière automatique (en leur cachant se qui se passe) ou est-ce qu'il sont au courant.

Solution 1

Une des solutions peut consister à créer une page PHP ou un bout de code PHP que tu installera (ou demandera d'installer) à la centaine de sites A.
Dans ce cas, tu a juste à créer un bout de script (à installer sur les sites A) qui récolte les informations souhaité et lorsque le webmaster du site A souhaite envoyer les informations il lui suffit de cliquer sur envoyer et alors il lancera le "traitement de la page".
La traitement se fera sur le site B (donc le webmaster doit être consentant et il doit savoir ce qu'il se passe).

Solution 2

Selon ton application, tu peux aussi faire en sorte que tous les sites A créer une page regroupant les informations que tu souhaite. Ce type de page peut être créer en XML et serait héberger sur les sites A.
Exemple: http://www.example.com/page.xml

Ensuite, sur le site B tu fais une liste avec l'ensemble des URL des différents sites A.
Exemple: http://www.example1.com/page.xml, Exemple: http://www.example2.com/page.xml, Exemple: http://www.example3.com/page.xml, ...

Pour finir, tu fais un script sur le site B qui vérifie toutes les X minutes (ou toutes les heures, tous les jours, ...) si ces pages existe et éventuellement vérifier à l'aide de la base de donnée si les données sur ses pages ont changée.



J'espère que ces solutions pourront être applicable. Je t'invite à donner plus d'information pour éventuellement une réponse plus approprié. smiley
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
avatar de stc
Membre
# Le 27/12/2008 à 23h11
Désolé funnycat moi yen a parlé pas bien la france (parceque je passais mes cours de français a coder de l'assembleur sur papier) bon j'ai trouvé LA solution radicale:la librairie curl,alors comme je vous ai fait #0%! avec mon probleme je vais donné la solution pour ceux que ça intéresse:
sur le site A(le mien):
  1. <?php
  2. $vars='variable1=valeur1&variable2=valeur2';
  3. $ch=curl_init('http://siteB.com/test.php');
  4. curl_setopt($ch,CURLOPT_POST, true);
  5. curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7. $ret = curl_exec($ch);
  8. if (!$ret) {
  9. echo curl_error($ch);
  10. } else {
  11. echo $ret;
  12. }
  13. curl_close($ch);
  14. ?>

sur le site B(le site a qui on veut transférer les données) ->le fichier test.php:
  1. <?php
  2. require_once("routines.php");
  3. $var1=$_POST['variable1'];
  4. $var2=$_POST['variable2'];
  5. $hostname='xxxx';
  6. $username='xxxx';
  7. $password='xxx';
  8. $basename='xxxxx';
  9. $bdd_1=new bdd();
  10. $id_link=$bdd_1->connect($hostname,$username,$password,$basename);
  11. $query="INSERT INTO test (test) VALUES ('".$var1."')";
  12. $result=$bdd_1->query($query,$id_link);
  13. $query="INSERT INTO test (test) VALUES ('".$var2."')";
  14. $result=$bdd_1->query($query,$id_link);
  15. $bdd_1->close($id_link);
  16.  
  17. ?>

routines.php c un fichier ou je met mes fonctions pour MySQL ,ce qu'il faut retenir c'est surtout cURL(qui doit etre installé sur votre hebergeur ou en local)
j'ai pas trouvé ça tout seul arf ! je sais pas si j'ai le droit mais j'ai trouvé un tuto sympa a cette adresse :http://julp.developpez.com/php/curl/
Voila merci encore et bon code !!!
Tchao
PJ
avatar de Tony_
Administrateur
# Le 28/12/2008 à 00h02
Bien heureux que tu ai la réponse à ta question. smiley
En plus ça semble plus simple que les solutions que je préconisais.

T'inquiète pas, tu a le droit de cité ta source et bien au contraire il faut que tu cite la source, d'autant plus que ça leur fait plaisir (en théorie smiley ).

Bon courage pour le reste de tes scripts. smiley
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Page : 1 2