2016-11-21 2 views
-2

J'utilise ce code:Comment les variables passer au script PHP [POST] en utilisant C#

public void sendPostData(string url, string data) 
    { 
     WebRequest req = WebRequest.Create(url); 

     req.Method = "POST"; 
     req.ContentType = "application/x-www-form-urlencoded"; 

     byte[] bytes = Encoding.UTF8.GetBytes(data); 
     req.ContentLength = bytes.Length; 

     Stream dataStream = req.GetRequestStream(); 
     dataStream.Write(bytes, 0, bytes.Length); 
     dataStream.Close(); 
    } 

PHP pour le traitement POST:

<?php 

if(@$_POST['filename']) 
{ 
    $data = filter_var($_POST['filename'], FILTER_SANITIZE_STRING); 
    $f = fopen($data.".txt", "w"); 
    fclose($f); 
} 
?> 

J'appelle par ceci:

sendPostData("http://127.0.0.1/csharptest/index.php", "filename=myvariablehere"); 

Ainsi, tout ce qu'il fait est de créer un nom de fichier "myvariablehere" sur le serveur au lieu de stocker la valeur dans myvariablehere qui contient les données.

I Vous souhaitez que la valeur "myvariablehere" soit stockée sur le serveur.

S'il vous plaît lil aide ici!

Merci

+1

Quelle est l'URL que vous obtenez, élément essayez l'inspection –

+0

Il semble que le code est en train de faire exactement ce qu'il était écrit à faire. –

+0

Je ne reçois aucune URL. Je veux juste sauvegarder les valeurs variables sur le serveur. Ce qu'il fait est juste enregistrer mon nom de variable et non les données à l'intérieur. –

Répondre

0

Essayez ce code

public static class Upload 
    { 
     public static byte[] Post(string uri, NameValueCollection pairs) 
     { 
      byte[] response = null; 
      using (WebClient client = new WebClient()) 
      { 
       response = client.UploadValues(uri, pairs); 
      } 
      return response; 
     } 
    } 

puis il suffit d'appeler cette

var response = Upload.Post("URL", new NameValueCollection() { 
    { "fileName", "test" }, 
});