[英]How do I get the input of a text box and write it to a .txt file with PHP?
原文:我試圖讓 PHP 獲取放入文本框中的輸入並將其寫入 name.txt。 我還收到一條錯誤消息,內容為“預期的標簽名稱。有 '?' 反而。” 在第 6 行。
<html>
<body>
<p>Enter name here:</p>
<input type="text" id="name"/>
<button onclick="[activate PHP]">Enter</button>
<?php
$fp = fopen('name.txt', 'w');
fwrite($fp, '[name entered]');
fclose($fp);
?>
</body>
</html>
我對 PHP 不熟悉,所以請在回答時解釋您的固定代碼的作用。
新:這是由@Vlad Gincher 制作的。 問題是,代碼沒有創建 .txt 文件,這讓我相信 PHP 會在頁面加載后立即執行。 提交表單時有沒有辦法激活PHP?
<?php
if(isset($_POST["textareaValue"])) {
$fp = fopen('name.txt', 'w');
fwrite($fp, $_POST["textareaValue"]);
fclose($fp);
}
?>
<html>
<body>
<p>Enter name here:</p>
<form method="post">
<input type="text" id="name" name="textareaValue" />
<input type="submit" value="Enter" />
</form>
</body>
</html>
同樣,我對 PHP 缺乏經驗,這可能是我的錯誤。
PHP 在服務器端運行。 服務器完成后,將輸出返回給客戶端。 在這一點上,您不能使用 PHP,但您可以強制客戶端發送另一個 HTTP 請求,以便激活 PHP。
這是它運行的代碼,檢查客戶端是否向服務器發送了信息,如果是,則將信息添加到文件中。 如果沒有,它什么都不做。
我正在使用 HTML 的 form 元素告訴瀏覽器使用post
將信息發送回服務器。 然后,我可以使用 PHP 的$_POST
獲取值,並使用我想從中獲取數據的輸入名稱( textareaValue
)
<?php
if(isset($_POST["textareaValue"])) {
$fp = fopen('name.txt', 'w');
fwrite($fp, $_POST["textareaValue"]);
fclose($fp);
}
?>
<html>
<body>
<p>Enter name here:</p>
<form method="post">
<input type="text" id="name" name="textareaValue" />
<input type="submit" value="Enter" />
</form>
</body>
</html>
當網頁呈現(顯示給用戶)時,PHP 就完成了。 PHP 無法與用戶交互 - 為此,您需要 (a) 提交到.php
文件的 HTML 表單(甚至包含該表單的同一個表單),或者 - 這在當今更流行 - javascript 與 AJAX。
這是另一個討論兩者的答案:
HTML 表單被“提交”到后端 PHP 文件,該文件從表單字段接收數據。 每個表單域在 HTML 標簽上都有一個name=
屬性——它成為變量名,而 HTML 元素的內容成為變量的數據。
ajax 也發生了非常相似的事情,只是它更靈活(HTML 表單系統非常僵化/靜態),並且(最重要的是)網頁不需要刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.