簡體   English   中英

PHP表單提交獲取所有選項值?

[英]PHP Form submit to Get All Option Values?

在這里,我只想討論以下內容:

我的HTML來自fllowing代碼:

<html>
<head>
<title>My Form</title>
</head>
<body>
<form id="sample" method="post" action="saveData.php">
Courses:
<input type="checkbox" name="check[]" Value="C++" />C++
<input type="checkbox" name="check[]" Value="PHP"/>PHP
<input type="checkbox" name="check[]" Value="MYSQL" />MYSQL
<input type="checkbox" name="check[]" Value=".Net"/>.Net
Gender:
<input type="radio" name="gen[]" Value="male"/>male
<input type="radio" name="gen[]" Value="female"/>Female
</form>
</body>
</html>

我希望OutPut像以下一樣:

  foreach ($_POST as $key => $val) {
        $actVal .= "'".strtolower($key)."|".strtolower($val)."',";
        $sqlin .= " ".strtolower($key)." VARCHAR(255) , ";
                }

但是我得到了輸出,就像點擊了那個選項:

如下:

-----------------------------------------
male
C++

但我需要它像下面這樣:

male,female
C++,PHP,MYSQL,.Net

當你循環遍歷將成為數組的post數據時,我相信這就是為什么只返回其中一個元素的原因。

您可能想嘗試這樣的事情:

foreach ($_POST as $key => $val) {
    if ($key == "check" || $key == "gen") { // If this is an array post field
        foreach ($val as $val2) { // We need to loop through again since they're array post fields
            $actVal .= "'" . strtolower($val2) . "'";
        }   
    } else {
        $actVal .= "'".strtolower($key)."|".strtolower($val)."',";
    }
    //$sqlin .= " ".strtolower($key)." VARCHAR(255) , "; // Worry about this separately, should be the same process
}

我無法找到解決這個問題的方法。 但還有另一種選擇:

<input type="checkbox" name="check" value="php" />PHP
<input type="hidden" name="checklist" value="php" />

<input type="checkbox" name="check" value="MySQL" />MySQL
<input type="hidden" name="checklist" value="MySQL" />

我們的想法是在隱藏的輸入中存儲復選框/單選按鈕的所有值的列表,以便在提交表單時獲取服務器端的那些值的列表。

順便說一句,你為什么還需要呢?

如果您在提交前使用javascript將其標記為已選中,POST將發送所有值。 $ _POST [“check”]是一個數組。 使用foreach並從該數組中獲取所有值。

暫無
暫無

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

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