n1c Posted June 12, 2016 Report Share Posted June 12, 2016 (edited) Добрый день. Решил сделать дополнение, чтобы клиенты могли оставляя отзыв прикрепить фото в живую или другую картинку. Я не программист, многие знают. в БД ALTER TABLE `s_comments` ADD `image` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL в config.php ;Изображения отзываotzuvy_images_dir = files/otzuvy/; добавляем папку otzuvy в files в api/Comments.php (в 2 местах) добавляем:c.image, в этом же файле, добавим ниже: public function delete_image($id) { $id = (array) $id; $query = $this->db->placehold("SELECT image FROM __comments WHERE id in(?@)", $id); $this->db->query($query); $filenames = $this->db->results('image'); if(!empty($filenames)) { $query = $this->db->placehold("UPDATE __comments SET image=NULL WHERE id in(?@)", $id); $this->db->query($query); foreach($filenames as $filename) { $query = $this->db->placehold("SELECT count(*) as count FROM __comments WHERE image=?", $filename); $this->db->query($query); $count = $this->db->result('count'); if($count == 0) { @unlink($this->config->root_dir.$this->config->otzuvy_images_dir.$filename); } } } } в шаблоне pruduct,tpl выводим картинку {if $comment->image}<img src="{$config->otzuvy_images_dir}{$comment->image}" alt="" />{/if} в форму добавления комментария добавляем: <input class='upload_image' name="image" type="file"> Полагаю нужно добавить в ProductView.php что-то типа: после: class ProductView extends View{ добавить: private $allowed_image_extentions = array('png', 'gif', 'jpg', 'jpeg', 'ico', 'bmp'); далее типа: // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->comments->delete_image($comment->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($id, array('image'=>$image['name'])); } В БД записывается, в шаблоне отображается путь и название, но не загружает в папку otzuvy картинки. Что нужно править? Edited June 12, 2016 by n1c Quote Link to post Share on other sites
Kosjak76 Posted June 12, 2016 Report Share Posted June 12, 2016 http://htmlbook.ru/html/form/enctype - проверте Quote Link to post Share on other sites
n1c Posted June 12, 2016 Author Report Share Posted June 12, 2016 (edited) http://htmlbook.ru/html/form/enctype - проверте спасибо)теперь загружает в папку, но при этом не отображаются комментарии т.к multipart/form-data, или наоборот по стандарту отображается комментарий но не выводит фото Edited June 12, 2016 by n1c Quote Link to post Share on other sites
Kosjak76 Posted June 12, 2016 Report Share Posted June 12, 2016 Как это? Вы бред пишете...Покажите кусок шаблона, где комментарии и фото. Quote Link to post Share on other sites
n1c Posted June 12, 2016 Author Report Share Posted June 12, 2016 Как это? Вы бред пишете...Покажите кусок шаблона, где комментарии и фото. <!-- Комментарии --> <div id="comments"> <h2>Комментарии</h2> {if $comments} <!-- Список с комментариями --> <ul class="comment_list"> {foreach $comments as $comment} <a name="comment_{$comment->id}"></a> <li> <!-- Имя и дата комментария--> <div class="comment_header"> {$comment->name|escape} <i>{$comment->date|date}, {$comment->date|time}</i> {if !$comment->approved}ожидает модерации</b>{/if} </div> <!-- Имя и дата комментария (The End)--> {$comment->text|escape|nl2br} <br> {if $comment->image}<img width="200" src="{$config->otzuvy_images_dir}{$comment->image}" alt="" />{/if} </li> {/foreach} </ul> <!-- Список с комментариями (The End)--> {else} <p> Пока нет комментариев </p> {/if} <!--Форма отправления комментария--> <form class="comment_form" enctype="multipart/form-data" method="post"> <h2>Написать комментарий</h2> {if $error} <div class="message_error"> {if $error=='captcha'} Неверно введена капча {elseif $error=='empty_name'} Введите имя {elseif $error=='empty_comment'} Введите комментарий {/if} </div> {/if} <input class='upload_image' name="image" type="file"> <textarea class="comment_textarea" id="comment_text" name="text" data-format=".+" data-notice="Введите комментарий">{$comment_text}</textarea><br /> <div> <label>Имя</label> <input class="input_name" type="text" id="comment_name" name="name" value="{$comment_name}" data-format=".+" data-notice="Введите имя"/> <input class="button" type="submit" name="comment" value="Отправить" /> </div> </form> <!--Форма отправления комментария (The End)--> </div> <!-- Комментарии (The End) --> Quote Link to post Share on other sites
Kosjak76 Posted June 12, 2016 Report Share Posted June 12, 2016 И что у вас не показывается? Quote Link to post Share on other sites
n1c Posted June 13, 2016 Author Report Share Posted June 13, 2016 И что у вас не показывается? все показывается. а корректной работы нет. если в форме multipart/form-data то при написании комментария - не отображается как на сайте так и в админке, но фото в папку загружается, а если убрать multipart/form-data то комментарий появляется а фото в папке нет. Quote Link to post Share on other sites
Kors Posted June 13, 2016 Report Share Posted June 13, 2016 Скорее всего, у Вас ошибка в обработчике.Очень подозрительна строка$this->comments->update_comment($id, array('image'=>$image['name']));Стандартно в том файле НЕТ значения $id как идентификатора нового комментария...А выложить код полностью не догадываетесь, вместо этого у Вас туманное "далее типа" - вот оно и работает соответственно.Возможно, надо вместо $id писать $comment_id ... И еще просматривается ошибка, которая позволит каждому желающему натворить на Вашем сайте неприятностей:1. Зашел хороший посетитель, оставил хороший комментарий с хорошей картинкой. Картинка называется, допустим phone.jpg2. Потом зашел НЕхороший посетитель, увидел картинку, прочел название. У себя создал НЕхорошую картинку с таким же названием. Написал отзыв и загрузил свою картинку.3. Ваша доработка перезапишет на сервере файл phone.jpg. В результате появится НЕхорошая картинка у ДВУХ отзывов.4. Если Вы в админке удалите отзыв НЕхорошего посетителя, то все равно НЕхорошая картинка останется у хорошего отзыва.5. НЕхорошему посетителю это, скорее всего, понравится, он будет время от времени показывать свой прием каким-нибудь своим знакомым девочкам, дабы ловить восторженные взгляды. Или делиться с ними или с кем-то еще своей методикой, благо она крайне проста...6. Что после этого будет думать хороший посетитель о владельце сайта? Quote Link to post Share on other sites
n1c Posted June 13, 2016 Author Report Share Posted June 13, 2016 Скорее всего, у Вас ошибка в обработчике.Очень подозрительна строка$this->comments->update_comment($id, array('image'=>$image['name']));Стандартно в том файле НЕТ значения $id как идентификатора нового комментария...А выложить код полностью не догадываетесь, вместо этого у Вас туманное "далее типа" - вот оно и работает соответственно.Возможно, надо вместо $id писать $comment_id ... И еще просматривается ошибка, которая позволит каждому желающему натворить на Вашем сайте неприятностей:1. Зашел хороший посетитель, оставил хороший комментарий с хорошей картинкой. Картинка называется, допустим phone.jpg2. Потом зашел НЕхороший посетитель, увидел картинку, прочел название. У себя создал НЕхорошую картинку с таким же названием. Написал отзыв и загрузил свою картинку.3. Ваша доработка перезапишет на сервере файл phone.jpg. В результате появится НЕхорошая картинка у ДВУХ отзывов.4. Если Вы в админке удалите отзыв НЕхорошего посетителя, то все равно НЕхорошая картинка останется у хорошего отзыва.5. НЕхорошему посетителю это, скорее всего, понравится, он будет время от времени показывать свой прием каким-нибудь своим знакомым девочкам, дабы ловить восторженные взгляды. Или делиться с ними или с кем-то еще своей методикой, благо она крайне проста...6. Что после этого будет думать хороший посетитель о владельце сайта? Изначально вместо $id я ставил $comment_id но выдавало ошибку, но буду пробовать еще.Про название картинки "photo.jpg" это действительно так, я думал над этим, но хз как заставить переименовываться Quote Link to post Share on other sites
Kors Posted June 13, 2016 Report Share Posted June 13, 2016 Изначально вместо $id я ставил $comment_id но выдавало ошибку, но буду пробовать еще. Про название картинки "photo.jpg" это действительно так, я думал над этим, но хз как заставить переименовыватьсяЯ не программист, многие знают. Вот для того и нужны эти самые программисты... Quote Link to post Share on other sites
n1c Posted June 13, 2016 Author Report Share Posted June 13, 2016 Вот для того и нужны эти самые программисты... от души помог! Quote Link to post Share on other sites
Kors Posted June 13, 2016 Report Share Posted June 13, 2016 от души помог! Если намекаете на то, что Вы ожидали полную подсказку, где и в чем ошибка и как поправить, то для этого с Вашей стороны должны быть ПОЛНЫЕ сведения о том, что и как Вы меняете.Как написано сейчас Полагаю нужно добавить в ProductView.php что-то типа:после: class ProductView extends View{ добавить: private $allowed_image_extentions = array('png', 'gif', 'jpg', 'jpeg', 'ico', 'bmp'); далее типа: // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->comments->delete_image($comment->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($id, array('image'=>$image['name'])); } то, если сделать в точности так, то страница товара работать не будет вообще... Если у Вас работает, то стало быть, делаете одно, а пишете тут совсем другое.Почини мне то, не скажу что... Quote Link to post Share on other sites
n1c Posted June 13, 2016 Author Report Share Posted June 13, 2016 Если намекаете на то, что Вы ожидали полную подсказку, где и в чем ошибка и как поправить, то для этого с Вашей стороны должны быть ПОЛНЫЕ сведения о том, что и как Вы меняете.Как написано сейчас то, если сделать в точности так, то страница товара работать не будет вообще... Если у Вас работает, то стало быть, делаете одно, а пишете тут совсем другое.Почини мне то, не скажу что... не намекаю, а сарказм))я описал точно как делал у себя, ошибки страница товара выдает конечно, но поправлюв ProductView.php я сомневаюсь что правильно вообще подставлено где "// загрузка изображения"возможно в шаблоне нужно JS дописать для формы? Quote Link to post Share on other sites
Kors Posted June 13, 2016 Report Share Posted June 13, 2016 я описал точно как делал у себя, ошибки страница товара выдает конечно, но поправлю Это Вы так думаете, что точно. А на самом деле совсем иначе... в ProductView.php я сомневаюсь что правильно вообще подставлено где "// загрузка изображения" Вот-вот. А я еще сомневаюсь, что в правильном месте это у Вас вставлено. В каком месте код у Вас вставлен - это дополнительный возможный источник ошибок. Выложить свой ProductView.php жаба душит? Коммерческая тайна, большая ценность? Вместо этого Вам нравится вести длинную дискуссию ни о чем? Quote Link to post Share on other sites
n1c Posted June 14, 2016 Author Report Share Posted June 14, 2016 Это Вы так думаете, что точно. А на самом деле совсем иначе... Вот-вот. А я еще сомневаюсь, что в правильном месте это у Вас вставлено. В каком месте код у Вас вставлен - это дополнительный возможный источник ошибок. Выложить свой ProductView.php жаба душит? Коммерческая тайна, большая ценность? Вместо этого Вам нравится вести длинную дискуссию ни о чем? Kors, вам лучше знать что я думаю?Тайны вообще никакой, вот мой ProductView.php require_once('View.php'); class ProductView extends View { private $allowed_image_extentions = array('png', 'gif', 'jpg', 'jpeg', 'ico', 'bmp'); function fetch() { $product_url = $this->request->get('product_url', 'string'); if(empty($product_url)) return false; // Выбираем товар из базы $product = $this->products->get_product((string)$product_url); if(empty($product) || (!$product->visible && empty($_SESSION['admin']))) return false; $product->images = $this->products->get_images(array('product_id'=>$product->id)); $product->image = &$product->images[0]; $variants = array(); //foreach($this->variants->get_variants(array('product_id'=>$product->id, 'in_stock'=>true)) as $v) foreach($this->variants->get_variants(array('product_id'=>$product->id)) as $v) $variants[$v->id] = $v; $product->variants = $variants; // Вариант по умолчанию if(($v_id = $this->request->get('variant', 'integer'))>0 && isset($variants[$v_id])) $product->variant = $variants[$v_id]; else $product->variant = reset($variants); $product->features = $this->features->get_product_options(array('product_id'=>$product->id)); /* // Автозаполнение имени для формы комментария if(!empty($this->user)) $this->design->assign('comment_name', $this->user->name); // Принимаем комментарий if ($this->request->method('post') && $this->request->post('comment')) { $comment->name = $this->request->post('name'); $comment->text = $this->request->post('text'); $captcha_code = $this->request->post('captcha_code', 'string'); // Передадим комментарий обратно в шаблон - при ошибке нужно будет заполнить форму $this->design->assign('comment_text', $comment->text); $this->design->assign('comment_name', $comment->name); */ // Автозаполнение имени для формы комментария if(!empty($this->user)) $this->design->assign('comment_name', $this->user->name); //$this->design->assign('comment_email', $this->user->email); // Принимаем комментарий if ($this->request->method('post') && $this->request->post('comment')) { $comment->image = $this->request->post('image'); $comment->name = $this->request->post('name'); $comment->email = $this->request->post('email'); $comment->text = $this->request->post('text'); // Передадим комментарий обратно в шаблон - при ошибке нужно будет заполнить форму $this->design->assign('comment_text', $comment->text); $this->design->assign('comment_name', $comment->image); $this->design->assign('comment_name', $comment->name); $this->design->assign('comment_email', $comment->email); // Проверяем капчу и заполнение формы if (empty($comment->name)) { $this->design->assign('error', 'empty_name'); } elseif (empty($comment->text)) { $this->design->assign('error', 'empty_comment'); } else { // Создаем комментарий $comment->object_id = $product->id; $comment->type = 'product'; $comment->ip = $_SERVER['REMOTE_ADDR']; // Если были одобренные комментарии от текущего ip, одобряем сразу $this->db->query("SELECT 1 FROM __comments WHERE approved=1 AND ip=? LIMIT 1", $comment->ip); if($this->db->num_rows()>0) $comment->approved = 1; // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->comments->delete_image($comment->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($id, array('image'=>$image['name'])); } // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); // Отправляем email $this->notify->email_comment_admin($comment_id); // Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую unset($_SESSION['captcha_code']); header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id); } } // Комментарии к товару $comments = $this->comments->get_comments(array('type'=>'product', 'object_id'=>$product->id, 'approved'=>1, 'ip'=>$_SERVER['REMOTE_ADDR'])); $this->design->assign('comments', $comments); // Связанные товары $related_ids = array(); $related_products = array(); foreach($this->products->get_related_products($product->id) as $p) { $related_ids[] = $p->related_id; $related_products[$p->related_id] = null; } if(!empty($related_ids)) { foreach($this->products->get_products(array('id'=>$related_ids, 'in_stock'=>1, 'visible'=>1)) as $p) $related_products[$p->id] = $p; $related_products_images = $this->products->get_images(array('product_id'=>array_keys($related_products))); foreach($related_products_images as $related_product_image) if(isset($related_products[$related_product_image->product_id])) $related_products[$related_product_image->product_id]->images[] = $related_product_image; $related_products_variants = $this->variants->get_variants(array('product_id'=>array_keys($related_products), 'instock'=>true)); foreach($related_products_variants as $related_product_variant) { if(isset($related_products[$related_product_variant->product_id])) { $related_products[$related_product_variant->product_id]->variants[] = $related_product_variant; } } foreach($related_products as $id=>$r) { if(is_object($r)) { $r->image = &$r->images[0]; $r->variant = &$r->variants[0]; } else { unset($related_products[$id]); } } $this->design->assign('related_products', $related_products); } // Отзывы о товаре $comments = $this->comments->get_comments(array('type'=>'product', 'object_id'=>$product->id, 'approved'=>1, 'ip'=>$_SERVER['REMOTE_ADDR'])); // Соседние товары $this->design->assign('next_product', $this->products->get_next_product($product->id)); $this->design->assign('prev_product', $this->products->get_prev_product($product->id)); // И передаем его в шаблон $this->design->assign('product', $product); $this->design->assign('comments', $comments); // Категория и бренд товара $product->categories = $this->categories->get_categories(array('product_id'=>$product->id)); $this->design->assign('brand', $this->brands->get_brand(intval($product->brand_id))); $this->design->assign('category', reset($product->categories)); // Добавление в историю просмотров товаров $max_visited_products = 100; // Максимальное число хранимых товаров в истории $expire = time()+60*60*24*30; // Время жизни - 30 дней if(!empty($_COOKIE['browsed_products'])) { $browsed_products = explode(',', $_COOKIE['browsed_products']); // Удалим текущий товар, если он был if(($exists = array_search($product->id, $browsed_products)) !== false) unset($browsed_products[$exists]); } // Добавим текущий товар $browsed_products[] = $product->id; $cookie_val = implode(',', array_slice($browsed_products, -$max_visited_products, $max_visited_products)); setcookie("browsed_products", $cookie_val, $expire, "/"); $this->design->assign('meta_title', $product->meta_title); $this->design->assign('meta_keywords', $product->meta_keywords); $this->design->assign('meta_description', $product->meta_description); return $this->design->fetch('product.tpl'); } } Quote Link to post Share on other sites
mishanya Posted June 14, 2016 Report Share Posted June 14, 2016 (edited) проблема в том что вы загружаете изображение к комментарию до того как добавили сам комментарий. то есть логично подумать что айди комментария нету до того как его создали.нужно вам поменять этот кусок. // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->comments->delete_image($comment->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($id, array('image'=>$image['name'])); } // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); ф-я удаления изображения тут вообще бессмысленна т.к. комментарий всегда новый и у него не может быть до этого изображения. // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($comment_id, array('image'=>$image['name'])); } Edited June 14, 2016 by mishanya Quote Link to post Share on other sites
Kosjak76 Posted June 14, 2016 Report Share Posted June 14, 2016 // Загрузка изображенияДолжна быть ПОСЛЕ // Добавляем комментарий в базуИначе вы пытаетесь обновить несуществующий комментИ после $comment_id = $this->comments->add_comment($comment);Вам будет доступен $comment_id Quote Link to post Share on other sites
Kors Posted June 14, 2016 Report Share Posted June 14, 2016 Тайны вообще никакой, вот мой ProductView.phpВсе оказалось примерно так же, как я предполагал. У Вас как минимум две значимые ошибки. Про них говорилось уже, Вы не среагировали никак...Скорее всего, у Вас ошибка в обработчике. Очень подозрительна строка $this->comments->update_comment($id, array('image'=>$image['name'])); Стандартно в том файле НЕТ значения $id как идентификатора нового комментария...А я еще сомневаюсь, что в правильном месте это у Вас вставлено. Quote Link to post Share on other sites
n1c Posted June 14, 2016 Author Report Share Posted June 14, 2016 проблема в том что вы загружаете изображение к комментарию до того как добавили сам комментарий. то есть логично подумать что айди комментария нету до того как его создали.нужно вам поменять этот кусок. // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { $this->comments->delete_image($comment->id); move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($id, array('image'=>$image['name'])); } // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); ф-я удаления изображения тут вообще бессмысленна т.к. комментарий всегда новый и у него не может быть до этого изображения. // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($comment_id, array('image'=>$image['name'])); } Все оказалось примерно так же, как я предполагал. У Вас как минимум две значимые ошибки.Про них говорилось уже, Вы не среагировали никак... // Загрузка изображенияДолжна быть ПОСЛЕ // Добавляем комментарий в базуИначе вы пытаетесь обновить несуществующий комментИ после $comment_id = $this->comments->add_comment($comment);Вам будет доступен $comment_id Спасибо пацаны.Но все равно какае-то фигня, не работает корректно. Выдает ошибку Warning: Column 'image' cannot be null [iNSERT INTO s_comments SET image=NULL, name='John Doe', email=NULL, text='комментарий', object_id='55', type='product', ip='127.0.0.1', approved='1', date = NOW()] in Z:\home\site\api\Database.php on line 105 Quote Link to post Share on other sites
mishanya Posted June 14, 2016 Report Share Posted June 14, 2016 (edited) Спасибо пацаны.Но все равно какае-то фигня, не работает корректно. Выдает ошибку Warning: Column 'image' cannot be null [iNSERT INTO s_comments SET image=NULL, name='John Doe', email=NULL, text='комментарий', object_id='55', type='product', ip='127.0.0.1', approved='1', date = NOW()] in Z:\home\site\api\Database.php on line 105 вам пишет, поле image не может быть пустым. еще раз обратимся к логике, нужно сделать в базе его NULL по умолчанию, т.к. вы загружаете изображение после добавления самого коммента. Edited June 14, 2016 by mishanya Quote Link to post Share on other sites
n1c Posted June 14, 2016 Author Report Share Posted June 14, 2016 вам пишет, поле image не может быть пустым. еще раз обратимся к логике, нужно сделать в базе его NULL по умолчанию, т.к. вы загружаете изображение после добавления самого коммента. спасибо mishanya! заработало!) Quote Link to post Share on other sites
villain1988 Posted June 26, 2016 Report Share Posted June 26, 2016 (edited) Доброго времени суток!Народ прошу помощи. Один и тот же сайт расположен на разных хостингах.На одном хостинге фото добавляются - проблем нет. А вот на другом после загрузки изображения вываливается ошибка: Warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 in /var/www/api/Database.php on line 115 Warning: Cannot modify header information - headers already sent by (output started at /var/www/api/Database.php:115) in /var/www/view/ProductView.php on line 97 Warning: Cannot modify header information - headers already sent by (output started at /var/www/api/Database.php:115) in /var/www/view/ProductView.php on line 169 Warning: Cannot modify header information - headers already sent by (output started at /var/www/api/Database.php:115) in /var/www/index.php on line 17 api/Database.php on line 115 trigger_error($this->mysqli->error, E_USER_WARNING); view/ProductView.php on line 97 header('location: '.$_SERVER['REQUEST_URI'].'#comment_'.$comment_id); view/ProductView.php on line 169 setcookie("browsed_products", $cookie_val, $expire, "/"); /index.php on line 17 header("Content-type: text/html; charset=UTF-8"); Но при этом фото загружается и отображается.Не подскажите в чем может быть проблема? Edited June 26, 2016 by villain1988 Quote Link to post Share on other sites
Kors Posted June 26, 2016 Report Share Posted June 26, 2016 Ошибка в тексте запроса, скорее всего, синтаксическая. Отслеживать текст запроса, место запроса, находить ошибку и исправлять... А может быть и еще масса причин, связанных с разными настройками на хостингах... Quote Link to post Share on other sites
mishanya Posted June 27, 2016 Report Share Posted June 27, 2016 Доброго времени суток!Народ прошу помощи. а копия сайта точна? может вы забыли перенести поле картинки на вторую копию, или в базу забыли добавить. проблема может быть где угодно, в том числе неправильно настроенный хостинг. картинки в папку пишутся? права на папку? Quote Link to post Share on other sites
villain1988 Posted June 27, 2016 Report Share Posted June 27, 2016 а копия сайта точна? может вы забыли перенести поле картинки на вторую копию, или в базу забыли добавить. проблема может быть где угодно, в том числе неправильно настроенный хостинг. картинки в папку пишутся? права на папку? Как выяснилось различался этот код: // Добавляем комментарий в базу $comment_id = $this->comments->add_comment($comment); // Загрузка изображения $image = $this->request->files('image'); if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions)) { move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->otzuvy_images_dir.$image['name']); $this->comments->update_comment($comment_id, array('image'=>$image['name'])); } Поправил - заработало без ошибок.Спасибо! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.