Я занимаюсь разработкой новостного веб-сайта, и у меня возникла одна проблема ...
Когда пользователь нажимает на новостную статью, она ссылается на www.mydomain.com/news/article-name/
Однако, если вы удалите название статьи в URL-адресе, что приведет к www.mydomain.com/news/, PHP выдает ошибки. Я отключил ошибки PHP, и когда я это сделаю, веб-сайт, конечно же, удалит тексты статей, содержание статьи и изображение.
Когда включаются ошибки и изменяется URL-адрес, я получаю следующую ошибку на странице ... «Примечание: неопределенный индекс: news_id»
У меня такой вопрос ... ... как перенаправить пользователя обратно на мою домашнюю страницу, если он намеренно или случайно изменил URL-адрес?
Мой код такой ...
<?php
require_once('header.php');
// Preventing the direct access of this page.
if (!isset($_REQUEST['slug']))
{
header('location: index.php');
exit;
}
// Getting the news detailed data from the news id
$statement = $pdo->prepare("SELECT * FROM tbl_news WHERE news_slug=?");
$statement->execute(array($_REQUEST['slug']));
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
$news_title = $row['news_title'];
$news_content = $row['news_content'];
$news_date = $row['news_date'];
$publisher = $row['publisher'];
$source = $row['source'];
$photo = $row['photo'];
}
// Update data for view count for this news page
// Getting current view count
$statement = $pdo->prepare("SELECT * FROM tbl_news WHERE news_slug=?");
$statement->execute(array($_REQUEST['slug']));
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row)
{
$current_total_view = $row['total_view'];
}
$updated_total_view = $current_total_view+1;
// Updating database for view count
$statement = $pdo->prepare("UPDATE tbl_news SET total_view=? WHERE news_slug=?");
$statement->execute(array($updated_total_view,$_REQUEST['slug']));
?>
<!-- Blog Start -->
Я получил его, используя следующие
<?php
require_once('header.php');
// Preventing the direct access of this page.
if (!isset($_REQUEST['slug']))
{
header('location: index.php');
exit;
}
else
{
// Check the news slug is valid or not.
$statement = $pdo->prepare("SELECT * FROM tbl_news WHERE news_slug=? AND status=?");
$statement->execute(array($_REQUEST['slug'],'Published'));
$total = $statement->rowCount();
if ( $total == 0 )
{
header('location: index.php');
exit;
}
}
Отредактировал его, но в основном сообщение об ошибке гласит: «Примечание: неопределенный индекс: news_id»
Где в этом скрипте находится news_id? Я предполагаю, что вам нужно посмотреть на объект $ statement, чтобы увидеть, были ли затронуты какие-либо строки. Затем вы можете решить, есть ли у вас действующий news_slug.






извлеките идентификатор из URL-адреса, если этот идентификатор не совпадает с вашей базой данных, используйте перенаправление
Включите в вопрос точное сообщение об ошибке.