PHP.SU

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

Страниц (16): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 229
Зверь Отправлено: 10 Марта, 2012 - 17:23:45 • Тема: Выведение всех ячеек массива без использования цикла • Форум: Вопросы новичков

Ответов: 21
Просмотров: 610
Если так хочется упихнуть все в 1 аргумент, передай массив, а внутри функции list() или implode()
Зверь Отправлено: 10 Марта, 2012 - 17:13:43 • Тема: Функция подключения всех файлов в каталоге • Форум: Вопросы новичков

Ответов: 9
Просмотров: 293
Зверь Отправлено: 09 Марта, 2012 - 04:51:17 • Тема: Впал в ступор, ядро ЦМС • Форум: Объектно-ориентированное программирование

Ответов: 74
Просмотров: 10719
Зачем в запросах limit 1?
Зверь Отправлено: 06 Марта, 2012 - 17:18:08 • Тема: Есть ли ошибка? • Форум: Вопросы новичков

Ответов: 9
Просмотров: 240
error_reporting(E_ALL);
Зверь Отправлено: 06 Марта, 2012 - 17:09:41 • Тема: Есть ли ошибка? • Форум: Вопросы новичков

Ответов: 9
Просмотров: 240
Может для начала стоит показать текст ошибки?
Зверь Отправлено: 05 Марта, 2012 - 11:51:18 • Тема: Наследовательность • Форум: Объектно-ориентированное программирование

Ответов: 16
Просмотров: 3781
Для чего реализовывать класс как singleton, чтобы потом его наследовать?
Зверь Отправлено: 05 Марта, 2012 - 08:54:12 • Тема: Помогите написать генератор запросов • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 40
PHP:
скопировать код в буфер обмена
  1. function createQuery($status = '', $age_from = '', $age_to = '', $cat_id = '', $type = '', $page = ''){
  2.         $params = '';
  3.         if (!empty($status))
  4.         $params .= '`status` = '.$status;
  5.         if (!empty($age_from))
  6.         $params .= '`age from` <= '.$age_from;
  7.         if (!empty($age_to))
  8.         $params .= '`age to` <= '.$age_to;
  9.         if (!empty($cat_id))
  10.         $params .= '`cat_id` = '.$cat_id;
  11.         if (!empty($status))
  12.         $params .= '`status` = '.$type;    
  13.         if (!empty($pages))
  14.         $params .= '`page` = '.$pages;
  15.        
  16.        
  17.         if($params)
  18.            $query = 'SELECT * FROM `lots` WHERE '.$params;
  19.         else
  20.            $query = 'SELECT * FROM `lots`';
  21.        
  22.         var_dump($params);
  23.         var_dump($query);
  24. }

А что если попробовать так?
Зверь Отправлено: 04 Марта, 2012 - 13:23:51 • Тема: Вывести % • Форум: Вопросы новичков

Ответов: 3
Просмотров: 158
(число, взятое за 100%) / (100) * (число, процент которого хотим узнать)
Зверь Отправлено: 04 Марта, 2012 - 11:54:20 • Тема: Что дальше? • Форум: Вопросы новичков

Ответов: 43
Просмотров: 1231
Конкретнее можно?
Зверь Отправлено: 04 Марта, 2012 - 06:29:01 • Тема: Что дальше? • Форум: Вопросы новичков

