Идентификаторы строк базы данных привязаны к URL-адресам следующим образом:
Страница для строки 2 становится site.com/index.php?id=2
Если я обновляю вручную index.php, он отображает случайную запись, но, естественно, она не отображает идентификатор записи в адресной строке.
Есть ли способ сделать ссылку отображением случайной записи, показывая изменение идентификатора в адресной строке?
Спасибо за помощь!
Вместо того, чтобы просто показывать случайную запись, выберите идентификатор записи и выполните перенаправление к версии с идентификатором.
$randomId = // whatever method you use to choose it header( "Location: http://site.com/index.php?id=$randomId" );
Существует несколько способов сделать это.
Вы могли бы, как сказал Юхана, использовать функцию заголовка . Это приведет к перенаправлению вас на другую страницу с помощью pagereloading.
Вы можете использовать HTML5 для изменения адресной панели без pagereloading, используя window.history и jQuery для AJAX .
Самым надежным вариантом является функция заголовка PHP. Имейте в виду, чтобы НЕ печатать / эхо ничего перед заголовком. Если вы все еще получаете «уже отправленные заголовки», используйте ob_clean ()
Попробуй это :
$randomId = rand(0,100); // if let's say your post IDs go from 0 to 100 header( "Location: http://www.yourdomain.com/post.php?id=$randomId" );