Создать ответ 
Создать свой сайт по примерам из интернета
Автор Сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #11
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 15:30:08)Admin писал(а):  Обратил внимание, что у Вас в таблице comment в столбце id_users везде значения NULL, потому и не работает.

"в переменной $tag[$up][$i][8] будет содержаться ссылка на url аватарки." - я же ссылки никакие прописывать не должен?;

NULL я пробовал менять, сейчас поменял для всех комментариев - ошибки больше нет, но и аватарка не отображается нигде ни рядом ни где)
03.01.2016 15:40:01
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #12
RE: Создать свой сайт по примерам из интернета.
Ссылки будут браться из базы.

Вам нужно только в удобном для Вас месте (внутри функции parents() ) выводить эти аватарки, например, после строчки:
PHP код:
echo '<div class="comm_head" id="m'.$tag[$up][$i][0].'">'

добавьте:
PHP код:
echo '<img src="'.$tag[$up][$i][8].'">'
03.01.2016 15:58:28
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #13
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 15:58:28)Admin писал(а):  Ссылки будут браться из базы.
Вам нужно только в удобном для Вас месте (внутри функции parents() ) выводить эти аватарки, например, после строчки:
PHP код:
echo '<div class="comm_head" id="m'.$tag[$up][$i][0].'">'

добавьте:
PHP код:
echo '<img src="'.$tag[$up][$i][8].'">'

Не получается, ничего не происходит.
03.01.2016 16:24:50
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #14
RE: Создать свой сайт по примерам из интернета.
Посмотрите исходный код получившейся странички. Там должны появиться теги <img> с URL аватарок. Возможно, нужно указать имя домена и полный путь в URL аватарок.
03.01.2016 16:34:22
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #15
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 16:34:22)Admin писал(а):  Посмотрите исходный код получившейся странички. Там должны появиться теги <img> с URL аватарок. Возможно, нужно указать имя домена и полный путь в URL аватарок.

Все нормально, это пункт получился. Спасибо большое! Видимо dreamweaver плохо синхронизировался. Теперь осталось сделать так, чтобы при добавлении комментария в таблицу comment в столбец id_users присваивался id от авторизованного пользователя.
03.01.2016 16:57:34
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #16
RE: Создать свой сайт по примерам из интернета.
Тут тоже ничего сложного нет. Нужно просто найти переменную, в которой храниться этот самый id от авторизованного пользователя и добавить эту переменную в INSERT при добавлении комментариев.
03.01.2016 17:04:57
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #17
RE: Создать свой сайт по примерам из интернета.
Что вот тут исправить, чтобы при значении id_users=0, комментариям присваивалась картинка net-avatara.jpg

PHP код:
while ($com=mysqli_fetch_assoc($res)) {
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
if (
mysqli_num_rows($res2)==0
      {
$result4 mysql_query("SELECT avatar,id FROM users WHERE login='$author'",$db); //извлекаем аватар автора
      
$myrow4 mysql_fetch_array($result4);

if (!empty(
$myrow4['avatar'])) {//если такового нет, то выводим стандартный(может этого пользователя уже давно удалили)
$avatar $myrow4['avatar'];
}
else {
$avatar "avatars/net-avatara.jpg";}
}
    else {
$avatar=mysqli_fetch_array($res2); 
}
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], 
$com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar["avatar"]);

04.01.2016 06:03:56
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #18
RE: Создать свой сайт по примерам из интернета.
Замените:
PHP код:
$avatar=mysqli_fetch_array($res2); 
на
PHP код:
$avatar "avatars/net-avatara.jpg"

Ну и не забудьте поправить $avatar["avatar"] на $avatar в коде:
PHP код:
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], 
$com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar["avatar"]); 
04.01.2016 13:57:46
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #19
RE: Создать свой сайт по примерам из интернета.
Кажется я начал что то понимать, в общем получилось, вот как:
PHP код:
echo '<b>Последние комментарии:</b><br>';
while (
$com=mysqli_fetch_assoc($res)) {
$res2=mysqli_query($db,"SELECT avatar FROM users WHERE id=".$com["id_users"]);
if (
mysqli_num_rows($res2)<=0) {$avatar "avatars/net-avatara.jpg";  
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], 
$com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar);
}
else {
$avatar=mysqli_fetch_array($res2);
$tag[(int)$com["parent_id"]][] = array((int)$com["id"], $com["message"], $com["login"], 
$com["date"], $com["plus"], $com["minus"], $com["first_parent"], $com["id_users"], $avatar["avatar"]); 
}
}
 echo 
parents().'</div><br>';


Теперь аватар отображается в зависимости от значения id_users.
04.01.2016 19:40:31
Найти все сообщения Цитировать это сообщение
Sergei1243 Не на форуме
Ефрейтор
*

Сообщений: 13
У нас с: Jan 2016
Сообщение: #20
RE: Создать свой сайт по примерам из интернета.
(03.01.2016 17:04:57)Admin писал(а):  Тут тоже ничего сложного нет. Нужно просто найти переменную, в которой храниться этот самый id от авторизованного пользователя и добавить эту переменную в INSERT при добавлении комментариев.

И в правду оказалось просто:
PHP код:
$mess_url=mysqli_real_escape_string($db,basename($_SERVER['SCRIPT_FILENAME']));
if (!empty(
$_SESSION['id'])) 
$id_users $_SESSION['id'];}
//получаем id текущей темы

if (isset($_POST["contr_cod"])){    //отправлен комментарий
 
$mess_login=htmlspecialchars($_POST["mess_login"]);
 
$user_text=htmlspecialchars($_POST["user_text"]);
 if (
md5($_POST["contr_cod"])==$_POST["prov_summa"]){    //код правильный
  
if ($mess_login!='' and $user_text!=''){
   if (
is_numeric($_POST["parent_id"]) and is_numeric($_POST["f_parent"]))
    
$res=mysqli_query($db,"insert into comment
    (id_users, parent_id, first_parent, date, theme_id, login, message)
    values ('"
.$_POST["parent_id"]."','".$_POST["f_parent"]."','".$id_users."',
    '"
.$time."','".$theme_id."','".$mess_login."','".$user_text."')");
   else 
$res=mysqli_query($db,"insert into comment (id_users, date, theme_id, login, message)
   values ('"
.$id_users."','".$time."','".$theme_id."','".$mess_login."','".$user_text."')");
    
$_SESSION["send"]="Комментарий принят!"
Теперь комментарии с аватарками!Smile Спасибо. Я еще отпишусь позже, постараюсь выложить шаблон получившегося сайта с пояснениями, как и обещал, чтобы другим проще было.
04.01.2016 21:20:21
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru