Enregistrer des données dans une base de données
| Auteurs | Messages |
|---|---|
| Page : 1 2 | |
| # Posté le 27/12/2008 à 01h02 | |
Rang: membre |
Salut, j'ai cherché sur internet sur mes bouquins et j'ai rien trouvé à savoir est-il possible de se connecter a n'importe quelles bases de données sur un autre serveur que le serveur ou est exécuté notre script(en ayant toutes les informations nécessaires à la connexion bien évidement). En fait, je ne vois pas très bien comment faire, surtout en ce qui concerne le hostname. J'avais penser à une autre solution: utiliser l'ajax qui enverrait une requête depuis un fichier PHP situé sur un autre serveur (où se trouve la base de donnée) mais c'est pour le transfert de données que je ne vois plus comment faire. Merci de m'aider & happy new year! Tchao |
| # Posté le 27/12/2008 à 01h18 | |
Rang: administrateur |
Bonjour stc, Si j'ai bien compris ta question, la réponse est "oui c'est possible". Pour se connecter à une base de donnée il te faut normalement les codes PHP suivants: Code: mysql_connect($host, $utilisateur, $motpasse) or die("Erreur connexion au serveur"); mysql_select_db($bdd) or die("erreur connexion a la Base De Données"); Si tu connais chacun des paramètres $host, $utilisateur, $motpasse et $bdd tu peux en principe te connecter à n'importe quel base de donnée. Après il suffit d'opérer comme tu a l'habitude de le faire avec n'importe quel base de donnée. Cordialement. (joyeuses fêtes) ![]() Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 01h23 | |
Rang: membre |
Bien sur funnycat, je sais me connecter a une base de données, mais par exemple mon script est exécuté sur site1.com, peut-il se connecter sur la base de données associée à site2.com. Je me pose des question surtout que des fois comme hostname on à que 'localhost' ... Merci Tchao |
| # Posté le 27/12/2008 à 12h59 | |
Rang: administrateur |
Oui c'est ce que j'essayais d'expliquer. Si tu a tous les paramètres tu peux te connecter à n'importe quel base de donnée. En général le paramètre $host c'est un sous-domaine ou une adresse IP, donc ça signifie que le script va aller se connecter à se sous-domaine (ou adresse IP) même si c'est sur un autre site ou un autre serveur. En fait, il faut bien comprendre que la première ligne correspond à la connexion au serveur. Que ce serveur soit sur le même serveur que le script qui essaie de se connecter ou non, normalement la connexion se fera. Si tu te connecte en local à partir de ton ordinateur, oui il faudra mettre "localhost". Et la deuxième ligne c'est la connexion à la base de donnée situé sur le serveur où tu te connecte. Si tu pose la question c'est surement que tu rencontre se problème, je t'invite à tester par toi même pour voir si ça marche de tes propres yeux. Cordialement. ![]() Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 13h33 | |
Rang: membre |
J'ai essayé quand même pour voir le résultat et voila le message d'erreur: Citation : AUTEUR Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource Je crois en fait que c'est impossible et même si ça l'était dans certain cas on a que localhost! Je cherche d'autre moyen de jouer sur la base de données d'un autre site, par exemple en exécutant un fichier sur cet autre site en lui envoyant les données a mettre dans MySQL, est-ce possible? Merci Tchao |
| # Posté le 27/12/2008 à 14h05 | |
Rang: administrateur |
En effet, ce n'est pas possible, j'ai fais le test de mon côté et ça ne fonctionne pas non plus. Il y a bien une solution comme tu le souligne. Si tu veux envoyer des données d'un site A vers un site B pour que le site B puisse enregistrer les informations dans sa base de donnée tu peux utiliser un script PHP pour envoyer les données à l'aide de POST ou de GET:
Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 14h18 | |
Rang: membre |
Le problème c'est qu'il y aura le site A qui disposera des données a enregistrer mais il n'y aura pas que le site B (il y aura aussi le site C,le site D ... au moins une centaine). C'est pourquoi j'aimerais transmettre des données a un site tiers qui les enregistrera sur sa bdd sans utiliser header! Merci Tchao |
| # Posté le 27/12/2008 à 15h15 | |
Rang: administrateur |
Eu ... la centaine de site (site B, C, D, ...) seront à toi ou pas? Je veux dire par là: est-ce que tu aura accès à leurs pages? Parce que sinon, le site A peut créer un flux XML dans lequel il donne les informations de son choix et tu a juste à rajouter un script sur les sites B, C, D, ... Le script (des sites B, C, D, ...) a juste à récupérer les informations du flux XML et ensuite les traiter pour les enregistrer dans leurs base de données respective. Est-ce que tu vois ce que je veux dire? Ça te semble réalisable selon ce que tu souhaite faire? Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 15h54 | |
Rang: membre |
Ben en fait les sites ne seront pas a moi mais j'aurais un accord tacite pour envoyer des données (réseaux d'annuaires). XML huu je connais pas trop faudrait que je me penche sur la question. Est-il possible d'envoyer des données concernant un site qui veut se faire référencé (titre ,description etc ...). Le problème c'est que je veux faire une indexation progressive et l'enregistrement des données devra se faire a partir du site A (sachant que le site B par exemple pourra ne pas être vu une journée entière, il faudra quand même que je lui envoie des données). Tchao Merci |
| # Posté le 27/12/2008 à 17h01 | |
Rang: membre |
Re-salut: Après quelque recherches (je suis même aller à la bibliothèque de ma ville arf !) je crois que je tiens le bon bout je vous donne la soluce ça pourrait servir ! :depuis le site A pour lancer un fichier php(test.php) qui se situe sur le siteB.com Code: <?php $fp=fopen('http://siteB.com/test.php','r'); //accès en lecture car certains serveurs refusent l'accès en écriture $fclose($fp) Voila le fichier test.php est exécuté, bon après pour transmettre des données depuis le site A pour les mettre sur la bdd du site B, c'est autre chose, malheureusement on ne peut pas utiliser les sessions (j'ai essayé)! Si quelqu'un a une idée! Tchao PJ réédition: Bon j'ai essayé de transférer des données avec des cookies mais il semblerait que test.php est bien exécuté coté serveur sur siteB.com et que donc il ne peut pas accéder a mon cookie,je ne vois qu'une seule solution c'est d'envoyer les données par la méthode GET mais je ne sais pas si je suis limité (par la taille) et le texte doit être formaté non? Sinon j'aimerais envoyer les données par post mais là je ne sais vraiment pas comment faire! a l'aide! Tchao |
| # Posté le 27/12/2008 à 18h08 | |
Rang: administrateur |
Pour l'envoie en GET j'ai déjà vu des URL énormes, donc je ne pense pas que ce soit trop limité. Edit: En fait, oui c'est limité, au temps pour moi. Pour la méthode du POST c'est plus simple (s'il y a beaucoup de données à envoyer). Sur la balise <form> il faut que tu précise bien l'adresse du site qui doit traiter le formulaire. Exemple: Code: <form action="http://www.example.com/page.php" method="post"> En d'autre mot, la page du formulaire peut très bien être situé sur le site A et la page qui traite les données sur le site B. Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 18h23 | |
Rang: membre |
Je pensais plutôt a envoyer par la méthode POST sans utiliser de formulaire étant donné que j'aurais plusieurs sites a qui je devrais envoyer les données, il me semble bien avoir lu quelque part que la taille était limitée avec les données transmise par URL mais je n'en suis pas sur! Tchao |
| # Posté le 27/12/2008 à 18h33 | |
Rang: membre |
Arf je viens d'essayer mais en fait c'est une mauvaise idée car le fichier n'est pas lancé dans la fenêtre du navigateur alors j'oublie la méthode get ou post, ce qu'il me faudrait c'est le moyen de transmettre une variable d'un site à l'autre (toutes les manières sont bonnes, la sécurité je m'en fous un peu, à la limite je m'en occuperai plus tard !). |
| # Posté le 27/12/2008 à 21h49 | |
Rang: administrateur |
Citation : stc le fichier n'est pas lancé dans la fenêtre du navigateur Je ne comprend pas ce que tu veux dire? Ce que tu veux dire c'est quoi:
Ma page préférée? Le dossier référencement qui présente une multitude d'informations utiles.
Sinon hors internet je suis développeur web PHP. |
| # Posté le 27/12/2008 à 21h59 | |
Rang: membre |
Je n'ai pas rencontré de bug, j'exécute le fichier avec fopen (j'ai testé ça marche) mais je ne peux pas rajouter "?id=55" (par exemple) vu que le fichier n'est pas lancé dans le navigateur. |
| Page : 1 2 | |


: