PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 12
morcano Отправлено: 21 Октября, 2015 - 10:00:23 • Тема: CI - validation_errors() не выдает ошибок • Форум: CMS и фреймворки

Ответов: 8
Просмотров: 1985
Проблема решилась после рестарта веб сервера.
morcano Отправлено: 21 Октября, 2015 - 09:21:58 • Тема: CI - validation_errors() не выдает ошибок • Форум: CMS и фреймворки

Ответов: 8
Просмотров: 1985
DeepVarvar пишет:
morcano пишет:
echo validation_errors(); не выводит ничего абсолютно
Потому что у тебя уровень ошибок такой, что ты даже александрийскую колонну в глазу не заметишь.
Выставляй на максимум.

З.Ы.: В каждой непонятной ситуации используй var_dump



И? var_dump при выполнении правила возвращает true в обратном случае - false. Просто визуально текста ошибки нет.

Я был бы благодарен за конструктивную критику, где конкретно у меня ошибки?
morcano Отправлено: 20 Октября, 2015 - 17:20:24 • Тема: CI - validation_errors() не выдает ошибок • Форум: CMS и фреймворки

Ответов: 8
Просмотров: 1985
CI - я выбрал для знакомства с MVC. В интернете достаточно много справочной информации и не такой сложный для новичка как те же laravel и yii (имхо) ориентируюсь на этот фреймфорк не более чем проходной. Убедительная просьба не оффтопить.
morcano Отправлено: 20 Октября, 2015 - 15:14:38 • Тема: CI - validation_errors() не выдает ошибок • Форум: CMS и фреймворки

Ответов: 8
Просмотров: 1985
Добрый день.
Изучаю Codeigniter, делаю валидацию форм стандартной библиотекой form_validation, проблема в том, что конструкция: echo validation_errors(); не выводит ничего абсолютно, хотя правила выполняются.

Более конкретно в примере:

Форма на примере одного поля (regform_view.php):
CODE (PHP):
скопировать код в буфер обмена
  1. <?php echo form_open(base_url()."my/registration"); ?>
  2. <?php echo validation_errors(); ?> 
  3.  <input name="login" id="login" class="textbox" placeholder="Логин:" type="text" value="<?php echo set_value('login'); ?>" maxlength="30"/>
  4. <input type="submit" class="button" id="submit" value="Submit">
  5. </form>


кусок отвечающий за регистрацию в контроллере My.php:

CODE (PHP):
скопировать код в буфер обмена
  1. function registration()
  2.         {
  3.             //вывод страницы (библиотека template генерит шаблон страницы)
  4.             $data['pages']= $this->pages_model->get_pages_from_top();
  5.             $name = 'my_cabinet/registration';
  6.             $this->template->page_view($data, $name);   
  7.             
  8.             //непосредственно валидация формы регистрации
  9.             $this->load->library('form_validation');
  10.            //обязательное уникальное поле
  11.             $this->form_validation->set_rules('login', 'Логин', 'required|is_unique[user.login]');
  12.             if ($this->form_validation->run() == FALSE)
  13.                   {
  14.                                              //валидация не прошла - выводим страницу с формой обратно + ошибки
  15.                                  $this->template->page_view($data, $name); 
  16.                   }
  17.                       else
  18.                           {
  19.                                 //...выводим вьюху с сообщением об удачной регистрации, например..
  20.                           }   
  21.         }


Правила required и is_unique выполняются - если ничего не введу или введу существующее в базе значение я останусь на странице с формой, но при этом никаких сообщений об ошибках ...
morcano Отправлено: 27 Июля, 2015 - 15:16:37 • Тема: вывод данных (массив из бд) • Форум: Вопросы новичков

Ответов: 2
Просмотров: 132
При выборке всех записей из бд получаю такой массив:
Цитата:
Array
(
[0] => Array
(
[id] => 1
[val1] => val1 первой записи
[val2] => val2 второй записи
)

[1] => Array
(
[id] => 2
[val1] => val1 второй записи
[val2] => val2 второй записи
)

)


Как вывести все значения из этого массива в виде:
id =1
val1 = val1 первой записи
val2 = val2 первой записи
id = 2
val1 = val1 второй записи
... и т.д.

Пробовал во так:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($results as $key => $value)
  3. {
  4. echo $key."=".$value."<br />"; 
  5. }
  6.  

Не работает
morcano Отправлено: 08 Июня, 2015 - 21:18:35 • Тема: связь категорий с атрибутами • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 64
Panoptik пишет:
на больших объемах данных альтер тейбл повесит систему на долго

как вариант EAV который очень сильно не любят


Наковырял такое:


Но возникает сразу несколько вопросов и мыслей по управлению всем этим. Был бы очень признателен, если бы направили в нужное русло.

1) Добавление атрибутов.
Здесь в принципе все понятно. Есть форма с двумя полями где забиваю название атрибута и единицу измерения и пишу в table_attr.

2) Добавление категории (и присваивание атрибутов - ?)
Форма с одним полем для названия категории/подкатегории и селектбоксом с списком основных категорий. Для возможности создания дерева типа
Персональные ПК (parrent_id=0)
Жесткие диски (parrent_id = id родительской категории)
Память (---//---)
и т.д.

3) Добавление товара.
Тут некоторое непонимание механики процесса. Предположение, что присутствует еще заморочка с связью между таблицами..
Есть например форма добавления товаров, делаем селектбокс с списком категорий (куда добавить), текстбокс для названия товара, всякие фишки типа описания фото... и далее ступор. Тут же получается заведомо неизвестное количество атрибутов.. Если бы это был один атрибут было бы два поля рядом - селектбокс с перечнем из таблицы table_attr и текстовое поле для значения в таблицу table_attr_value. А если нужно добавить не один, а 2, 5, 10..?
Была идея генерировать новое поле по нажатию на кнопочку add_attr с помощью js (аля <input name="var[]">)

Логичны мои действия? Или стоит добавлять атрибуты на шаге создания категорий? В таком случае как изменится моя структура БД?
morcano Отправлено: 05 Июня, 2015 - 09:01:45 • Тема: связь категорий с атрибутами • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 64
Доброго времени суток, покурил поисковики, но конкретной информации так и не нашел.
Неясным остается вопрос каким образом можно назначить разным категориям (отдельным таблицам) разные атрибуты и вывод этого всего на страницу соответственно..
Все нижеизложеное подразумевает наличие самописного веб интерфейса (аля админка)..
Есть например у нас таблица в которую мы вносим уникальные атрибуты типа (длина, вес, цвет, объем памяти, форм-фактор, интерфейс...)
Создаем категорию (отдельные таблицы)
- "цемент"
- "жесткие диски"
с общими вещами типа id, name_cat
Я хочу присвоить категории "ЖД" атрибут форм-фактор. На ум приходит только добавление (ALTER TABLE) к существующей таблице поля form_factor с указанием типа.
Вопрос №1: Насколько это логично \ нелогично?
Вопрос №2: Если первый пункт имеет право на существование, как потом организовать вывод формы редактирования категории с появившимся полем form_factor?
morcano Отправлено: 11 Мая, 2015 - 17:09:53 • Тема: вызов функции из другой функции • Форум: Вопросы новичков

Ответов: 3
Просмотров: 203
Файл functions.php подключается инклудом в рабочую страницу и в нужном месте просто вызываю add(); , но результата никакого...
morcano Отправлено: 11 Мая, 2015 - 16:36:58 • Тема: вызов функции из другой функции • Форум: Вопросы новичков

Ответов: 3
Просмотров: 203
Видимо довольно глупый вопрос, но не могу понять.
Есть файл functions.php в котором описание нескольких функций

Первая - транслитератор введенной в поле формы кирилицы в латиницу (сама функция отдельно работает, проверял)
Вторая - функция добавления записи в базу.
Выглядит примерно вот так:

