簡體   English   中英

$_POST php - 無法從輸入中獲取 FORM 數據

[英]$_POST php - can not get FORM data from input

我正在使用一個基本形式和一個非常基本的 PHP 腳本來處理其中的信息。 不幸的是,PHP 在獲取發布數據時遇到問題。 我閱讀了很多關於該主題的帖子,但找不到我需要的東西。 我將發布我的代碼,希望您能指出我的問題。

<form id="contactForm" action="form/formProcess.php" method="post">

    <h1 id="contactHead" class='contactHead'>Stay in touch</h1>

    <div class="wrapper">
        <i class="far fa-user"></i>
        <input name = "name" type="text" id="nameID"  placeholder="name" required>
    </div>

    <div class="wrapper">
        <i class="fas fa-suitcase"></i>
        <input name = "business" type="text" id="businessID"   placeholder="business">
    </div>

    <div class="wrapper">
        <i class="far fa-envelope"></i>
        <input name = "email" type="email" id="emailID"   placeholder="email">
    </div>

    <div class="wrapper">
        <i class="fas fa-comment-alt"></i>
        <textarea name="msg"  id="msgID" placeholder="   Hello, write your message here"></textarea>
    </div>

    <input name ="submitButton" type="submit"  value = "send " name ="submit">
</form>

這是我用來檢索信息的代碼:

$name = test_input($_POST['name']);

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

想法是處理表單,我只發布了$name ,但已經足夠了,並且$_POST['name']不存儲價值,我不知道原因。 我嘗試過的調試詳細信息:

  1. 有或沒有 test_input -> 相同的結果
  2. Isset on $_POST['name'] - 提交表單時返回 true
  3. 當我回顯$_POST['name'] - 我什么也沒得到 - 我得到一個空格 - var_dump 返回字符串(0)
  4. 在表單上嘗試使用或不使用 enctype,結果相同
  5. 嘗試在表單操作上設置 PHP 腳本,我嘗試在 HTML 中的表單之后將其設置為包含 - 相同

概括:
我嘗試了我可能讀到或想到的一切,但結果從未改變。 我不知道這個問題是什么。 我的目的是成功接收“名稱”值,因此我可以將其存儲到數據庫中,但我不能讓它獲取輸入字段的值。

$_POST ['name']在提交表單之前為空。 所以使用isset()命令

if(isset($_POST['submit'])){
    $name = test_input($_POST['name']);
    function test_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
       }
    }

我通過從輸入中刪除ID來修復它,一旦我這樣做了,它就起作用了

我正在使用一個基本形式和一個非常基本的 PHP 腳本來處理其中的信息。 不幸的是,PHP 在獲取發布數據時遇到問題。 我閱讀了很多關於該主題的帖子,但找不到我需要的東西。 我將發布我的代碼,希望您能指出我的問題。

<form id="contactForm" action="form/formProcess.php" method="post">

    <h1 id="contactHead" class='contactHead'>Stay in touch</h1>

    <div class="wrapper">
        <i class="far fa-user"></i>
        <input name = "name" type="text" id="nameID"  placeholder="name" required>
    </div>

    <div class="wrapper">
        <i class="fas fa-suitcase"></i>
        <input name = "business" type="text" id="businessID"   placeholder="business">
    </div>

    <div class="wrapper">
        <i class="far fa-envelope"></i>
        <input name = "email" type="email" id="emailID"   placeholder="email">
    </div>

    <div class="wrapper">
        <i class="fas fa-comment-alt"></i>
        <textarea name="msg"  id="msgID" placeholder="   Hello, write your message here"></textarea>
    </div>

    <input name ="submitButton" type="submit"  value = "send " name ="submit">
</form>

這是我用來檢索信息的代碼:

$name = test_input($_POST['name']);

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

想法是處理表單,我只發布了$name ,但已經足夠了,並且$_POST['name']不存儲價值,我不知道原因。 我嘗試過的調試詳細信息:

  1. 有或沒有 test_input -> 相同的結果
  2. Isset on $_POST['name'] - 提交表單時返回 true
  3. 當我回顯$_POST['name'] - 我什么也沒得到 - 我得到一個空格 - var_dump 返回字符串(0)
  4. 在表單上嘗試使用或不使用 enctype,結果相同
  5. 嘗試在表單操作上設置 PHP 腳本,我嘗試在 HTML 中的表單之后將其設置為包含 - 相同

概括:
我嘗試了我可能讀到或想到的一切,但結果從未改變。 我不知道這個問題是什么。 我的目的是成功接收“名稱”值,因此我可以將其存儲到數據庫中,但我不能讓它獲取輸入字段的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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