Login mot de passe
 
Menu Principal
Soutenir SQLManagerX
Certains nous ont demandés comment nous aider voici un lien pour nous soutenir


SQLManagerX
Dossiers
Accès SQLManagerX
Découvrez



SQLManagerX Pro


Qui est en ligne
3 utilisateur(s) en ligne (dont 1 sur Suite SQLManagerX)

Membre(s): 0
Invité(s): 3

plus...
Partenaires

http://www.TeeCod.fr
TeeCod


http://www.microsystem.fr
Microsystem


http://www.dag-system.fr/?lang=fr#
DAG SYSTEM


Suite SQLManagerX
[Retour | Afficher cette page en format imprimable]

Page soumise par Firetox - [Note : 9.00 (13 votes) | Noter ça !]


PHP4WD


Vidéos

Vidéo PHP4WD :Tutoriel PHP4WD
Video PHP4WM :Tutoriel PHP4WM

Video PostGreSQL sur Android et IOS avec PHP4WM :PostGreSQL avec PHP4WM
Video ORACLE sur Android et IOS avec PHP4WM :ORACLE avec PHP4WM
Video SQLServer sur Android et IOS avec PHP4WM :SQLServer avec PHP4WM
Video MYSQL sur Android et IOS avec PHP4WM :MySQL avec PHP4WM
Video Langue Arabe, chinois avec php4WM et ph4WD :Langue arabe avec PHP4WM

Dernière version

les script php sont en version 9.1.0.0 et valable pour toutes les versions (19,20,21) les différents zip ont tous ete teste avec le projet exemple mis en tutoriel et fonctionnent comme sur la vidéo. donc si vous avez des problèmes avec des versions anciennes commencez par telecharger ces dernières versions et testez. si vous avez des problèmes le forum est la pour que vous posiez vos questions

Télécharger PHP4WD 9.1.0.0 (scripts + Classe windev 21 (c_PHP4WD.wdc) et Windev Mobile 21(c_PHP4WM.wdc) ) : PHP4WD-VM 9.1.0.0-21

