Envoyer des données à un script php

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Envoyer des données à un script php

Message par falsam »

Parce que le code est minimum, j'ai eu envie de vous parler de la fonction ReceiveHTTPFile() qui ne sert pas qu'à recevoir un fichier : Vous pouvez aussi envoyer des données à un script php.

■ Objectif.
Envoyer un nom d'utilisateur et un message à un script php à travers deux variables:
   user.s : Nom de l'utilisateur.
   say.s : Le message à envoyer

Ces deux variables seront analysées par le script php présent sur le serveur.

■ Code.

Code : Tout sélectionner

InitNetwork()

;url plus script php recevant les variables
url.s  = "http://s242132022.onlinehome.fr/racal/usersay0.php"

;variables (Ne pas oublier d'utiliser la fonction URLEncoder)
user.s = URLEncoder("votrePseudo") 
say.s  = URLEncoder("Votre message")

;Envoi des données
ReceiveHTTPFile(url + "?" + "&user=" + User + "&say=" + say, "log.txt")
Chaque message est enregistré dans une base de données MySQL.

■ Vous pouvez voir le résultat sur ce lien http://s242132022.onlinehome.fr/racal/usersayresult.php

N'hésitez pas à faire des tests n'oubliant pas de préciser votre pseudo et votre message.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Envoyer des données à un script php

Message par microdevweb »

Merci Falsam pour cette astuce.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Envoyer des données à un script php

Message par falsam »

@microdevweb: N'hésite pas à utiliser le code pour envoyer un petit mot :)
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Envoyer des données à un script php

Message par microdevweb »

C'est fait et cela fonctionne au top :lol:
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Envoyer des données à un script php

Message par falsam »

Petit embryon de chat utilisant le même principe

Code : Tout sélectionner

Enumeration
  #MainForm
EndEnumeration

Enumeration
  #User
  #Say
  #Send
  #UserSayList
EndEnumeration


Procedure Send()
  Protected url.s  = "http://s242132022.onlinehome.fr/racal/usersay0.php"
  Protected User.s = GetGadgetText(#User)
  Protected Say.s  = GetGadgetText(#Say)
  Protected DataSend.s = "&user=" + URLEncoder(GetGadgetText(#User)) + "&say=" + URLEncoder(GetGadgetText(#Say))
    
  ;A URL$ may Not contain certain characters such as: tab, space, accent letter etc.
  If User <> "" And Say <> ""
    DataSend = "&user=" + URLEncoder(User) + "&say=" + URLEncoder(Say)
    If ReceiveHTTPFile(url + "?" + DataSend, "log.txt")
      SetGadgetState(#UserSayList, #PB_Web_Refresh)
      SetGadgetText(#Say, "")
    Else
      MessageRequester("Error","There is a problem with the database")
    EndIf
  Else
    MessageRequester("Oops", "The field User or Say can not be empty")
  EndIf  
EndProcedure

Procedure MainForm_Show()
  OpenWindow(#MainForm, 0, 0, 800, 600, "UserSay Version 1", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  
  ;ListIconGadget(#UserSayList, 10, 10, 780, 500, "User", 150)
  WebGadget(#UserSayList, 10, 10, 780, 500, "http://s242132022.onlinehome.fr/racal/usersayresult.php")
  TextGadget(#PB_Any, 10, 530, 100, 20, "User")
  StringGadget(#User, 10, 550, 200, 22, "")
  
  TextGadget(#PB_Any, 220, 530, 100, 20, "Say")
  StringGadget(#Say, 217, 550, 470, 22, "")
  
  ButtonGadget(#Send, 708, 550, 80, 22, "Send")
EndProcedure

InitNetwork()
MainForm_Show()
BindGadgetEvent(#Send, @Send())

Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
Manque le rafraîchissement de la page avec un timer et d'autres fonctionnalités mais ce n'est qu'un embryon de code.

Pour générer un blog ou CMS ou autres ça peut être un bon systéme d'autant plus que la tendance est au retour aux pages statics.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1800
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Envoyer des données à un script php

Message par microdevweb »

Ha PureBasic que de belles surprises tu nous réserves encore
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre