[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Комментарии на php
Гость_Евгений
Люди подскажите как реализовать такую вот задачу. В базе данных имеется 2 таблицы:1)users 2)comments. При вводе данных в форму комментариев нужно, чтобы система анализировала - если вводимое имя в comments соответствует имени зарегистрированного пользователя в users, то коммент заносится на него. У каждого зареганного пользователя есть аватар, он тоже должен выводиться.

Users:
user_id
name
email
password
user_image_path_ut

Comments:
name
email
comment_id
comment

<?php
require_once 'scripts/app_config.php';
require_once 'scripts/database_connection.php';
require_once 'scripts/view.php';

$select_comments = "SELECT name, email, comment, user_image_path_ut FROM users u, comments c WHERE u.name = c.name";
$result = mysql_query($select_comments);

page_start("Статья");
?>
-далее код html-
<?php
while($comment = mysql_fetch_array($result)) {
$comment_row = sprintf(
"<div class='comment-wrap'>".
"<img alt='avatar' src='%s' class='avatar'>".
"<div class='comments-right'>".
"<div class='meta-date'>Дата</div>".
"<div><span class='url'>%s</span></div>".
"<div class='brief'>".
"<p class='text-global'>%s</p>".
"</div>".
"</div>".
"</div>",
get_web_path($comment['user_image_path_ut']),$comment['name'],$comment['comment']);
echo $comment_row;
}
?>
Данный код не работает.
exotica
Цитата
если вводимое имя в comments соответствует имени зарегистрированного пользователя в users

А для чего вообще вводить имя пользователю если он уже один раз зарегистрировался в БД. Возможно проще сделать авторизацию, а при добавлении комментария использовать Имя и Аватарку из сессии? huh.gif

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Guest
А вы не могли бы показать в общем как это сделать. Авторизация у меня есть. Я пока не сильно разбираюсь в этом, только учусь
Guest
<?php
require_once 'scripts/app_config.php';
require_once 'scripts/database_connection.php';
$name = trim($_REQUEST['name']);
$email = trim($_REQUEST['email']);
$comment = trim($_REQUEST['comment']);

$insert_sql = sprintf("INSERT INTO comments (name, email, comment) "." VALUES ('%s', '%s', '%s');",
mysql_real_escape_string($name),
mysql_real_escape_string($email),
mysql_real_escape_string($comment));
mysql_query($insert_sql);
header("Location: article.php?comment_id=" . mysql_insert_id());
?>

Получается в этой форме добавки комментов нужно вместо REQUEST применить SESSION? А как быть с аватаркой?
exotica
ОБРАМЛЯЙТЕ КОД ПОЖАЛУЙСТА! не читабелдьно совершенно
на панели ББ кодов есть кнопочки PHP , SQL, HTML и так далее... :huh:
После успешной авторизации, стартует сессия в которой содержаться все то что хранилось в БД по этому пользователю (само собой кроме пароля ;) )

На всех страницах где нам нужно использовать данные пользователя пишем в начале всего кода
<?php
session_start();


И когда нам нужно получить какие то данные о пользователе мы обращаемся к массиву $_SESSION



Цитата
Получается в этой форме добавки комментов нужно вместо REQUEST применить SESSION? А как быть с аватаркой?

ну получается что так. А что касается аватарки, то в БД вы храните путь к ней ну собственно передаете этот путь

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Guest
Спасибо за совет!Вот только пока таким способом выводится имя и коммент, с аватаркой проблема, пишет ошибку - "не определен user_image_path_ut, email"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.