Version maintenu et compatible avec les langues arabe, chinois, japonais et autre UTF8. la version 21 de windev et windev mobile renvoie les chaines correctement depuis IE ou firefox donc on a pas de souci avec cette version (ce qui n'est pas le cas avec windev 20 par exemple). seule cette version sera maintenue et evoluera. garder les versions anterieures est compliqué et demande trop de travail


Télécharger PHP4WD 8.6.0.0 (scripts + Classe windev 20 (c_PHP4WD.wdc) et Windev Mobile 20 (c_PHP4WM.wdc) ) : PHP4WD-VM 8.6.0.0-20
Télécharger PHP4WD 8.6.0.0 (scripts + Classe windev 19 (c_PHP4WD.wdc) et Windev Mobile 19 (c_PHP4WM.wdc) ) : PHP4WD-VM 8.6.0.0-19

Les scripts de transfert sont dans le projet a la racine
Compatibilité : SQLManagerX / SQLEdit

Introduction

[9.1.0.0] et [8.6.0.0]
Modification des script et ajout des acces par ADO et ODBC pour toutes les bases non listées (test fait en mobile ou windev sur SQLserver = tout fonctionne bien
donc maintenant php4WD permet a windev mobile de ce connecter a n'importe quelle base de données accessible par php. l'ouverture s'agrandie

[8.5.0.0]
Ajout du membre globale :alphabet pour pouvoir le changer a lavolée et pour la classe et surtout la methode mySQLExec il suffit de position le membre par
MonAcces:alphabet = AlphabetAnsi
par exemple

[7.0.0.6]
Modification du script php4wd.
modification pour PDO (MySQL, SQLServer) et modification pour php7

[7.0.0.4]
Modification du script php4wd.
Ajout d'une methode de test
Refonte du code pour opitmisation et ajout des nouveaux acces PDO mysql, PDO SQLserver, MySQLi
Detection du bon moteur mySQL de php par le script (utilisera dans l'ordre mysq,, mysqlLi, PDOMysql)
Modification des classes windev et windev Mobile pour optimisation

[6.0.0.1]
modification des methodes pour optimisation (mySQLExec, cryptage) suppression de extraitchaine qui ralenti beaucoup sur le Exec par des  positions (on divise le temps par 10 et +  !!!!)

Bug sur methode zip + crypteRetour reglé . les mode sont maintenant tous
valident et fonctionnent parfaitement

[5.0.0.5]
mise a jour des scripts pour eviter les messages d'erreur et warning sur les versions php5

[5.0.0.4]
Modification pour SQLite Sqlite_fetch_row est remplace par sqlite_fetch_array. en php5 fetch_row n'existe plus

[5.0.0.3]: mise a jour pour acceder a firebird depuis php4wd. pour l'instant ni les procedures stockées, ni les blob sont actif dans la classe. mais les requetes et SQLManagerX fonctionnent tres bien avec cette version. testée sur apache, php5, FireBird 1.5

[5.0.0.2] : mise a jours des scripts. avec certaines configuration de php il pouvait être renvoyé un warning sur les requetes SQL update, delete et autres requetes ne revoyant pas de résultat. le nouveau script php4wd.php regle ce probleme.

Ce projet permet un accès à aux bases de données SQL sur des sites déportés au travers d'une couche php. Il est composé d'une fenêtre de test, d'une classe et de 3 scripts php.

ATTTENTION les scripts et la classe doivent avoir tous le meme numero de version. Si ce n'est pas le cas contactez nous un lien ne doit pas etre a jour.

POUR LA CONNEXION VOUS DEVEZ SPECIFIER LA BASE :
mySQLConnecte("www.SQLManagerX.com/php4wd.php","","","maBase")

Exemple Appel de procedure sous oracle :

i est un entier
v_res est une chaîne

// procedure avec 1 parametre en entree et 3 en sortie

CONVSQL:mysqlCloseBind()
CONVSQL:MySQLDefBind(1,"TESTPIN",CONVSQL:PS_VARIN,CONVSQL:PS_TYPEINTEGER,20)
CONVSQL:MySQLDefBind(2,"TESTCHA",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPECHAINE)
CONVSQL:MySQLDefBind(3,"TESTINT",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPEINTEGER)
CONVSQL:MySQLDefBind(4,"TESTDAT",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPECHAINE)
CONVSQL:MySQLDefBind(5,"TESTDBL",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPEDOUBLE)

SI CONVSQL:MySQLExec("TESTPS(:TESTPIN,:TESTCHA,:TESTINT,:TESTDAT,:TESTDBL)",1) ALORS
 
 // recuperation des parametres envoyés
 POUR i=2 A 5
  CONVSQL:mySQLGetBind(i,v_res)
  Trace(v_res)
 FIN

 // recuperation du recordSet renvoyé par la procedure si il y en a un
 CONVSQL:mySQLPremier(1)
 TANTQUE PAS CONVSQL:mySQLendehors
  Trace(CONVSQL:MySQLLitLigne(1))
  CONVSQL:mySQLSuivant(1)
 FIN 
FIN
CONVSQL:mysqlferme(1)
CONVSQL:mysqlCloseBind()

 

Exemple d'appel d'une procedue sous SQLServer :
v_reponse est une chaîne
i est un entier

CONVSQL:MySQLCloseBind()

//premier parametre :@IN1
CONVSQL:mySQLDefBind(1,"@sval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPECHAINE,"Franck")

// deuxieme parametre : en entree / sortieentier
CONVSQL:mySQLDefBind(2,"@intval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPEINTEGER,50)

// troisiem eparametre en entee sortie maischaine
CONVSQL:mySQLDefBind(3,"@floatval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPEDOUBLE,2.1416)

v_req est une chaîne

v_req += "TestPSSQLServer"

IF(CONVSQL:MySQLExecPS(v_req,1)) THEN

 // recuperation des parametres envoyés
 CONVSQL:mySQLGetBind(1,v_reponse)
 Trace(v_reponse)
 CONVSQL:mySQLGetBind(2,v_reponse)
 Trace(v_reponse)
 CONVSQL:mySQLGetBind(3,v_reponse)
 Trace(v_reponse)
 
 // recuperation du recordSet renvoyé par la procedure si il y en a un
 CONVSQL:mySQLPremier(1)
 TANTQUE PAS CONVSQL:mySQLendehors
  Trace(CONVSQL:MySQLLitLigne(1))
  CONVSQL:mySQLSuivant(1)
 FIN
ELSE
 Erreur(CONVSQL:mySQLGetErrorMessage())
END
CONVSQL:MySQLCloseBind()
CONVSQL:mySQLFerme(1)

 

Ce projet est maintenu par Frédéric Emprin.

Principe

Le fonctionnement est assez simple. Il reprend le principe de l'accès natif mySQL puisque depuis windev, la classe possède les même méthodes. La classe envoie les requêtes cryptées par une clé publique et privée au script php se trouvant sur le site web permettant l'accès a la base MySQL. Le script exécute la requête et récupère le résultat et le transmet au programme windev par http. La classe du programme windev lit le résultat et le conserve en mémoire (ce que font les dll des accès natif). Ensuite la classe Php4Wd gère ce résultat. la cle public est celle qui sert pour l'élaboration de la cle privée, qui permet le cryptage et le décryptage. les requetes sont envoyé cryptée et le resultat envoyé par le script PHP egalement. Ne transitent sur le reseau que des chaines cryptees permettant ainsi une securite maximum sur les données envoyées et recues. les cles n'etant pas envoyées sur le reseau il est impossible de decrypter les chaines tansitant entre le programme windev et les script php. 

Pré-requis : Il y a une constante dans la classe K_PUBLIC_KEY que vous pouvez modifier : attention il y a la même public key dans les 2 scripts.

Méthode pour intégrer PHP4WD à votre projet :

  1. Ouvrir le fichier connect.php et changez les infos de connexions
  2. Mettre les 2 fichiers sur votre site internet (penser à éditer le php4wd.php si vous changer le chemin du fichier connect - dans un répertoire privé par exemple
  3. Intégrer la classe php4WD dans votre projet, elle se présente comme un acces natif et a les mêmes méthodes
    Info : la méthode connect attend une adresse URL ex: convSQL:mySQLConnecte(" http://www.monsite.com/php4wd.php ") c'est l'adresse du script php

Compléments

PHP4WD permet de travailler avec toutes bases se trouvant sur un serveur HTTP et pour laquelle il existe un connecteur PHP disponible et installé.

 

L’utilité de PHP4WD n’est plus à démontrer dans le cadre d’accès aux bases de données sur les sites Internet pour lesquels les bases sont accessibles uniquement à partir du site WEB.

La puissance de PHP4WD est décuplée dans le cadre d’utilisation d’application sur une architecture type WEB.

 

Couche Client

Couche Transport http

Serveur WEB/BASE

 

Les avantages de PHP4WD sont multiples :

·         Accès à la base géré au niveau du serveur HTTP/PHP (connexion, déconnexion en fonction de l’activité…).

·         Sécurisation des données par l’utilisation du protocole HTTPS.

·         Fonctionnement des applications en mode Wifi/Bluetooth.

·         Fonctionnement des applications sur le réseau Internet ou Intranet.

·         Accès indépendant de la base.

·         WinDevMobile peut profiter du même accès que WinDev pour accéder à toutes les bases sur le serveur.

 

 

Utiliser PHP4WD

c’est faire du client riche sur une architecture WEB

Tout en conservant ses habitudes de programmation sur WinDev.



[Retour | Afficher cette page en format imprimable]

Page soumise par Firetox - [Note : 9.00 (13 votes) | Noter ça !]
Copyright: © 2004 By SQLManagerX
WinDev©, WebDev© et HyperFile© sont des marques déposées par PCSoft.
By Firetox
IMAGO:THEMES Theme Design by IMAGO DESIGN CORP.