Как изменить? Id = 302 на /this-is-my-site.html после запроса формы GET POST? - PullRequest
0 голосов
/ 09 августа 2011

Хорошо, это, вероятно, довольно легко, но у меня просто какое-то время пытался заставить его работать.

У меня есть небольшая GET-форма на странице с текстовой областью (имя = идентификатор) .. когда человек вводит идентификационный номер (который является просто POST ID из истории) - тогда он отображается в URL вроде так:

http://mywebpage.com/page.php?id=582

Так что он просто получает идентификатор из URL и использует его в запросе. У меня в таблице есть строка URL-адреса, которая является переносом заголовка, например: this-is-my-site, которая просто захватывает заголовок рассказа и очень быстро запускает его через функцию.

У меня вопрос, как мне сохранить тот же формат, но когда форма будет отправлена ​​для просмотра истории по идентификатору, то как я получу строку URL в моем заголовке, чтобы заменить мою ?id= переменную ??

Так что вместо

http://mywebpage.com/page.php?id=582

Вернется

http://mywebpage.com/page.php/this-is-my-site.html

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 09 августа 2011
if(isset($_GET['id'])){
     $id=intval($_GET['id']); // sanitize it
     // get row by id
     //also we can redirect here to pretty url by 
     header('Location:'. $url)
}
else{
     //get by URI
}

PS: я не знаю, как использовать базу данных при перезаписи (и .htaccess), но это решение не нужно.Используйте $_SERVER['PATH_INFO']

1 голос
/ 09 августа 2011

В http://mywebpage.com/page.php?id=582 вы можете проверить имя, подходящее для URL, и использовать header('location: <a href="http://mywebpage.com/page.php/this-is-my-site.html" rel="nofollow">http://mywebpage.com/page.php/this-is-my-site.html</a>'); для перенаправления на URL с хорошим именем.

После этого вы можете проверить имя (с помощью .htaccess) и получить идентификатор из вашей базы данных.

1 голос
/ 09 августа 2011

Использование htaccess, безусловно, является вашей лучшей ставкой.

RewriteEngine On 
RewriteRule /page/(.*)$ /page/page.php?id=$1 

Это переписало бы ваши страницы на

www.yoursite.com/page/3

Это довольно дружественно для ваших ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...