PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
EnerdzaiseR
Отправлено: 27 Ноября, 2011 - 16:49:52
Новичок
Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
Доброго времени суток. Столкнулся с проблемкой при создании комментариев.
Есть код:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
comments.comment,
comments.user_name,
comments.year,
p.id
FROM comments
JOIN peoples p ON p.id = comments.id_people
WHERE p.name_ru LIKE '" . $_GET [ 'act' ] . "'
ORDER BY p.id DESC" , $db ) ;
echo $tables [ 'user_name' ] . '<br/>' ;
echo $tables [ 'comment' ] . '<br/>' ;
echo $tables [ 'year' ] ;
$people_id = $tables [ 'id' ] ;
}
?>
< form action= "" method= "POST" >
< input type= "text" name= "login" />< br/>
< input type= "text" name= "email" id= "" />< br/>
< textarea name= "comment" ></ textarea>< br/>
< input type= "submit" value= "Комментировать" />
<?
if ( ! empty ( $_POST [ 'login' ] ) && ! empty ( $_POST [ 'email' ] ) && ! empty ( $_POST [ 'email' ] ) ) { mysql_query ( "INSERT INTO comments (comment, id_film, id_people, user_name, email, year) VALUES ('" . $_POST [ 'comment' ] . "', 0, " . $people_id . ", '" . $_POST [ 'login' ] . "', '" . $_POST [ 'email' ] . "', '" . date ( "Y-m-d" ) . "')" , $db ) ; }
?>
</ form>
< br/>
Все работает нормально, но при нажатии на кнопку комментировать то, что только что я добавил не отображается. Добавляю следующую запись, выводится предыдущая. Подскажите пожалуйста как решить проблему.
Bio man
Отправлено: 27 Ноября, 2011 - 17:05:50
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010
Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
if ( ! empty ( $_POST [ 'login' ] ) && ! empty ( $_POST [ 'email' ] ) && ! empty ( $_POST [ 'email' ] ) ) { mysql_query ( "INSERT INTO comments (comment, id_film, id_people, user_name, email, year) VALUES ('" . $_POST [ 'comment' ] . "', 0, " . $people_id . ", '" . $_POST [ 'login' ] . "', '" . $_POST [ 'email' ] . "', '" . date ( "Y-m-d" ) . "')" , $db ) ; }
comments.comment,
comments.user_name,
comments.year,
p.id
FROM comments
JOIN peoples p ON p.id = comments.id_people
WHERE p.name_ru LIKE '" . $_GET [ 'act' ] . "'
ORDER BY p.id DESC" , $db ) ;
echo $tables [ 'user_name' ] . '<br/>' ;
echo $tables [ 'comment' ] . '<br/>' ;
echo $tables [ 'year' ] ;
$people_id = $tables [ 'id' ] ;
}
?>
< form action= "" method= "POST" >
< input type= "text" name= "login" />< br/>
< input type= "text" name= "email" id= "" />< br/>
< textarea name= "comment" ></ textarea>< br/>
< input type= "submit" value= "Комментировать" />
</ form>
< br/>
(Отредактировано автором: 27 Ноября, 2011 - 17:06:58)
EnerdzaiseR
Отправлено: 27 Ноября, 2011 - 17:38:04
Новичок
Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
Сделал вот так:
CODE (
htmlphp ):
скопировать код в буфер обмена
<?
if ( ! empty ( $_POST [ 'login' ] ) && ! empty ( $_POST [ 'email' ] ) && ! empty ( $_POST [ 'comment' ] ) ) { mysql_query ( "INSERT INTO comments (comment, id_film, id_people, user_name, email, year) VALUES ('" . $_POST [ 'comment' ] . "', 0, " . $_POST [ 'id' ] . ", '" . $_POST [ 'login' ] . "', '" . $_POST [ 'email' ] . "', '" . date ( "Y-m-d" ) . "')" , $db ) ; }
comments.comment,
comments.user_name,
comments.year,
p.id
FROM comments
JOIN peoples p ON p.id = comments.id_people
WHERE p.name_ru LIKE '" . $_GET [ 'act' ] . "'
ORDER BY p.id DESC" , $db ) ;
echo $tables [ 'user_name' ] . '<br/>' ;
echo $tables [ 'comment' ] . '<br/>' ;
echo $tables [ 'year' ] ;
$_POST [ 'id' ] = $tables [ 'id' ] ;
}
?>
< form action= "" method= "POST" >
< input type= "text" name= "login" />< br/>
< input type= "text" name= "email" id= "" />< br/>
< textarea name= "comment" ></ textarea>< br/>
< input type= "submit" value= "Комментировать" />
</ form>
< br/>
Обратите внимание на 18 строку.
При добавлении пишет ошибку
Notice: Undefined index: id in O:\home\Dropbox\total\test\pages\actor_comment.php on line 3
Разве так нельзя?
P.S. people_id это id человека которому добавляем комментарий.
Bio man
Отправлено: 27 Ноября, 2011 - 17:45:56
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010
Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
ну, ошибка потому, что $_POST['id'] не определена. можно так:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?
comments.comment,
comments.user_name,
comments.year,
p.id
FROM comments
JOIN peoples p ON p.id = comments.id_people
WHERE p.name_ru LIKE '" . $_GET [ 'act' ] . "'
ORDER BY p.id DESC" , $db ) ;
echo $tables [ 'user_name' ] . '<br/>' ;
echo $tables [ 'comment' ] . '<br/>' ;
echo $tables [ 'year' ] ;
$people_id = $tables [ 'id' ] ;
}
?>
<form action="" method="POST">
<input type="text" name="login" /><br/>
<input type="text" name="email" id="" /><br/>
<textarea name="comment"></textarea><br/>
<input type="submit" value="Комментировать" />
<?
if ( ! empty ( $_POST [ 'login' ] ) && ! empty ( $_POST [ 'email' ] ) && ! empty ( $_POST [ 'email' ] ) ) { mysql_query ( "INSERT INTO comments (comment, id_film, id_people, user_name, email, year) VALUES ('" . $_POST [ 'comment' ] . "', 0, " . $people_id . ", '" . $_POST [ 'login' ] . "', '" . $_POST [ 'email' ] . "', '" . date ( "Y-m-d" ) . "')" , $db ) ; }
header ( 'Location: ' . $_SERVER [ 'PHP_SELF' ] ) ; ?>
</form>
<br/>
EnerdzaiseR
Отправлено: 27 Ноября, 2011 - 18:02:01
Новичок
Покинул форум
Сообщений всего: 25
Дата рег-ции: Нояб. 2010
Помог: 0 раз(а)
Выдает ошибку
Warning: Cannot modify header information - headers already sent by (output started at O:\home\Dropbox\total\test\options.php:1) in O:\home\Dropbox\total\test\pages\actor_comment.php on line 27
Пробовал еще так:
<script type="text/javascript">
document.location.href = "?url=<?=$_GET['url']?>&act=<?=$_GET['act']?>&page=comment#pag";
</script>
А в файле options.php ничего такого не находится
<?php
error_reporting(E_ALL);
ini_set('session.use_trans_sid', false); #Отключаем транс сид
ini_set('session.use_only_cookies', true); #Для сессий искользуются только куки
ini_set('allow_url_fopen', true); #Разрешить открывать файлы удаленно
ini_set('magic_quotes_gpc', false); #Отключить магические кавычки
ini_set('register_globals', false); #Отключить глобальные переменные
session_set_cookie_params(0, '/', '', false, true); #
?>
Bio man
Отправлено: 27 Ноября, 2011 - 18:08:20
Постоянный участник
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010
Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
код конечно ужасный. делай так:
PHP:
скопировать код в буфер обмена
<?
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'GET' ) {
comments.comment,
comments.user_name,
comments.year,
p.id
FROM comments
JOIN peoples p ON p.id = comments.id_people
WHERE p.name_ru LIKE '" . $_GET [ 'act' ] . "'
ORDER BY p.id DESC" , $db ) ;
echo $tables [ 'user_name' ] . '<br/>' ;
echo $tables [ 'comment' ] . '<br/>' ;
echo $tables [ 'year' ] ;
$people_id = $tables [ 'id' ] ;
}
?>
<form action="" method="POST">
<input type="text" name="login" /><br/>
<input type="text" name="email" id="" /><br/>
<textarea name="comment"></textarea><br/>
<input type="submit" value="Комментировать" />
<?
}
if ( ! empty ( $_POST [ 'login' ] ) && ! empty ( $_POST [ 'email' ] ) && ! empty ( $_POST [ 'email' ] ) ) { mysql_query ( "INSERT INTO comments (comment, id_film, id_people, user_name, email, year) VALUES ('" . $_POST [ 'comment' ] . "', 0, " . $people_id . ", '" . $_POST [ 'login' ] . "', '" . $_POST [ 'email' ] . "', '" . date ( "Y-m-d" ) . "')" , $db ) ; }
header ( 'Location: ' . $_SERVER [ 'PHP_SELF' ] ) ; ?>
</form>
<br/>
(Добавление)
не, не то написал. лень думать, но мой вариант с запросом по моему самый простой(Отредактировано автором: 27 Ноября, 2011 - 18:11:45)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB