2017-09-24 29 views
0

我有一個服務器(000webhost.com)三個文件:
Test01.php」(主文件),
database.txt 「(保存的數據,這將被用戶改變),
save_txt.php「(從主文件中獲取數據,並將其寫入文件‘數據庫’。

Test01.php 「」應該顯示一個簡單的列表,在表中有幾個名字(單列,多行)。
這些名稱將從名爲「database.txt」的文件中檢索。
每次有用戶點擊一個名稱,該名稱將被髮送到列表的底部,並且該列表將被保存爲「database.txt」,因此下一個用戶將看到最後一個用戶所做的更改。
在「Test01.php」 A函數發送改變的列表的第二文件(「save_txt.php‘),這是應該將它寫回’database.txt」。

我可以管理從txt文件中檢索數據,並點擊事件,但我仍然無法找到一種方法將數據保存到txt文件中...
事實上,我不知道不明白爲什麼我的變量沒有從第二個php文件中看到(「save_txt.php」)。

要檢索我使用的數據:

<?php 
     $Data_from_File = file("database.txt",FILE_IGNORE_NEW_LINES); 
    ?> 

和腳本:

var sSaved_Data = <?php echo json_encode($Data_from_File); ?>; 

上市的東西工作正常。
我從txt文件中獲得許多名稱並將其存儲到數組中。然後我將它顯示在表格中。讀取文件沒有問題。

我做這個數據發送到「save_txt.php」:

var sNew_Data = " is blue"; 
. 
. 
. 
xmlhttp.send("php_Data_to_Save=" + sNew_Data); 

但是,任何人都可以告訴我爲什麼簡單的代碼下面不起作用?

https://rbonphp.000webhostapp.com/Test01.php

save_txt.php」 僅僅是這樣的:

<?php 
    $var1 = $_POST["php_Data_to_Save"]; 
    echo $var1; 
?> 

時間:在這個例子中,我只是想看看「是藍色的」迴盪在屏幕(不管在哪裏)。我只想了解如何將數據恢復爲「save_txt.php」。
稍後我會嘗試寫$ var1「database.txt」。第一
但是第一件事......
:-(

正如我所說的,這個「Test01.php」只是一個試驗,列表和我在另一個文件中寫的所有點擊事件。這部分作品就好

* *編輯

讓我們嘗試把它們都放在幾行
主文件(Test01.php)作用:。

var sNew_Data = " is blue";  
// there's more code for the XMLHttpRequest function 
xmlhttp.send("php_Data_to_Save=" + sNew_Data); 

輔助文件(save_txt.php)作用:

<?php 
    $var1 = $_POST["php_Data_to_Save"]; 
    echo $var1; 
?> // and this is ALL its code, just these 4 lines. 

即線回聲$ VAR1;應該簡單地在屏幕上顯示「is blue」
對嗎?

額外的信息:Test01.php是對頁面進行以下工作開始之前一步:

https://rbonphp.000webhostapp.com/DailyTasks1.php

+0

你已經在複雜的你的問題,並沒有給出一個適當的問題。你的PHP不工作? XML請求沒有發送? 簡化問題所在,並解釋您的當前輸出和您想要的輸出。我無法從您的鏈接中看到您期待如何將輸入輸入到數據庫中。 – MinistryofChaps

+0

@MinistryofChaps,正如我所說的「在這個例子中,我只是想看看'是藍色'在屏幕上回應(不管在哪裏)」。其他的東西,我得到它的工作。好吧,我仍然沒有,但這不是這個問題的目的,這是爲什麼$ _POST不工作。 – RGeral

+0

您的問題中沒有代碼可以查看響應並將其顯示在屏幕上。 – Quentin

回答

0

您的代碼正在工作。 調用Send_Data_to_Server()返回「天空是藍色的」,這是你想要的,因爲發送的數據爲var sNew_Data = sSaved_Data + " is blue";,它是正確地呼應save_txt.php

注:您的評論的jQuery Ajax調用錯誤但是,這不是你如何定義發送數據,檢查第一個例子,在http://api.jquery.com/jquery.ajax/

你會這樣寫:

$.ajax({ 
     url: 'save_txt.php', 
     data: { php_Data_to_Save : sNew_Data }, 
     type: 'POST' 
}); 
+0

什麼?不能相信我錯過了那個(調用Send_Data_to_Server())......無論如何,我一直在尋找並試圖讓它在整個上午工作,這不是它沒有工作的原因。我的意思是,不是一個人。剛剛更新了這個示例代碼,它還沒有工作。我的本地網絡問題可能?我會在稍後嘗試jquery,但我不想使用jquery ... – RGeral

+1

你並不真的需要jquery,我只是以爲你想要它,因爲它在那裏。問題是,你的腳本可以工作 - 將數據返回到「save_txt.php」。現在,您只需使用save_text.php中收到的數據更新txt文件並以某種方式刷新您的列表 - 例如。將新列表返回到Test01或返回true並重新加載Test01或僅返回更改等。 – Manny

+0

您是否更改了代碼以使其工作?因爲當我打開Test01。PHP(當然,從服務器的鏈接)我看到的唯一的東西是「天空」,然後是一個彈出窗口,說「完成」。 「我是藍色」一詞從來沒有顯示給我,因爲我只是想... – RGeral

0

第一,你沒有打電話Send_Data_to_Server()的任何地方,你剛剛宣佈它。

secont,你只是發送請求到服務器,但不要將答案存儲在任何地方。

+0

正如我剛纔所說的,在這個例子中,我忘記了調用Send_Data_to_Server(),但我在之前的文件中調用了它,並且它還沒有工作。無法理解@Manny如何看待它的工作......並且數據不應該被存儲到這個時候。只是希望它得到迴應。我無法得到。 – RGeral