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

Web & réseau Delphi Discussion :

Appel et retour de script PHP depuis Delphi


Sujet :

Web & réseau Delphi

  1. #1
    Membre averti
    Avatar de Pascal Fonteneau
    Profil pro
    gérant
    Inscrit en
    Février 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : gérant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2007
    Messages : 139
    Points : 352
    Points
    352
    Par défaut Appel et retour de script PHP depuis Delphi
    Bonjour,

    Je souhaite depuis Delphi appeler un script PHP avec un appel de ce style

    http://www.monsite.fr/monscript.php?code="ABCDEF"

    et en retour du script dans delphi recuperer un texte ou une variable exploitable.

    J'espere avoir été clair, je ne sais pas trop comment m'y prendre

    Merci

    Pascal

  2. #2
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 986
    Points : 1 419
    Points
    1 419
    Par défaut
    bonjour, moi j'utilise sa:

    uses Wininet;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
        PageDown             := DownAndReturnThis('http://www.ffddg.fr/fggg.php');
     
    //pour télécharger un fichier sur Internet et le retourner sous forme de string
    Function DownAndReturnThis(URL: String): String;
    Const
      Agent = 'Check for update';
    Var
      hFile, HInet: HINTERNET;
      Buffer:       Array[0..32767] Of Char;
      BufRead:      Cardinal;
      BufSize:      Cardinal;
    Begin
      // on met le résultat vide si il y a une erreur
      Result := '';
      HInet  := InternetOpen(PChar(Agent), INTERNET_OPEN_TYPE_PRECONFIG, NIL, NIL, 0);
      If Assigned(HInet) Then
        Try
          //on essaye d'ouvrir l'adresse du fichier
          hFile := InternetOpenUrl(HInet, PChar(URL), NIL, 0, INTERNET_FLAG_RELOAD +
            INTERNET_FLAG_NO_CACHE_WRITE + INTERNET_FLAG_EXISTING_CONNECT +
            INTERNET_FLAG_NO_COOKIES, 0);
          //si on a réussi à l'ouvrir
          If Assigned(hFile) Then
            Try
              //on essaie de récupérer les données du fichier
              BufSize := SizeOf(Buffer);
              With TStringStream.Create('') Do
                Try
                  While InternetReadFile(hFile, @Buffer, BufSize, BufRead) And (BufRead > 0) Do
                    Write(Buffer, BufRead);
                  //le résultat est le fichier téléchargé
                  Result := DataString;
                Finally
                  Free; //on libère l'élément qui a permet de stocker le téléchargement de fichiers
                End;
            Finally
              InternetCloseHandle(hFile);
            End;
        Finally
          InternetCloseHandle(hinet);
        End;
    End;

  3. #3
    Membre averti
    Avatar de Pascal Fonteneau
    Profil pro
    gérant
    Inscrit en
    Février 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : gérant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2007
    Messages : 139
    Points : 352
    Points
    352
    Par défaut C'est pas exactement ca
    Merci OUIOUIOUI pour cette réponse, mais ton code charge le fichier PHP dans une chaine dans le programme Delphi. ce que j'ai besoin, c'est d'executer le script PHP et recuperer le resultat dans delphi.

    merci quand même

  4. #4
    Membre averti
    Avatar de Pascal Fonteneau
    Profil pro
    gérant
    Inscrit en
    Février 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : gérant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2007
    Messages : 139
    Points : 352
    Points
    352
    Par défaut un bou de code
    J'ai trouvé QQchose qui fonctionne a peut pret . Mais si vousa avez mieux (protection des codes erreurs en retour) je suis preneur


    Un composant TIDHTTP sur la fiche

    et ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
     retour : string;
    begin
     Idhttp1.get('http://wwww.monsite.com/mapage.php');
     retour := Idhttp1.response;
     showmessage(retour);
    end;

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 843
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 843
    Points : 13 615
    Points
    13 615
    Par défaut
    Citation Envoyé par Pascal Fonteneau Voir le message
    J'ai trouvé QQchose qui fonctionne a peut pret
    Ben tu trouveras pas mieux .
    Mais si tu est aussi à l'origine du code php, tu peux faire précéder la réponse d'un code numérique (que tu testeras en Delphi) qui te permettera de valider ou non le résultat.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    define('ERROR', '0', TRUE);
    define('SUCCESS', '1', TRUE);
     
    //Puis
    echo SUCCESS .'tes données';
    //ou
    echo die(ERROR .'ton erreur');

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 466
    Points
    28 466
    Par défaut
    deux remarques,

    1) il n'est pas très compliqué d'invoquer un site web sans composant

    2) Sub0 a déjà bossé sur la question de façon plus évoluée avec DelPHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel d'un script PHP depuis un fichier shell
    Par sami_c dans le forum Langage
    Réponses: 5
    Dernier message: 03/07/2014, 14h01
  2. Appel du script PHP depuis une page HTML
    Par PHILIPPE59 dans le forum Langage
    Réponses: 13
    Dernier message: 25/11/2008, 16h46
  3. Appel d'un script PHP depuis PERL
    Par tazmann dans le forum Web
    Réponses: 7
    Dernier message: 09/11/2007, 03h12
  4. Appeler une fonction d'un script PHP depuis HTML
    Par barthelv dans le forum Langage
    Réponses: 31
    Dernier message: 27/12/2005, 12h25
  5. Réponses: 6
    Dernier message: 23/05/2005, 09h33

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