2014-08-31 57 views
-2

我需要一個服務器上的一個頁面,它將寫入「false」或「true」。根據地址更改頁面上的HTML? (PHP或Javascript)

但是,我需要該頁面根據地址進行編輯。因此,例如,如果我導航到http://domain.com/file.html?item=true,那麼我需要頁面自行將值更改爲「true」,以便一旦導航到http://domain.com/file.html,我需要在頁面上看到「true」。或者,如果我導航到http://domain.com/file.html?item=false它會自動更改爲「false」,所以一旦我導航到http://domain.com/file.html我會看到「假」寫在頁面上。

這是一個arduino項目,我有arduino監控文件,如果文件狀態爲「false」,那麼它什麼都不做。如果文件狀態爲「真」,則開始閃爍LED。因爲我希望這是無線的,所以我將把它託管在服務器上,並通過arduino檢查文件在線狀態。或者我可能直接在arduino上託管網絡服務器。整個arduino部分我知道該怎麼做。只是不知道服務器上的「真」或「假」值的文件。

我真的不知道如何用PHP或Javascript做到這一點。

有人可以幫忙嗎? :)

+0

嘗試使用[sessions](http://php.net/manual/en/features.sessions.php)。 – Oriol 2014-08-31 19:52:01

+0

@Oriol會話將不會工作,因爲OP想要從他的機器設置值,然後從Arduino中讀取它。 – 2014-08-31 19:58:46

+0

cookies怎麼樣? @IngoBürk – Idris 2014-08-31 19:59:31

回答

1

您可以在服務器上的一個文本文件中保存的值:

<?php 
$filename = "current.txt"; 

if(isset($_GET['item'])) { 
    $item = $_GET['item']; 
    if($item !== "true" && $item !== "false") { 
     die("attempted to write illegal value"); 
    } 

    file_put_contents($filename, $item); 
} 

echo file_get_contents($filename); 
?> 

然而,這種感覺真的哈克和workaroundy,不喜歡好的解決方案。它基本上是一個簡單的「文本文件數據庫」。

我對Arduinos沒有什麼瞭解,但爲什麼不建立與Arduino的實際連接,將它發送給它並將其存儲爲當前值?我相信這是可能的。

+0

是的,但是我希望這是無線的。我正在嘗試創建一個物理通知設備,以便在手機上收到通知時點亮燈光。如果我將手機連接到arduino(很可能),我可以手動檢查手機上的通知。所以我正在嘗試創建一個無線系統,我的手機會檢查通知,發送一個命令,然後arduino會通過檢查文件並根據文件中的值處理該命令。 – 2014-08-31 20:15:06

+0

連接仍然可以是無線的;)您提到在Arduino上託管服務器。這是不是說你直接將手機連接到設備?我仍然不明白爲什麼你的手機不是發送請求到某個網絡服務器,而是直接發送請求到Arduino。但是,嘿,這是你的項目。我的回答對你有幫助嗎?如果是這樣,請考慮將其標記爲已接受。 – 2014-08-31 20:27:54