![](/img/trans.png)
[英]scandir or opendir does not work when path contains space in 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.