在構建PHP應用程序時,我已經達到了應該在搜索引擎腳本上工作的地步,但是我還是得到了一些關於如何操作的問題。PHP搜索腳本混淆
我已經看到很多有關這個問題的指南和教程,但沒有一個人解釋了要採取的方法。
所以選項有:
形式POST方法提供發佈關鍵字到函數,它查詢
<?php
$keywords = preg_split('/[\s]+/', $_POST['keywords']);
$products->search($keywords);
?>
<form action="" method="post">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
形式GET方法,它改變了這樣的?keywords=x+y+z
http地址,關鍵字正在從$傳遞_GET在這種情況下
<?php
$keywords = preg_split('/[\s]+/', $_GET['keywords']);
$products->search($keywords);
?>
<form action="" method="get">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
與POST方法形成後提交併重定向到同一頁面,但與?keywords=x+y+z
插件
<?php
header('Location: file.php?keywords=' . $_POST['keywords']);
exit();
?>
<form action="" method="post">
<input type="text" name="keywords">
<input type="submit" value="submit">
</form>
<?php
$keywords = preg_split('/[\s]+/', $_GET['keywords']);
$products->search($keywords);
?>
從我學到純正POST方法,如果你想實現分頁是非常糟糕的。當通過$ _GET ?page=2
切換頁面時,帖子不再保留,搜索結果消失,我收集到我將不得不通過帖子切換頁面,所以我很困惑我應該採取哪種方法,謝謝所有提示:)
我明白了,提前相當長的研究但是我明白你的觀點,是否有機會至少解釋一下如何實現'/ search/2 /?關鍵字= HAL'我看過那些斜槓和我好奇如何做到這一點;) – Mevia
這些只是你的url欄中的正常斜槓:它們不必等同於特定的文件。標準方法是編寫一些處理所有流量的'路由器'(例如,通過'.htaccess'將所有流量發送到'application.php')。該文件從請求中讀取用戶要求的內容(例如,在'/' ),然後調用'search.php'文件,表明找到了第2頁,並給出了關鍵字。在PHP中,Google有點「router」,還有mvc->大量的例子! – Nanne