簡體   English   中英

如何獲取文本框的輸入並使用 PHP 將其寫入 .txt 文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM