Interaction php - Vb.Net

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

[WonderFul

Membre
Dec 10, 2014
58
0
66
Bonjour je cherche des tutoriel sur les interaction entre le vb et le php, par exemple comment send une valeur, faire une requête ect....
Mais aussi comment configure ces fichier php de sort que sa fonctionne correctement.
Ps: je n'y connais vraiment rien en php donc des tutoriel bien complet qui parte de la base serait le bienvenue.
 

TheHardButcher

Programmeur C/C++
V
Dec 14, 2009
1,461
58
964
France
En .NET il suffit normalement d'utiliser les classe de WebClient (lien msdn : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! )


Exemple en gros tu as ton code php sur le serveur :

Code:
<?php
    if (isset($_POST["blabla"]))
    {
       echo $_POST["blabla"];
    }
    else
    {
        echo "Erreur !";
    }
?>

et ton code VB qui doit ressembler a ça :

Code:
Dim client As New WebClient
client .UploadString("http://coucou.net/fichier.php", "blabla=123")


A peu près hein, je code pas en VB x)
 

[WonderFul

Membre
Dec 10, 2014
58
0
66
L'envoie de donnés n'est pas trop compliquer c'est surtout sa gestion dans le fichier php, exemple j'ai vu quand pouvais utiliser $_GET ou bien $_POST, je ne connais pas trop la diffèrence, et je ne sais pas si l'appli faire la diffèrence ou une variable reste pareille.

Edit:
Par exemple j'ai réussie a faire un code d'upload sans passer par le ftp:

Donc, mon appli est coder comme ce si:
Code:
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim we as new WebClient
        Dim Fileuri As String

        Dim responseArray As Byte()
        responseArray = we.UploadFile("http://xx.com/xxxxxx/upload.php?uploaddir=Valeurs/", "./test.txt")
        Fileuri = System.Text.Encoding.UTF8.GetString(responseArray)
        MsgBox(Fileuri)

End Sub
Code:
private void Button3_Click(object sender, EventArgs e)
{
    WebClient we = new WebClient();
    string Fileuri = null;

    byte[] responseArray = null;
    responseArray = we.UploadFile("http://xx.com/xxxxxx/upload.php?uploaddir=Valeurs/", "./test.txt");
    Fileuri = System.Text.Encoding.UTF8.GetString(responseArray);
    Interaction.MsgBox(Fileuri);

}

Et mon fichier configuerer php comme se si:


PHP:
<?php
$uploaddir = $_GET['uploaddir'];
$uploadfile = $uploaddir . basename($_FILES['file']['name']);

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
    echo "Sucess upload.";
} else {
    echo "Error, upload invalid.";
}

?>

Le code fonctionne mais je ne sais pas pourquoi.

J'pense que faudrais que j'apprenne le php directement, mais vu que j'ai juste besoin de fonction simple je n'en voie pas trop l'utilité.
 
Last edited:

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
GET c'est tu passes ton truc dans l'URL : ?var=1&var2=3
POST tu mets ça dans le header de la requête (avec les cookies etc).

Le code fonctionne mais je ne sais pas pourquoi.
Qu'est-ce que tu ne comprends pas ?
 

[WonderFul

Membre
Dec 10, 2014
58
0
66
J'ai résolue le problème, je ne savais pas trop comment faire une requête en POST enfaite et je en connaisser pas la dif avec un $_GET.

SOLUTION:

L'utilisation d'une valeur $_GET:

Exemple, Upload de fichier:

Code VB:
Code:
 Dim Client As New WebClient

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim EmplacementFile As String = "PathUpload/"
        Dim responseArray As Byte() ' j'inistialise la valeurs de réponse sou forme de byte
        responseArray = Client.UploadFile("http://www.xxx.com/xxxxx/upload.php?uploaddir=" & EmplacementFile, "./test.txt") 'J'upload le fichier "./test.txt" vers l'url. (Je donne l'emplacement ou upload le fichier. (EmplacementFile))
        Dim Fileuri As String = System.Text.Encoding.UTF8.GetString(responseArray) 'Je convertie la réponse en String UTF8
        MsgBox(Fileuri) 'J'affiche la réponse
    End Sub

Code PHP:
PHP:
<?php
$uploaddir = $_GET['uploaddir']; //(0) L'emplacemet ou upload le fichier
$uploadfile = $uploaddir . basename($_FILES['file']['name']); //(1) Le fichier a upload

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { //(2) Si le fichier a bien était envoyez alors:
    echo "Sucess upload."; //(3) Affichez le sucess.
} else {  //(4) Sinon
    echo "Error, upload invalid.";//(5) Affichez l'erreur.
}

?>

L'utilisation d'une valeur $_POST:

Exemple, l'edition de fichier:

Code VB:
Code:
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

        Using client As New WebClient
            Dim NC As New System.Collections.Specialized.NameValueCollection ' Je creer une colection de valeurs
            NC.Add("modif", "texte") 'J'ajoute une item a ma collection: Modif = nom valeurs / text = se que contient la valeurs

            Dim postdata = client.UploadValues("http://www.ryznb.be/Gatcha-Trainer/Edit.php", NC) 'J'envoie ma collection de valeurs
            MsgBox(System.Text.Encoding.ASCII.GetString(postdata)) 'Je receptionne la réponse que je convertie en STring UTF8
        End Using
    End Sub
End Class
Code PHP:

PHP:
<?
$fichier = $_POST[filename]; //(0) URL du FICHIER
if(isset($fichier)) { //(1) SI je reçoit $fichier
if(is_file($fichier)); //(2) SI $fichier extiste
$fp = fopen($fichier,"w");   //(3) je l'ouvre avec fonction "w"
fwrite($fp,$_POST[modif]); //(4) Je le modifie
fclose($fp);                  //(5) Je le ferme
echo file_get_contents($fichier);  //(6) J'affiche se contenue
}
?>

#Resolue / #Lock
 
Status
Not open for further replies.