Как преобразовать строку запроса в URL slug в форме отправить метод get в php?
я разрабатываю сайт на PHP и это мой первый сайт с использованием PHP и я новичок в PHP.
сайт содержит 2 страницы, индекс.PHP и информация.в PHP
индекс.php имеет форму ниже,
<form action="info.php" method="get">
<input type="text" name="username" />
<input type="text" name="company" />
<input type="email" name="email" />
<button type="submit">Click to Proceed!</button>
</form>
когда пользователь вводит и отправляет данные. Он перенаправляет на следующую страницу, и url-адрес содержит строку запроса, например,
http://localhost/info?username=john&company=zend&email=beast@example.com
Я хочу, чтобы отобразить url выше, как это,
http://localhost/info/john/zend/beast@example.com
и получить значения от url используя $_GET['username'],$_GET['company'] and $_GET['email']
Я пробовал много правил перезаписи, включая приведенное ниже в htaccess,
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ .php [NC,L]
RewriteRule ^([dw-]+)$ info?username=&company=&email= [L,QSA]
RewriteRule ^([dw-]+)$ info?username=&company=&email= [QSA]
RewriteRule ^(.*)$ info?username=&company=&email= [L,QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/([0-9]+)$ info?username=&company=&email= [L,QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/([0-9]+)$ info?username=&company=&email= [QSA]
но ничего не работает.
пробовал этой и очистить URL-адреса для поискового запроса? тоже.
кто-нибудь поможет мне с этой проблемой.
2 ответов
поток этот.
отправьте форму на маршруте.в PHP
вот код для маршрута.в PHP
if(isset($_GET['username']) && isset($_GET['company']) && isset($_GET['email']) )
$url = '/info/'.$_GET['username'].'/'.$_GET['company'].'/'.$_GET['email']
header('Location: '.$url);
в вашей .реврайт
RewriteRule ^info/(.+)/(.+)/(.+)$ info.php?username=&company=&email= [L,QSA]
проверьте с помощью простого правила, если перезапись работает. Убедитесь,что включен модуль перезаписи.
RewriteRule ^info/(.+)/(.+)/(.+)(/*)$ info?username=&company=&email= [L,QSA]