簡體   English   中英

當數據包含空格時,PHP發布不起作用

[英]PHP post does not work when data contains a space

我一直在開發一種運動選擇系統,可以選擇運動,但是遇到了無法刪除帶有空格的運動的問題。

我已經將此問題歸結為發布表單,因為用於拾取表單的腳本在包含空格的情況下不會出現。 我已經在這個問題上進行了廣泛的搜索,但是沒有提出任何建議,因為所有其他類似的問題都使用了配置不當的表單。

這是當前代碼:

表單代碼:

<!--Remove Sport-->
<form action="" id="RecSportRemoveForm" method="POST">

<p>Remove Sport</p>
<?php
$sportFile = "recSport.data";
$sportOptionsArray = unserialize(file_get_contents($sportFile));

$sportLength = count($sportOptionsArray);

for($i = 0; $i < $sportLength; $i++) {
    echo ("<input type='checkbox' name=$sportOptionsArray[$i] value=$sportOptionsArray[$i]>$sportOptionsArray[$i]<br>");
}
echo ("<br><button type='submit'>Remove</button> <br>");

?>
</form>

接收代碼:(為澄清起見,我正在另一個地方過濾並重新排列密鑰,所以這不是問題)

      <!--Checks Remove Sport-->
      <?php
      $sportFile = "recSport.data";
      $sportOptionsArray = unserialize(file_get_contents($sportFile));


       $sportLength = count($sportOptionsArray);

       for($i = 0; $i < $sportLength; $i++) {

           if (isset($_POST[$sportOptionsArray[$i]]) == TRUE){
               $removeSport = $_POST[$sportOptionsArray[$i]];

               $key = array_search($removeSport, $sportOptionsArray);
               unset($sportOptionsArray[$key]);
               echo ($sportOptionsArray[$key]);

               file_put_contents($sportFile, serialize($sportOptionsArray));

               echo "<script type='text/javascript'>alert('Remove');</script>";
               echo "<script type='text/javascript'>alert($removeSport);</script>";

               echo "<meta http-equiv='refresh' content=0;URL=adminDashboard.php>";
           }
       }

      //echo "<script type='text/javascript'>alert('Remove');</script>";
      //echo "<script type='text/javascript'>alert($removeSport);</script>";
   ?>

任何幫助或見解將不勝感激。

我最終將問題一直跟蹤到發布數據的方式。 本質上,PHP不能發布名稱,或者至少不能很好地處理帶有空格的名稱屬性。

我稍稍更改了代碼,使其具有通用名稱屬性(例如recSport1,recSport2),並且將數據保留在引號中,如Dave所指出的那樣,這解決了問題。

感謝所有幫助人員,非常感謝!

暫無
暫無

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

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