2014-10-01 32 views
2

,所以我有一個PHP腳本發送POST請求的數據到PHP腳本(它的名字是wiadomosci.php)與下面的代碼:從C#的水平

<?php 
if (isset($_GET['wszystkie'])) //when I'm sending GET with wszystkie? paramets it send back all records in JSON - it works without any problems 
{ 
$con=mysqli_connect("xxxl","xxxx","xxxx","xxxl"); 



if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
else 
{ 
    mysqli_query("SET CHARSET utf8", $con); 
    mysqli_query("SET NAMES 'utf8' COLLATE 'utf8_bin'", $con); 
    $tablica_wynikow = array(); 
    $pobrane_dane = mysqli_query($con, "SELECT * FROM wiadomosci"); 
    while($nt=mysqli_fetch_assoc($pobrane_dane)){ 
    $tablica_wynikow[] = $nt; 

    } 
header('Content-Type: application/json'); 
echo json_encode($tablica_wynikow); 
} 
mysqli_close($con); 
} 
if (isset($_POST["nowa_wiadomosc"])) //hre is post part 
{ 
    $tresc_wiadomosci = $_POST["nowa_wiadomosc"]; 
    $con=mysqli_connect("xxx","xxx","xxx","xxxx"); 



    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: "; 
    } 
    else 
    { 
    mysqli_query("SET CHARSET utf8", $con); 
    mysqli_query("SET NAMES 'utf8' COLLATE 'utf8_bin'", $con); 
    mysqli_query("INSERT INTO wiadomosci (tresc_wiadomosci) values ($tresc_wiadomosci)"); 
    } 

    mysqli_close($con); 
} 
?> 

這是我嘗試從C#發送POST應用程序:

System.Net.WebClient client = new System.Net.WebClient(); 
string result = client.UploadString("xxxxxxxx/wiadomosci.php?", "nowa_wiadomosc=TESTTTTT"); 
Console.WriteLine(result); 

但因爲我得到一些隨機網站的HTML代碼,並沒有添加新的記錄。 如果有人能指出我正確的方向。

編輯:它的固定。我開始越來越多地使用debbuging,並且它在php腳本中的查詢構造是錯誤的,現在一切正常。

謝謝你們。

+0

你是否已經選中此http://stackoverflow.com/questions/5401501/how-to-post-data-to-specific-url-using-webclient -in-c-sharp? – 2014-10-01 13:58:19

+0

你沒有告訴WebClient你正在做一個帖子,所以它可能是默認的一個GET。你可以用'echo $ _SERVER ['REQUEST_METHOD']'和'var_dump($ _ GET)'來檢查這個問題。如果PHP通過GET請求被調用,那麼$ _POST將被**填充。 – 2014-10-01 13:59:57

+0

根據引用的@SergeyMalyutin,嘗試刪除?。另外,你的xxxxxxxx應該像'http:// yourwebsite.com' – 2014-10-01 14:05:49

回答

1

您可以嘗試發送POST請求。

using (var wb = new WebClient()) 
{ 
    var data = new NameValueCollection(); 
    data["nowa_wiadomosc"] = "TESTTTTT"; 


    var response = wb.UploadValues("xxxxxxxx/wiadomosci.php?", "POST", data); 
} 

結帳的幫助 - LINK

+0

試過了,它沒有改變任何東西。我認爲可能有問題,我的PHP腳本實際上不是C#端,但我可能是錯的。 – darekg11 2014-10-01 14:12:27