как получить id страницы в переменную

Alex75

Новичок
Здравствуйте. Я создаю скрипт комментариев на своем сайте. Скрипт создал, но он выводит комментарии одинаковые на всех страницах. Подскажите пожалуйста как получить в переменную ID открытой страницы, чтобы потом сравнить с id комментария? Или может эта проблема как то по другому решается? Спасибо.
 

Alex75

Новичок
PHP:
var_dump($_REQUEST)
- это что? Как это использовать? Я же крутой программист, только учусь.
 

Alex75

Новичок
Я нашел, и что? Ни чего из этого применить не могу. Куда двигаться дальше?
 

Alex75

Новичок
Что подразумеваешь под "ID открытой страницы"?
Ну у каждого поста или страницы должен быть свой уникальный идентификатор, чтобы как то они выводились. У меня комментарии выводятся одни и те же на всех страницах, а я хочу сделать чтобы на своей странице свой комментарий.
 

delorge

Новичок
Ну у каждого поста или страницы должен быть свой уникальный идентификатор, чтобы как то они выводились. У меня комментарии выводятся одни и те же на всех страницах, а я хочу сделать чтобы на своей странице свой комментарий.
Покажи код
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Тогда ты должен знать где и как хранится у тебя этот ID. Вообще пока что тема ни о чем, так как без какого-то кода сказать что-то нереально.
 

Alex75

Новичок
Вот код вывода постов.
PHP:
include("mysql.php");
include("admin/config.php");
##############################БЛОК ВЫВОДА СТАТЕЙ###################################
if (is_numeric(@$_GET['id_cat']) && is_numeric(@$_GET['id_mess']))
{
	$hits =  mysql_query("UPDATE articles SET hits = hits + 1 WHERE id=".$_GET['id_mess']."");
	$query = mysql_query("SELECT A.id as articles_id, A.*, B.* FROM articles as A, articles_cat as B WHERE A.id = ". $_GET['id_mess']." AND	B.id = ". $_GET['id_cat']."");
	if (mysql_num_rows ($query) > 0)
	{
		while($message = mysql_fetch_array($query))
		{	
			//$message['m_k'] = htmlspecialchars($message['m_k']);
			if ($message['m_k'] != "") $keywords = htmlspecialchars($message['m_k']);
			else $keywords = htmlspecialchars($message['title']);
			
			if ($message['m_d'] != "") $description = htmlspecialchars($message['m_d']);
			else $description = htmlspecialchars(substr($message['text'], 0, 400));
			$title = htmlspecialchars($message['title']);
А вот код вывода комментариев.
PHP:
$sql = ("SELECT id, post, parent_id, name, comment,
        DATE_FORMAT(date_add, '%d %M %Y %H:%i') as date_add
        FROM comments'");

$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query))
{
    $data[$row[id]] = $row; 
}

/*Функция для создания дерева комментариев  */

function mapTree($dataset) {
	$tree = array(); // Создаем новый массив
    /*
        Проходим в цикле по массиву $dataset, который был передан в качестве аргумента.
        в $id будет попадать уникальный id комментария, 
        &$node - обратите внимание, работаем со значением по ссылке!  
     */
	foreach ($dataset as $id=>&$node) {    
		if (!$node['parent_id']) { // не имеет родителя, т.е. корневой элемент
			$tree[$id] = &$node;
		} else { 
		  /*
             Иначе это чей-то потомок
             этого потомка переносим в родительский элемент, 
             при этом у родителя внутри элемента создастся массив childs, в котором и будут вложены его потомки
           */
            $dataset[$node['parent_id']]['childs'][$id] = &$node; //
             
		}
	}

	return $tree;
}
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Как я понимаю у тебя A.id и будет твоим ID по котороум тебе надо дергать комменты, то есть по ID статьи
 

Alex75

Новичок
Я нашел ID страницы в переменной это id_mess. Ура!! теперь у меня на нужной странице выводится комментарий, а на других выдает ошибку. Может подскажете какую проверочку вставить, чтобы на других страницах если нет коммента не выводил ошибку а оставлял форму для комментариев. Заранее спасибо.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
А о том, какая там ошибка, мы должны догадаться?
Кстати в мануале есть все функции для работы с этим.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Alex75
На русский переводится как: неверный аргумент был передан в конструкцию foreach(), которая принимает массив.
 

Alex75

Новичок
Я уже прочитал про это, думаю как с этим бороться. Если кому не трудно подскажите.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
надо проверить, является ли передаваемый туда аргумент не пустым массивом
 
Сверху