Ответов: 43
Просмотров: 1231
как-то приблизительно так
писал на коленке, так что за ошибки E_ALL ответственности не несу))
PHP:
скопировать код в буфер обмена
  1. <?
  2. class Users {
  3.         private $login;
  4.         private $password;
  5.         private $repeat;
  6.         private $email;
  7.         private $error = false;
  8.         private $errorm;
  9.         private $db;
  10.  
  11.         public function __construct(){
  12.           $this->db = MySQL::getInstance();
  13.          }  
  14.        
  15.         function singup() {
  16.                 $this->db->connect();
  17.                 $this->login = trim(mysql_real_escape_string($_POST['login']));
  18.                 $this->password = $_POST['password'];
  19.                 $this->repeat = $_POST['repeat'];
  20.                 $this->email = $_POST['email'];
  21.                
  22.                 if ($_POST['singup']) {
  23.                         if(empty($this->login)) {
  24.                                 $this->error = true;
  25.                                 $this->errorm .= '<pre>Незаполнено поле логин</pre>';
  26.                         }
  27.                         if(empty($this->password)) {
  28.                                 $this->error = true;
  29.                                 $this->errorm .= '<pre>Незаполнено поле пароль</pre>';
  30.                         }
  31.                         elseif($this->password != $this->repeat) {
  32.                                 $this->error = true;
  33.                                 $this->errorm .= '<pre>Введенные пароли не совпадают</pre>';
  34.                         }
  35.                         if(empty($this->email)) {
  36.                                 $this->error = true;
  37.                                 $this->errorm .= '<pre>Незаполнено поле емейл</pre>';
  38.                         }
  39.                         if(!preg_match('/[a-z,A-Z, 0-9]/',$this->login) OR strlen($this->login) < 2 OR strlen($this->login) > 16) {
  40.                                 $this->error = true;
  41.                                 $this->errorm .= '<pre>Логин может быть от 4 до 16 символов и содержать англ. буквы и символы</pre>';                  
  42.                         }
  43.                         if(!preg_match('/[a-z,A-Z, 0-9]/',$this->password) OR strlen($this->password) < 2 OR strlen($this->password) > 16) {
  44.                                 $this->error = true;
  45.                                 $this->errorm .= '<pre>Пароль может быть от 4 до 16 символов и содержать англ. буквы и символы</pre>';                
  46.                         }
  47.                         elseif (!filter_var($this->email, FILTER_VALIDATE_EMAIL)) {
  48.                                 $this->error = true;
  49.                                 $this->errorm .= '<pre>Введен не корректный емейл</pre>';                      
  50.                         }
  51.                         $this->db->query("SELECT `login` FROM `users` WHERE `login` = $this->login LIMIT 1");
  52.                         if ($this->db->num_rows() > 0) {
  53.                                 $this->error = true;
  54.                                 $this->errorm .= 'Пользователь с логином <b>'.$this->login.'</b> уже сущевсвтует';                            
  55.                         }
  56.                         if ($this->error == false) {
  57.                                 $this->password = md5($this->password);
  58.                                 $this->db->query("INSERT INTO `users` (`login`,`password`,`email`,`group`) VALUES('$this->login','$this->password','$this->email','user')");
  59.                                 $this->db->close();
  60.                         }
  61.                         else echo $errorm;
  62.                 }
  63.                 require_once('html/singup.html');
  64.         }
  65. }
  66. ?>


PHP:
скопировать код в буфер обмена
  1. <?
  2. class MySQL extends Config {
  3.         private $link;
  4.         private $query;
  5.         private $instance;
  6.        private function __construct(){}
  7.        private functiont __clone(){}
  8.        public static function getInstance(){
  9.             if($this->instance == null)
  10.                $this->instance = new self;
  11.             return $this->instance;
  12.         }
  13.         function connect() {
  14.                 $db = $this->load('MySQL');
  15.                 $this->link = mysql_connect($db['host'], $db['user'], $db['pass']);
  16.                 mysql_select_db($db['db']);
  17.         }
  18.         function query($sql) {
  19.                 if (!$this->link) return false;
  20.                 $this->query = @mysql_query($sql);
  21.         }
  22.         function fetch_assoc() {
  23.                 if (!$this->query) return false;
  24.                 return mysql_fetch_assoc($this->query);
  25.         }
  26.         function error() {
  27.                 echo mysql_error();
  28.         }
  29.         function close() {
  30.                 if (!$this->link) return false;
  31.                 mysql_close($this->link);
  32.         }
  33. }
  34. ?>
Зверь Отправлено: 03 Марта, 2012 - 03:13:33 • Тема: Что дальше? • Форум: Вопросы новичков

Ответов: 43
Просмотров: 1231
Думаю правильнее было бы не наследовать класс mysql юзером, а реализовать mysql как синглтон
Зверь Отправлено: 02 Марта, 2012 - 11:52:22 • Тема: Что тут не может работать?? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 186
Если предыдущий вариант не принципиален, то код можно сократить до
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file_name = "counter.txt";
  3. if ( !file_exists($file_name ) ) {
  4. file_put_contents($file_name, 1);
  5. }
  6. (int)$counter = file_get_contents($file_name);
  7. $counter++;
  8. file_put_contents($file_name, $counter);
  9. ?>
  10.  
Зверь Отправлено: 02 Марта, 2012 - 11:05:31 • Тема: PHP 5.4 Released! • Форум: Новости веб-технологий

Ответов: 14
Просмотров: 186
Вроде как полной поддержки юникода и не будет.
http://habrahabr[dot]ru/blogs/php/138269/
Зверь Отправлено: 25 Февраля, 2012 - 13:34:03 • Тема: Сессии • Форум: HTTP и PHP

Ответов: 13
Просмотров: 2500
Doox911 пишет:
illy пишет:
убери перевод строки перед <?PHP
А на что это влияет?

HTTP заголовки должны отправляться до любого вывода в браузер.
Если нужно конкретнее, то мануал по php в руки
Зверь Отправлено: 25 Февраля, 2012 - 12:55:17 • Тема: Сессии • Форум: HTTP и PHP

Ответов: 13
Просмотров: 2500
Еще это возможно из-за того, что файл сохранен в UTF-8 с BOM

Страниц (16): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB