Задать вопрос

Как сделать, чтобы во второй GET запрос попадал id новости?

Пытаюсь я сделать следующее:

Есть файл myservers.php:

if($param[1] == ''){

$query = mysql_query("SELECT * FROM news WHERE author_id='".$_SESSION['login']."'");
     while($row=mysql_fetch_assoc($query)){
        $servers .= '
        <div><a href="/news/'.$row['id'].'">'.$row['title'].'</a> | <a href="/myservers/edit/'.$row['id'].'">Редактировать</a></div>
        ';
     }
}
     
     if($param[1] == 'edit'){
	   $query = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'");
		$row = mysql_fetch_assoc($query);
        
        $test = 'test';
        
    $result_news .= '
        <div style="text-align: center; width: 800px;">
        <div>'.$row['title'].'</div>
        <div>'.$row['full_description'].'</div>
        </div>
    ';
     }


В нем я пытаюсь вызвать второй GET запрос edit, который должен открываться по адресу site.ru/news/id новости. В mysql запрос не попадает id новости, в чем ошибка?

index.php, который формирует $param

$requestUri = $_SERVER["REQUEST_URI"]; // полный url
$phpSelf = $_SERVER['PHP_SELF']; // имя скрипта
$path = substr($phpSelf,0,strpos($phpSelf,'index.php')); // убираем домен

$request_url = substr($requestUri,strlen(SITE_URL));
$request_url = urldecode($request_url); // декодируем URL-кодированную строку.
$url = explode('/',rtrim($request_url,'/'));

for($i=0; count($url[$i]); $i++){
	$url[$i] = strip_tags($url[$i]); // убирает html теги.
	$url[$i] = htmlspecialchars($url[$i]); // преобразует спец. символы в html сущности.
	$url[$i] = mysql_escape_string($url[$i]); //Экранирует SQL спец-символы для mysql_query.
}

$param = $url;
  • Вопрос задан
  • 2278 просмотров
Подписаться 2 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
KorsaR-ZN
@KorsaR-ZN
Очевидно у вас ошибка в блоке edit, судя по вашему коду, id новости должен лежать в $param[2], а у Вас там в id='".$row['id']."'".
Замените, и должно работать.
Ответ написан
Комментировать
WooDFox
@WooDFox
$query = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'");
Где вы собираетесь $row искать?
Что-то мне подсказывает, что там должно быть $param[2], а если нет - то:

Думаю, тут либо недостаточно кода для поиска ошибки, либо в логах вы найдете ошибку о несуществующей переменной (точнее, несуществующем индексе "id").
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы