好的。這是我的代碼:PHP str_replace函數不更換正確
<?php if(empty($_GET['keywords']))
{
echo "Latest jobs in ".$_GET['loc'];
}
elseif(empty($_GET['loc']))
{
echo "Latest ".$_GET['keywords']." jobs";
}
elseif(empty($_GET['keywords']) && ($_GET['loc']))
{
echo "BLAH";
}
else
{
echo "Latest ".$_GET['keywords']." jobs in ".$_GET['loc'];
}
?>
在索引頁面有2個表單域,關鍵字&祿 現在,如果用戶點擊的形式,而無需輸入數據 所以$ _GET [ '關鍵字'] & $ _GET [ '祿']都爲空 我希望它呼應BLAH
如果$ _GET [ '關鍵字']是空的,但是$ _GET [ '祿']心不是回聲「最新招聘in「。$ _ GET ['loc'];如果$ _get ['loc']爲空,但是$ _get ['keywords']不是 echo Latest。「$ _ GET ['keywords']。」作業「;
如果它們都包含數據我希望它回顯」最新「。$ _ GET ['keywords']。」工作在」 $ _ GET [‘祿’];
我的.htaccess文件包含此
RewriteRule jobs/(.*)$ jobs.php?keywords=&loc=$1
RewriteRule (.*)/jobs$ jobs.php?keywords=$1&loc=
RewriteRule (.*)/jobs-in/(.*)$ jobs.php?keywords=$1&loc=$2
jobs.php要呼應 其爲標題格式的網頁,我想上面的數據等
請幫傢伙,我已經花了3小時這個到目前爲止,所有我所得到的是現在的代碼塊:(
**下面str_replace函數代碼**
function search()
{
if(isset($_POST['keywords']) || ($_POST['loc']))
{
$replace_array = array(',',' ');
if(empty($_POST['keywords']))
{
$keywords = '';
$loc = str_replace($replace_array,'-',$_POST['loc']);
header("Location: jobs/$loc");
} elseif(empty($_POST['loc']))
{
$keywords = str_replace($replace_array,'-',$_POST['keywords']);
$loc = '';
header("Location: $keywords/jobs");
}
else
{
$keywords = str_replace($replace_array,'-',$_POST['keywords']);
$loc = str_replace($replace_array,'-',$_POST['loc']);
header("Location: $keywords/jobs-in/$loc");
}
}
}
*呃.... *,你能告訴我們'str_replace()'在哪裏進場嗎? *「PHP str_replace沒有正確替換」* –
已更新,道歉 按下提交後,它會運行sdearch()函數,然後根據需要重定向,然後在目標頁面上我希望它執行重寫 –
您的htaccess顯示爲'jobs.php?關鍵字「暗示了一種GET方法,並且您在一段代碼中使用GET數組,然後切換到POST,*爲什麼?*。檢查錯誤http://php.net/manual/en/function.error-reporting.php也做一個var_dump。不知道帖子來自哪裏,最有可能的形式,但對我們來說最不明顯。 –