IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] PHP et XML pour afficher les news d'un site sur un autre


Sujet :

Langage PHP

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut [Système] PHP et XML pour afficher les news d'un site sur un autre
    Bonjour,

    Alors j'espère que je ne suis pas complètement à côté de la plaque avec mes histoires de xml dans le cas présent et j'espère aussi que j'ai posté dans le bon forum, ce dont je doute.

    Cela étant...

    J'ai deux sites en PHP avec forums.

    Je souhaite afficher sur le site A les 5 derniers messages du site B et vice versa.

    Je peux le faire avec une iframe, mais je trouve ça nul, notamment pour le référencement.

    Donc je pense que pour un truc comme ça il faut xml, mais je n'ai jamais utilisé ce langage.

    Alors voilà, que pouvez-vous me dire sur le sujet s'il vous plait ?

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Il suffit de créer une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //Vérification du mot de passe envoyé par GET
    if ($_GET['password']!="MonMdp")
        exit('Mdp incorrect');
    //Extraction des données concernants les 5 derniers posts
    $assDataFull = array();
    while ($assData = mysql_fetch_assoc($resData))
        $assDataFull[$assData['id']] = $assData;
    $strData = serialize($assDataFull);
     
    echo $strData
    Et une include cela dans l'autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /*Récupérer le contenu du script distant dans une chaine de caractères $strRéponseServeur (http://php.developpez.com/faq/?page=bibliotheques#bibliotheques_curl)*/
     
    $arrDataFull = unserialize($strRéponseServeur);

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Alors là j'ai pas tout compris...
    Je viens de lire le manuel pour comprendre comment fonctionne serialize() et unserialize() et si quelqu'un pouvait m'expliquer ça à sa façon et surtout dans le cas du problème présent, ça me rendrait bien service pour comprendre le script d'is_moins_null_que_moi .

  4. #4
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Salut, serialize() transforme simplement un tableau en chaine de caractères, re-transformable en tableau grâce à unserialize(). Comprennez vous mieux ?

  5. #5
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Merci pour ta réponse Is_null,

    C'est à dire que je vois mal pourquoi il faudrait transformer le tableau en chaine de caractères et à quoi ça peut ressembler une fois transformé.

    Aussi, comment se fait-il que le script du site B, celui avec unserialize(), puisse récupérer des informations sur un site distant, en l'occurence $strRéponseServeur, sans même en connaître l'adresse ?

  6. #6
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Vous écrivez que vous tenez les deux sites.

    Pour afficher des informations extraites de la base de données du site Source dans le site Destinnation.
    Il suffit de faire un script sur le site Source, qui fetch les données à transferer et les stockent toutes dans un même tableau, lequel devra être transformé en chaine de caractères puis affiché.
    Pour accèder à ces données depuis le site Destinnation, il suffit d'utiliser libcurl avec php afin d'accèder au script précédent, et de stocker son contenu dans une chaine de caractères. Cette chaine de caractères sera transformé en tableau exploitable en PHP, contenant les données que vous souhaitez.

    Les deux possibilités d'améliorations évidentes sont la mise en cache des données et un dispositif de sécurité. A discutter éventuellement plus tard.

    En ésperant vous avoir aidé 8)

  7. #7
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Ok merci beaucoup, j'ai compris la manoeuvre.

    Là c'était pour tâater le terrain, je dois m'atteler à autre chose avant de m'occuper de ça.
    Le moment venu, je ferais sans doute remonter le post si je n'y arrive pas du premier coup. Le dispositif de sécurité (mon obsession) est un point qui m'intéresse beaucoup

    Encore merci.

  8. #8
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Le dispositif de sécurité est extremement simple, voici comment l'implémenter du coté du site source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url .= $url+"&mot_de_passe=mon_mot_de_passe"
    Tandis que du coté serveur, en première ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_GET['mot_de_passe']!='mon_mot_de_passe') exit('mdp incorrect');

Discussions similaires

  1. [XL-2007] afficher les données d'une feuille sur une autre
    Par amapacha dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/10/2014, 17h36
  2. [Débutant] Afficher Les Données D'une DataGridView sur un autre formulaire
    Par cronaldo4ever dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/02/2014, 19h09
  3. [Dates] Fonction pour afficher les dernières news
    Par Justone22 dans le forum Langage
    Réponses: 23
    Dernier message: 04/08/2008, 22h57
  4. [DOM] PHP et XML pour stocker et afficher des données
    Par sasaas dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/02/2008, 18h20
  5. Réponses: 3
    Dernier message: 02/11/2007, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo