Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1358 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Remplire un formulaire PHP sous Delphi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplire un formulaire PHP sous Delphi

n°447798
Slide
Posté le 03-07-2003 à 17:00:17  profilanswer
 

Je voudrais que une de mes applications soit capable de remplire un formulaire sur n'importe quel site en PHP. Quel methode me conseilliez vous svp ?
 
Important : ne pas utiliser la souris. (car ca je sais faire, ca pourrait etre la solution de dernier recour)
 
Merci :p

mood
Publicité
Posté le 03-07-2003 à 17:00:17  profilanswer
 

n°447868
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-07-2003 à 17:31:12  profilanswer
 

remplir un formulaire qui est affiché dans le browser de l'utilisateur (IE ou autre), ou bien soumettre des données à un serveur sans que l'utilisateur ne voit la page web du formulaire ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°447973
Slide
Posté le 03-07-2003 à 18:39:55  profilanswer
 

antp a écrit :

remplir un formulaire qui est affiché dans le browser de l'utilisateur (IE ou autre), ou bien soumettre des données à un serveur sans que l'utilisateur ne voit la page web du formulaire ?


 
Les 2, pourquoi pas :p visible ou pas, ce n'est pas un probleme, je prendrais le plus facile :p
 
Mc :p

n°447981
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-07-2003 à 18:52:05  profilanswer
 

Si c'est juste pour soumettre des données à un serveur tu peux faire un GET ou un POST avec le composant TIdHTTP par exemple (Indy) ou avec son équivalent dans les composants ICS.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°466035
AZorbas
That's me , Alexis Zorbas !
Posté le 23-07-2003 à 17:51:29  profilanswer
 

Bonjour ce sujet m'intéresse aussi.
 
J'ai essayé la méthode d'ANTP et ça marche bien.
En complément j'ai trouvé cet exemple sur ce site : http://www.experts-exchange.com/Pr [...] 35820.html
 
Maintenant j'aimerais envoyer un fichier.
 
Est-il possible de la même façon d'en envoyer ?
 
Merci d'avance.
 
:jap:


Message édité par AZorbas le 23-07-2003 à 17:52:36

---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°466052
Tetedeienc​h
Head Of God
Posté le 23-07-2003 à 18:20:37  profilanswer
 

AZorbas a écrit :

Bonjour ce sujet m'intéresse aussi.
 
J'ai essayé la méthode d'ANTP et ça marche bien.
En complément j'ai trouvé cet exemple sur ce site : http://www.experts-exchange.com/Pr [...] 35820.html
 
Maintenant j'aimerais envoyer un fichier.
 
Est-il possible de la même façon d'en envoyer ?
 
Merci d'avance.
 
:jap:


 
Ben tu envoie le contenu du fichier et zopla.

n°466582
AZorbas
That's me , Alexis Zorbas !
Posté le 24-07-2003 à 11:16:10  profilanswer
 

merci je vais tester cela!
 
:jap:


---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°468523
AZorbas
That's me , Alexis Zorbas !
Posté le 26-07-2003 à 18:28:51  profilanswer
 

J'arrive pas à envoyer des fichiers via Indy :cry:  
 
 
J'ai trouvé des infos sur experts-exchange mais ça marche pas trop :(
 
Des infos ?
 
 :jap:  :jap:  :jap:
 
EDIT : j'aimerais envoyer des fichiers ET remplir des champs en même temps.


Message édité par AZorbas le 26-07-2003 à 18:50:23

---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°468852
AZorbas
That's me , Alexis Zorbas !
Posté le 27-07-2003 à 12:01:03  profilanswer
 

personne ?
 
 :jap:  :jap:


---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°468889
taureau
Posté le 27-07-2003 à 13:03:26  profilanswer
 

commence déjà par donner le code que tu utilises pour que l'on cerne le problème

mood
Publicité
Posté le 27-07-2003 à 13:03:26  profilanswer
 

n°468902
AZorbas
That's me , Alexis Zorbas !
Posté le 27-07-2003 à 13:51:59  profilanswer
 

voilà pour remplir un formulaire et le traiter par mon serveur j'utilise ça et ça marche.
 
Maintenant tetedeiench me dit que pour un fichier je dois faire pareil. Le prob c'est que je sais pas comment faire pour envoyer un fichier ET remplir les champs comme pour un formulaire multipart/form-data.
 

Code :
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. aStream: TMemoryStream;
  4. Params: TStringStream;
  5. begin
  6. aStream := TMemoryStream.create;
  7. Params := TStringStream.create('');
  8. Params.WriteString(URLEncode('comment=' + 'test' + '&'));
  9. Params.WriteString(URLEncode(nom=' + 'test'));
  10. IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
  11. IdHTTP1.Post('http://localhost/page.php', Params, aStream);
  12. end;


 
 
 
Sinon j'avais trouvé cela (http://beta.experts-exchange.com/P [...] 50661.html) :
 

Code :
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. Request       : TMemoryStream;
  4. FileData      : TMemoryStream;
  5. Response      : TStringStream;
  6. tempArray     : array[0..10000] of char;
  7. tempString    : String;
  8. strFileSize   : String;
  9. InFile        : String;
  10. const
  11. NewLine = chr(13) + chr(10);
  12. begin
  13. Screen.Cursor := crHourGlass;
  14. InFile := 'c:\test.zip';
  15. // Set the properties for HTTP
  16. HTTP.ProtocolVersion                := pv1_1;
  17. HTTP.Request.Username               := '';
  18. HTTP.Request.Password               := '';
  19. HTTP.Request.ProxyServer            := '';
  20. HTTP.Request.ProxyPort              := 80;
  21. http.Request.ContentEncoding        := 'multipart/form-data';
  22. try
  23.    // create streams
  24.    Response  := TStringStream.Create('');
  25.    Request   := TMemoryStream.Create;
  26.    FileData  := TMemoryStream.Create;
  27.    // load file data
  28.    FileData.LoadFromFile( InFile );
  29.    FileData.Seek( 0, soFromBeginning );
  30.    // copy form data
  31.    TempString := '';
  32.    TempString := TempString + '-----------------------------7d18914904ee' + NewLine;
  33.    TempString := TempString + 'Content-Disposition: form-data; name="UserName"' + NewLine;
  34.    TempString := TempString + '' + NewLine;
  35.    TempString := TempString + edUserName.text + NewLine;
  36.    TempString := TempString + '-----------------------------7d18914904ee' + NewLine;
  37.    TempString := TempString + 'Content-Disposition: form-data; name="PassWord"' + NewLine;
  38.    TempString := TempString + '' + NewLine;
  39.    TempString := TempString + edPassWord.text + NewLine;
  40.    TempString := TempString + '-----------------------------7d18914904ee' + NewLine;
  41.    TempString := TempString + 'Content-Disposition: form-data; name="FileSize"' + NewLine;
  42.    TempString := TempString + '' + NewLine;
  43.    TempString := TempString + '1234567' + NewLine;
  44.    TempString := TempString + '-----------------------------7d18914904ee' + NewLine;
  45.    TempString := TempString + 'Content-Disposition: form-data; name="DataFileName"; filename="' + InFile + '"' + NewLine;
  46.    TempString := TempString + 'Content-Type: application/octet-stream' + NewLine;
  47.    TempString := TempString + '' + NewLine;
  48.    // Add data to post
  49.    FillChar( temparray, SizeOf( temparray ), #0 );
  50.    strpcopy( temparray, tempstring );
  51.    Request.Write( temparray, length(tempstring) );
  52.    Request.Seek( 0, soFromEnd );
  53.    Request.CopyFrom( FileData, FileData.Size );
  54.    // copy form data
  55.    TempString := '';
  56.    TempString := TempString + '' + NewLine;
  57.    TempString := TempString + '-----------------------------7d18914904ee' + NewLine;
  58.    TempString := TempString + 'Content-Disposition: form-data; name="Submit"' + NewLine;
  59.    TempString := TempString + '' + NewLine;
  60.    TempString := TempString + 'Submit' + NewLine;
  61.    TempString := TempString + '-----------------------------7d18914904ee--'  + NewLine;
  62.    // Add data to post
  63.    FillChar( temparray, SizeOf( temparray ), #0 );
  64.    strpcopy( temparray, tempstring );
  65.    Request.Write( temparray, length(tempstring) );
  66.    // post file
  67.    try
  68.      HTTP.Post( edUrl.Text, Request, Response);
  69.    except
  70.      showmessage( "Failed!" )
  71.    end;
  72.    // write out debug text
  73.    memo1.lines.Add('===[TForm1.Post - Response.DataString]=================');
  74.    memo1.Lines.add( Response.DataString );
  75. finally
  76.    Response.Free;
  77.    Request.Free;
  78.    FileData.Free;
  79.    Screen.Cursor := crDefault;
  80. end;
  81. end;


 
Mais mon formulaire ne semble pas comprendre ce qu'on lui envoit.
 
 
Voilà j'espère avoir été assez clair.
 
Est-il possible d'envoyer un fichier aussi "facilement" que la première méthode ?
 
Merci d'avance !
 
 :jap:  :jap:  :jap:


Message édité par AZorbas le 27-07-2003 à 13:55:53

---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Remplire un formulaire PHP sous Delphi

 

Sujets relatifs
[PHP] Mettre un argument à un fichier en "include"[PHP MySQL] BDD gérée en live......(jsuis novice)
Question sur les expressions régulières en PHPPHP en ligne de commande et appel de scripts
[Access] Chemin d'une variable dans un sous-formulaire[PHP/MySQL] Comment faire des stats sur les requetes ?
[PHP] session & sécuritéSpécifier la taille d'une fenêtre en PHP ou JS...
[PHP] probleme refresh cause de requete 
Plus de sujets relatifs à : Remplire un formulaire PHP sous Delphi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR