2014-11-25 80 views
2

基本上,有沒有辦法做到這一點?使用HTML/JS將輸入保存到文本文件?

我想創建一個網站,當輸入正確的「密碼」時,它會將用戶帶到一個頁面。我已經用下面的代碼這一切工作; -

<div class="row"> 
    <center> 
     <form name="login" style="margin: 0px"> 
      <INPUT TYPE="text" NAME="pass" size="17" onKeyDown="if(event.keyCode==13) event.keyCode=9;" style="width: 152px; margin: 5px;"><br> 
      <input type="button" value="Click to submit!" style="width : 150px; margin: 3px" onClick="TheLogin(this.form)"> 
     </form> 
    </center> 
</div> 

而且這個腳本: -

<script language="JavaScript" type="text/javascript"> 

function TheLogin() { 

    var password = 'Mehra'; 

    if (this.document.login.pass.value == password) { 
     top.location.href="loginyes.html"; 
    } 
    else { 
     location.href="loginno.html"; 
    } 
} 

</script> 

但是我試圖得到它,這樣,如果不是密碼等用戶輸入的東西,它會將這些數據記錄到文本文件中。因此,如果我輸入「Mehra」,則需要我登錄yes.html,如果我輸入其他任何內容(如「密碼」),則需要我登錄no.html,但在我的服務器上創建一個名爲password.txt的文件。

感謝提前:)

+0

JS是客戶端,並且不能用於創建服務器上的文件。這種邏輯應該完全是服務器端的。就目前而言,您的代碼與Sony服務器一樣安全。 – 2014-11-25 11:02:00

+0

你必須使用像php這樣的服務器端腳本來做到這一點。 – Gowri 2014-11-25 11:02:53

+1

JavaScript驗證本身是一個錯誤。無論如何,每位專家都是初學者一旦:)。嘗試獲得一些關於服務器端和客戶端編碼的基本知識。可能[這](http://programmers.stackexchange.com/questions/171203/what-are-the-difference-between-server-side-and-client-side-programming)會幫助你 – Gopichandar 2014-11-25 11:16:16

回答

0
  1. 架構的網絡,從他的機器上做任何客戶端操作阻止。僅出於安全原因。如果可能的話,獲得病毒很容易。
  2. 在這個論壇中,您需要將此請求發送到服務器,生成一個文件並將其返回給客戶端或保存在服務器端。這取決於你的需求。

因此,您需要PHP,Java,Groovy或Python Web應用程序來執行此操作。

友情鏈接:

Local file access with javascript

+0

感謝您的建議!不過也許有些情況可能會有幫助這不是一個密碼,我基本上是爲單個最終用戶製作一個「問答」網站。我只想以某種方式能夠看到由答案輸入的錯誤答案列表,並且只是試圖找出最好的方式去做這件事。除了可能將這些數據記錄到使用PHP的文本文件中,有沒有其他方法我不知道? – Anil 2014-11-25 11:22:58

+0

然後添加一個PHP標籤,因爲在這裏您只是提到了Web部件,並且您需要指定您正在使用的後端語言/技術。 http://php.net/manual/en/function.file-put-contents。php – Beri 2014-11-25 12:14:59

0

看一看到本地存儲,如果你絕對不能使用服務器端。 W3Schools local storage;你應該把你的風格放在CSS中,並且中心標記已被棄用。

if(typeof(Storage) !== "undefined") { 
 
     
 
    var passw=document.getElementById('passwordfield').value; 
 
    localStorage.setItem("passw", passw); 
 
} else { 
 
     alert("Sorry your browser does not support this script"); 
 
}
<form name="login" style="margin: 0px"> 
 
      <INPUT TYPE="text" NAME="pass" size="17" onKeyDown="if(event.keyCode==13) event.keyCode=9;" id="passwordfield" style="width: 152px; margin: 5px;"><br> 
 
      <input type="button" value="Click to submit!" style="width : 150px; margin: 3px" onClick="TheLogin(this.form)"> 
 
      </form>

+0

謝謝,我會研究這一點,但本地存儲是否意味着只有輸入數據的用戶才能查看該數據?或者我能否查看其他用戶機器存儲的數據? – Anil 2014-11-25 11:23:48

+0

閱讀鏈接,如果您位於與設置本地存儲的域相同的域中,則可以獲取這些值。它應該是安全的,但你可以散列它以防萬一。最好的方式是使用像php這樣的Server端 – Billy 2014-11-25 11:26:22