PHP:
скопировать код в буфер обмена
  1. function translit($s)
  2. {
  3. .......регулярки и все такое...
  4. return $s;
  5. }
  6.  
  7.  
  8. function add()
  9. {
  10. .....
  11. $sometext = $mysqli->real_escape_string($_POST['text']);
  12. $translit_text=translit($sometext);
  13. //просто проверяю:
  14. echo $translit_text;
  15. }


В таком варианте не работает. Подскажите пожалуйста, что не так?
morcano Отправлено: 25 Декабря, 2014 - 17:03:52 • Тема: загрзка изображения • Форум: HTTP и PHP

Ответов: 1
Просмотров: 762
Работает все нормально, но грузит только *png и *gif, при загрузке в формате *jpg возвращает сообщение: Картинка должна быть формата JPG, GIF или PNG
Просьба подсказать где ошибка.
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['upload'])) {
  2. if(empty($_FILES['file']['size']))  die('Вы не выбрали файл');
  3. if($_FILES['file']['size'] > (5 * 1024 * 1024)) die('Размер файла не должен превышать 5Мб');
  4. $imageinfo = getimagesize($_FILES['file']['tmp_name']);
  5. $arr = array('image/jpeg','image/gif','image/png');
  6. if(!array_search($imageinfo['mime'],$arr)) echo ('Картинка должна быть формата JPG, GIF или PNG');
  7.  else {
  8. $upload_dir = '../upload_photo/';
  9. $name = $upload_dir.date('YmdHis').basename($_FILES['file']['name']);
  10. $mov = move_uploaded_file($_FILES['file']['tmp_name'],$name);
  11.   if($mov) {
  12.  
  13. require ('db_connect.php');
  14.  
  15. $name = htmlentities(stripslashes(strip_tags(trim($name))),ENT_QUOTES,'UTF-8');
  16. $res=mysql_query("INSERT INTO `news`(`photo_name`) VALUES('$name')")or die(mysql_error());
  17. header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".basename($_SERVER['PHP_SELF'])."?id=".mysql_insert_id());
  18. if($res) echo "Файл упешно загружен";
  19.   }
  20.   else echo 'Произошла ошибка при загрузке фотографии. Пожалуйста, попробуйте снова';
  21.  }
  22. }
morcano Отправлено: 11 Декабря, 2014 - 15:14:30 • Тема: удаление записи из таблицы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 56
С возвращением на форум и большое спасибо за конструктивный совет.
number это и есть первичный ключ каждой записи:

morcano Отправлено: 11 Декабря, 2014 - 14:31:21 • Тема: удаление записи из таблицы • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 56
Здравствуйте, в двух словах о том, что есть.

1) Форма, котороя записывает данные в таблицу. Все корректно работает.
2) Цикл, который выводит мне все записи из таблицы по порядку.

Вывод выглядит вот так:

Сам код вывода всех записей из БД выглядит так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $result = mysql_query("SELECT * FROM fundraising ORDER BY number DESC") or die(mysql_error());
  4. $count = mysql_num_rows($result);
  5. if($count){
  6. while($res = mysql_fetch_assoc($result))
  7. {
  8. echo '<div class="line2"></div>';
  9. echo '<h3>'.$res['meta'].'</h3>';
  10. echo '<p>'.$res['description'].'</p>';
  11. echo '<center><h3>СОБРАНО - '.$res['current_cost'].' USD &nbsp&nbsp&nbsp НУЖНО - '.$res['need_cost'].' USD</h3></center>';
  12. echo'<center><form method="POST"><input type="submit" class="btn" value="УДАЛИТЬ ЗАПИСЬ" /></form></center>';
  13. }}
  14. ?>
  15.  

Каждая запись выводится с кнопкой "Удалить запись". Суть проблемы, что не получается удалить желаемую запись. Я понимаю, что запрос будет примерно такой:

CODE (SQL):
скопировать код в буфер обмена
  1. $sql = 'DELETE FROM `fundraising` WHERE `number` = '.$res['number'].'';
  2. $res = mysql_query($sql);


Но не получается объеденить с уже существующим куском выше.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB