PHP.SU

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

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

> Найдено сообщений: 340
maragon Отправлено: 03 Мая, 2021 - 22:21:50 • Тема: sitemap.xml не доступен • Форум: Вопросы новичков

Ответов: 0
Просмотров: 214
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. AddDefaultCharset UTF-8
  3. ErrorDocument 403 /404
  4. ErrorDocument 404 /404
  5.  
  6. RewriteEngine on
  7. RewriteBase /
  8.  
  9. RewriteRule ^admin($|/) - [L]
  10. RewriteRule ^/admin($|/) - [L]
  11.  
  12. RewriteRule ^faq/?$                                             index.php?module=faqs [L,QSA]
  13. RewriteRule ^faq/([^/]*)/?$                             index.php?module=faq&id=$1 [L,QSA]
  14. RewriteRule ^videos/?$                                  index.php?module=videos [L,QSA]
  15. RewriteRule ^video/([^/]*)/?$                   index.php?module=video&id=$1&url=videos [L,QSA]
  16. RewriteRule ^reviews/?$                                 index.php?module=reviews [L,QSA]
  17.  
  18. RewriteRule ^register/?$                                index.php?module=go&action=register [L,QSA]
  19. RewriteRule ^login/?$                                   index.php?module=go&action=login [L,QSA]
  20.  
  21. RewriteRule ^cron/([^/]*)/?$                    index.php?cron=$1 [L,QSA]
  22. RewriteRule ^cron/([^/]*)/([^/]*)/?$    index.php?cron=$1&action=$2 [L,QSA]
  23.  
  24. RewriteRule ^upload/?$                                  upload.php [L,QSA]
  25. RewriteRule ^sitemap.xml?$                              sitemap.php  [L,QSA]
  26.  
  27.  
  28. RewriteCond %{REQUEST_FILENAME} !-f
  29. RewriteCond %{REQUEST_FILENAME} !-d
  30. RewriteRule ^([^/]*)/([^/]*)/?$                 index.php?module=page&category_url=$1&url=$2 [L,QSA]
  31. RewriteRule ^/?$                                                index.php?module=page&url= [L,QSA]
  32. RewriteRule ^([^/]*)/?$                                 index.php?module=category&url=$1 [L,QSA]
  33.  
  34. RewriteCond %{REQUEST_FILENAME} !-f
  35. RewriteCond %{REQUEST_FILENAME} !-d
  36. RewriteRule ^static/([^/]*)                     resize.php?filename=$1
  37.  


Не доступен из браузера мой sitemap.xml
Если удалить строку "RewriteRule ^([^/]*)/([^/]*)/?$ index.php?module=page&category_url=$1&url=$2 [L,QSA]" - то xml файл открывает из браузера.
Может кто поможет?
maragon Отправлено: 30 Октября, 2019 - 18:10:06 • Тема: Как вытащить data атрибут у option:selected? • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 383
Использую: Kube7 от imperavi (http://kube7[dot]imperavi[dot]com/index[dot][dot][dot][dot]ted&name=dom )

Все никак понять не могу, как вытащить data-атрибут у option:selected?

CODE (html):
скопировать код в буфер обмена
  1. <select id="test">
  2.   <option value=1 data-abc=1>1</option>
  3.   <option value=2 data-abc=2>2</option>
  4.   <option value=3 data-abc=3>1</option>
  5. </select>


CODE (javascript):
скопировать код в буфер обмена
  1. var node = $K.dom('#test');
  2. node.on('change', function(){
  3.   console.log($K.dom(this).val()) //- работает, значение ВИЖУ
  4.   //console.log($K.dom(this).filter(':selected').data('abc')) - не работает
  5.   //console.log($K.dom(this).is(':selected').data('abc)) - тоже не работает
  6. });


У меня ступор. Может кто разрулит?
maragon Отправлено: 22 Февраля, 2016 - 10:02:54 • Тема: MVC PHP • Форум: Вопросы новичков

Ответов: 3
Просмотров: 222
1. Про контроллер разжували - спасибо!
2. Про Loader.php понял.

Цитата:

лучше spl autoload
еще лучше psr и composer autolod

- Почитаю, попробую.

А в чем собсно каша? Однако
На ошибках так скачать и учатся, мало адекватных и разжеванных примеров в сети, оперировался, вроде бы, на статью об MVC от пользователя EuGen.
maragon Отправлено: 22 Февраля, 2016 - 09:42:33 • Тема: MVC PHP • Форум: Вопросы новичков

Ответов: 3
Просмотров: 222
Приветствую. Много гуглил, читал, смотрел о паттерне.
Решил реализовать и попробовать.

Единая точка входа, далее:
Index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. define('ROOT', dirname(__FILE__));
  3. require_once(ROOT . '/classes/Loader.php');
  4. $router = new Router();
  5. if(($display = $router->run()) !== false){
  6. print $display;
  7. } else {
  8. header("HTTP/1.0 404 Not Found");
  9. }
  10.  


Loader.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. set_include_path(ROOT . '/classes' . PATH_SEPARATOR .
  4.                                 ROOT . '/modules' . PATH_SEPARATOR .  
  5.                                 get_include_path());
  6. function __autoload($class_name)
  7. {
  8.     $file_name = str_replace('_', '/', $class_name) . '.php';
  9.     $result = include_once($file_name);
  10.     return $result;
  11. }
  12. ?>
  13.  


Controller.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4. *       Класс для работы с контроллерами
  5. */
  6. class Controller {
  7.  
  8.         /**
  9.         *       Получаем контроллер вызываемого модуля
  10.         */
  11.         public function get($module, $action){
  12.         $controller_class = ucfirst($module) . '_Controller';
  13.         $file_controller = ROOT . '/modules/'. $module .'/Controller.php';
  14.          
  15.         if(!file_exists($file_controller)){
  16.         //die ('Файл контроллера ' . $controller . ' не найден');
  17.         return false;
  18.         }
  19.        
  20.         include_once($file_controller);
  21.        
  22.         if(class_exists($controller_class)){
  23.         $controller = new $controller_class();
  24.         }
  25.        
  26.         if (is_callable(array($controller_class, $action)) == false) {
  27.     //die ('Метод ' . $action . ' не найден в контроллере ' . $controller_class);
  28.         return false;
  29.         }
  30.        
  31.         return $controller->$action();
  32.         }
  33.        
  34. }
  35.  


Model.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4. *       Класс для работы с моделями
  5. */
  6. class Model {
  7.  
  8.         protected $db;
  9.          
  10.         public function __construct(){
  11.         $this->db = new Database();
  12.         }
  13.        
  14.         /**
  15.         *       Получаем модель вызываемого модуля
  16.         */
  17.         public function get($module){
  18.         $model_class = $module;
  19.         $file_model = ROOT . '/modules/'. $module .'/Model.php';
  20.        
  21.         if(!file_exists($file_model)){
  22.         //die ('Файл модели ' . $module . ' не найден');
  23.         return false;
  24.         }
  25.        
  26.         include_once($file_model);
  27.        
  28.         if(class_exists($model_class)){
  29.         $model = new $model_class();
  30.         }
  31.        
  32.         return $model;
  33.         }
  34.        
  35. }
  36.  


Router.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4.         Класс роутера
  5. */
  6. class Router {
  7.        
  8.         protected $request;
  9.         protected $controller;
  10.         protected $model;
  11.        
  12.         public function __construct(){
  13.                 $this->request = new Request();
  14.                 $this->controller = new Controller();
  15.                 $this->model = new Model();
  16.         }
  17.        
  18.         public function run(){
  19.                 $module = $this->request->get('module');
  20.                 $module = preg_replace('/[^A-Za-z0-9]+/', '', $module);
  21.                 $module = strtolower($module);
  22.                
  23.                 $action = $this->request->get('action');
  24.                 $action = preg_replace('/[^A-Za-z0-9]+/', '', $action);
  25.                
  26.                 if(empty($module)){
  27.                 $module = 'main';
  28.                 }
  29.                
  30.                 if(empty($action)){
  31.                 $action = 'Index';
  32.                 }
  33.                
  34.                 return $this->controller->get($module, $action);
  35.         }
  36.        
  37. }
  38.  


Класс шаблонизатора и дб прикладывать не буду, посколько смысл вопроса к ним не относится.
1. На данном этапе проектирование может я чего-то упустил?
2. Мне не нравится как реализован контроллер вызываемого модуля. Возможно-ли переделать?

Действия:
1. Пришел пользователь на страницу - роутер смотрит урл и подключает нужный контроллер и модель
2. Сам контроллер (если допустим мы на главной):
PHP:
скопировать код в буфер обмена
  1.  
  2. class Main_Controller extends Controller {
  3.        
  4.         protected $main;
  5.         function __construct(){
  6.         $this->main = new Main_Model();
  7.         }
  8.        
  9.         public function Index(){
  10.         print_r($this->main->get_array());
  11.         return 'main controller - index;)';
  12.         }
  13.        
  14.         public function Test(){
  15.         return 'main controller - test ;)';
  16.         }
  17. }
  18.  


3. Модель
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Main_Model extends Model {
  4.         public function get_array(){
  5.         echo 'Модель Main<br>';
  6.         return array(1 => 'a', 2 => 'b');
  7.         }
  8. }
  9.  


Возможно ли отказаться от __construct() в контроллере модуля?
Слышал о Signleton и Instance, но пока не представляю как это сделать.
Что я еще упустил? Всем спасибо! Улыбка
maragon Отправлено: 23 Июля, 2015 - 18:00:40 • Тема: Генерация графиков • Форум: Вопросы новичков

Ответов: 5
Просмотров: 490
DelphinPRO пишет:
В windows нет понятия "права доступа" Улыбка они всегда 0777

Спасибо, отныне буду знать! Улыбка

Viper пишет:
Говнокод канеш у вас знатный. Не проще было взять ffmpeg + gnuplot?

И вправду говнокод. С ffmpeg'ом разобрался, как по мне проще и функциональнее.
А вот вопрос, как перегнать wav to png через gnuplot? Примеров не нашел..
Хм
maragon Отправлено: 22 Июля, 2015 - 22:40:16 • Тема: Генерация графиков • Форум: Вопросы новичков

Ответов: 5
Просмотров: 490
Уже который день сижу, все никак вкурить не могу.
Скриптик по типу wav2png.

CODE (htmlphp):
скопировать код в буфер обмена
  1. php_flag safe_mode off
  2. define('ROOT_DIR', dirname (__FILE__).'/');
  3. Права на папки стоят


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class Waveform {
  3. public static function create($audio_file, $user_id, $file_id, $invert = false) {
  4.         ini_set("max_execution_time", "60000");
  5.         define("DETAIL", 2);
  6.         $width = "500";
  7.         $height = "100";
  8.         $color = "#f01256";
  9.         $ROOT = ROOT_DIR;
  10.         $ATTACHS = $ROOT."uploads/".$user_id."/";
  11.         $filename = substr(md5(time()), 0, 20);
  12.         $file = $ATTACHS.$filename;
  13.         copy($ATTACHS.$audio_file, $ATTACHS.$filename."_o.mp3");
  14.         exec($ROOT."/lame ".$ATTACHS.$file."_o.mp3 -f -m m -b 16 --resample 8 ".$ATTACHS.$file.".mp3 && ".$ROOT."/lame --decode ".$ATTACHS.$file.".mp3 ".$ATTACHS.$file.".wav");
  15.         @unlink($file."_o.mp3");
  16.         @unlink($file.".mp3");
  17.         $filename = "{$file}.wav";
  18.         $handle =  fopen($filename, "r");
  19.         $header = array();
  20.         $header[] = fread($handle, 4);
  21.         $header[] = bin2hex(fread($handle, 4));
  22.         $header[] = fread($handle, 4);
  23.         $header[] = fread($handle, 4);
  24.         $header[] = bin2hex(fread($handle, 4));
  25.         $header[] = bin2hex(fread($handle, 2));
  26.         $header[] = bin2hex(fread($handle, 2));
  27.         $header[] = bin2hex(fread($handle, 4));
  28.         $header[] = bin2hex(fread($handle, 4));
  29.         $header[] = bin2hex(fread($handle, 2));
  30.         $header[] = bin2hex(fread($handle, 2));
  31.         $header[] = fread($handle, 4);
  32.         $header[] = bin2hex(fread($handle, 4));
  33.         $bits = hexdec(substr($header[10], 0, 2));
  34.         $byte = $bits / 8;
  35.         $channels = hexdec(substr($header[6], 0, 2));
  36.  
  37.         if ($channels == 2) {
  38.                 $skip = 40;
  39.         }
  40.         else {
  41.                 $skip = 80;
  42.         }
  43.  
  44.         $data = array();
  45.         while (!feof($handle)) {
  46.                 $bytes = array();
  47.                 for ($i = 0; $i < $byte; $i++) {
  48.                         $bytes[$i] = fgetc($handle);
  49.                 }
  50.                 switch ($byte) {
  51.                         case 1:
  52.                                 $data[] = self::getAmplitude($bytes[0], $bytes[1]);
  53.                                 break;
  54.                         case 2:
  55.                                 if (ord($bytes[1]) & 128) {
  56.                                         $temp = 0;
  57.                                 }
  58.                                 else {
  59.                                         $temp = 128;
  60.                                 }
  61.                                 $temp = chr((ord($bytes[1]) & 127) + $temp);
  62.                                 $data[] = floor(self::getAmplitude($bytes[0], $temp) / 256);
  63.                                 break;
  64.                 }
  65.                 fread($handle, $skip);
  66.         }
  67.         fclose($handle);
  68.         @unlink($filename);
  69.         $img = imagecreatetruecolor(sizeof($data) / DETAIL, $height);
  70.         imagealphablending($img, false);
  71.         imagesavealpha($img, true);
  72.         $transparent = imagecolorallocatealpha($img, 0, 0, 0, 127);
  73.         imagefilledrectangle($img, 0, 0, sizeof($data) / DETAIL, $height, $transparent);
  74.         imagefill($img, 1, 1, $transparent);
  75.         list($r, $g, $b) = self::html2rgb($color);
  76.         $color = imagecolorallocate($img, $r, $g, $b);
  77.         for ($d = 0; $d < sizeof($data); $d += DETAIL) {
  78.         $v = (int) ($data[$d] / 255 * $height);
  79.         $x = $d / DETAIL;
  80.  
  81.         if ($invert) {
  82.                         imageline($img, $x, 0, $x, ($height - $v), $color);
  83.                         imageline($img, $x, $height - ($height - $v), $x, $height, $color);
  84.         } else {
  85.                         imageline($img, $x, 0 + ($height - $v), $x, $height - ($height - $v), $color);
  86.                 }
  87.  
  88.         }
  89.         $rimg = imagecreatetruecolor($width, $height);
  90.         imagealphablending($rimg, false);
  91.         imagesavealpha($rimg, true);
  92.         imagecopyresampled($rimg, $img, 0, 0, 0, 0, $width, $height, sizeof($data) / DETAIL, $height);
  93.         if(imagepng($rimg, $ROOT."/waveforms/".$file_id.".png")){
  94.         return 1;
  95.         } else {
  96.         return 0;
  97.         }
  98. }
  99. private static function getAmplitude($byte1, $byte2) {
  100.         $byte1 = hexdec(bin2hex($byte1));
  101.         $byte2 = hexdec(bin2hex($byte2));
  102.         return ($byte1 + ($byte2 * 256));
  103. }
  104. private static function html2rgb($input) {
  105.         $input = ($input[0] == "#") ? substr($input, 1, 6) : substr($input, 0, 6);
  106.         return array(
  107.                 hexdec(substr($input, 0, 2)),
  108.                 hexdec(substr($input, 2, 2)),
  109.                 hexdec(substr($input, 4, 2))
  110.         );
  111. }
  112. }
  113. ?>


Но есть как всегда одно Но! Растерялся

Если смотреть по скрипту:
Файлы перекодирует нормально через LAME в .wav формат.
А дальше начинается "ахтунг".. То ли дело в путях, то ли я чего-то не так указал.
Если подставить в скрипт название уже сгенерированного .wav файла от руки вот в это место [ $handle = fopen($filename, "r"); ] - то при обновлении страницы происходит генерация изображения + .wav'ку удаляет, как и задуманно в скрипте (т.е. все работает).

В основном ругается так:

(не может открыть, хотя файл есть и права стоят 777)
fopen(D:\AppServ\www/uploads/39/d917f82583b7bac18e2b.wav) [function.fopen]: failed to open stream: No such file or directory in ...

(не может удалить, хотя файл есть и права стоят 777, если воткнут @ то удалит файл)
Warning: unlink(D:\AppServ\www/uploads/39/b763a2f212b89ad4e840.mp3) [function.unlink]: No such file or directory in

Куда копать? Однако
maragon Отправлено: 30 Июня, 2015 - 12:18:09 • Тема: Категория форума -> фоурмы • Форум: Вопросы новичков

Ответов: 5
Просмотров: 346
Viper пишет:
Я такое на php делал, а не средствами БД. У вас есть связь по ID между форумами и подфорумами. Выбираете все форумы, потом все подфорумы и в цикле создаете новый массив связав по ID.


А можно пример?
maragon Отправлено: 30 Июня, 2015 - 00:11:54 • Тема: Категория форума -> фоурмы • Форум: Вопросы новичков

Ответов: 5
Просмотров: 346
Сейчас вывожу так, но это не есть хорошо Однако
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = $db->super_query("SELECT `".PREFIX."_forum_categories`.`id`,
  3.                                                                 `".PREFIX."_forum_categories`.`name`
  4.                                                                 FROM `".PREFIX."_forum_categories`
  5.                                                                 ", 1);
  6. if($sql) {
  7. foreach($sql As $row){
  8.  
  9. $tpl->load_template('forum/category.tpl');
  10. $tpl->set('{name}', $row['name']);
  11. $tpl->compile('content');
  12.  
  13. $sql = $db->super_query("SELECT `".PREFIX."_forum`.`id`,
  14.                                                                 `".PREFIX."_forum`.`name`,
  15.                                                                 `".PREFIX."_forum`.`description`,
  16.                                                                 `".PREFIX."_forum`.`count_messages`,
  17.                                                                 `".PREFIX."_forum`.`count_topics`,
  18.                                                                 `".PREFIX."_forum`.`forum_icon`
  19.                                                 FROM `".PREFIX."_forum`
  20.                                                 WHERE `".PREFIX."_forum`.`category` = '".$row['id']."'
  21.                                                 ", 1);
  22. if($sql){
  23. $tpl->load_template('forum/forum.tpl');
  24. foreach($sql AS $row){
  25. $tpl->set('{forum_id}', $row['id']);
  26. $tpl->set('{forum_name}', $row['name']);
  27. $tpl->set('{forum_description}', $row['description']);
  28. $tpl->set('{count_messages}', $row['count_messages']);
  29. $tpl->set('{count_topics}', $row['count_topics']);
  30. if(file_exists(ROOT_DIR."/templates/".$config['temp']."/images/forum/".$row['forum_icon'])){
  31. $tpl->set('{forum_icon}', "/templates/".$config['temp']."/images/forum/".$row['forum_icon']);
  32. } else {
  33. $tpl->set('{forum_icon}', "/templates/".$config['temp']."/images/forum/no.png");
  34. }
  35.  
  36. $tpl->compile('content');
  37. }
  38. }
  39. }
  40. } else { msgbox('Ошибка', 'Форумы не найдены', 'Обратитесь к данной странице позже', 'info'); }
  41.  
maragon Отправлено: 29 Июня, 2015 - 19:39:03 • Тема: Категория форума -> фоурмы • Форум: Вопросы новичков

Ответов: 5
Просмотров: 346
Мучался, вроде просто - а не туда, ни сюда.
Две таблицы: Категория форума / Форумы
Нужно вывести втаком порядке:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Название категории
  2. - Форумы
  3. Название второй категории
  4. - Форумы


CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. Таблица `forum`:
  3. `id` (int) , `category`(int) , `name` (varchar)
  4. 1|Форум 1|Первый форум
  5. 2|Форум 2|Второй форум
  6.  


Куда копать? Однако
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. Таблица `forum_category`:
  3. `id` (int) ,  `name` (varchar)
  4. 1|Основные форумы
  5. 2|информационные форумы
  6.  


Пробовал так, но не то.. Группировка не помогает.
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT forum.name, forum_category.name AS cat_name FROM forum
  2. LEFT JOIN forum_category.category ON forum_category.id = forum.category
  3. GROUP BY forum.category
  4. ORDER BY forum.id ASC;
maragon Отправлено: 25 Июня, 2015 - 22:34:21 • Тема: Помощь с jPlayer в Wordpress • Форум: Вопросы новичков

Ответов: 8
Просмотров: 426
Тоже как то мучался для своего детища.
посмотрел на сторону портала promodj.com, у них, когда выводишь аудиофайлы из бд, генерируешь <script></script>, в котором
CODE (javascript):
скопировать код в буфер обмена
  1. <script>player.view(id адуиозаписи, url к треку);</script>


А дальше, дело за малым.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var player = {
  3.       view: function(id, url){
  4.        $("#player"+ id).jPlayer({
  5.    ready: function () {
  6.     $(this).jPlayer("setMedia", {
  7.          mp3: url,
  8.          oga: ""
  9.     });
  10.    },
  11.    swfPath: "/js",
  12.    .... и т.д. курить документацию jplayer надо
  13.   });
  14.       }
  15. }


Как пример.
Писал на коленке.. Закатив глазки
maragon Отправлено: 25 Июня, 2015 - 18:44:57 • Тема: Проверка адреса соц.сетей • Форум: Вопросы новичков

Ответов: 1
Просмотров: 127
У пользователей на сайте есть поля (Вк, Ок, Твиттера и т.д.). Сейчас проверяю их так:

PHP:
скопировать код в буфер обмена
  1. $user_skype = $_POST['skype']; //+ проеврка
  2. $arr_user_sk = explode('/', $user_skype);
  3. $arr_user_sk = $arr_user_sk[2]; //Выдираю адрес полный
  4. if($arr_user_sk == "twitter.com"){
  5. echo "Молодец";
  6. } else {
  7. echo "Не молодец";
  8. }


Можно же попроще сделать? Регулярку пустить или еще шо. Закатив глазки
maragon Отправлено: 23 Июня, 2015 - 15:54:10 • Тема: Cache -> постраничный • Форум: Вопросы новичков

Ответов: 0
Просмотров: 91
Функции кеша: (запись \ чтение)
PHP:
скопировать код в буфер обмена
  1. function create_cache($prefix, $cache_text) {
  2.         $filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
  3.         $fp = fopen($filename, 'wb+');
  4.         fwrite($fp, $cache_text);
  5.         fclose($fp);
  6.         @chmod($filename, 0666);
  7. }
  8. function view_cache($prefix) {
  9.         $filename = ENGINE_DIR.'/cache/'.$prefix.'.tmp';
  10.         return @file_get_contents($filename);
  11. }


+ serilize / unserialize

Такой штукой кеширую блоки у пользователей сайта (информацию и прочее).
Возможно ли закешировать постраничную навигацию?
Например вытаскиваю все фотографии или же аудиозаписи постранично.

Пример кеширования данных пользователя:
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = intval($_GET['id']); //ID пользователя
  3. $row = unserialize(view_cache('profile_'.$id)); //Смотрим кэш
  4. if(!$row){ //Проверяем на наличие кеша, если нету то выводи из БД и создаём его
  5. $row = $db->super_query("SELECT * FROM `users` WHERE `user_id` = '".$id."'");
  6. if($row){
  7. create_cache('profile_'.$id, serialize($row)); // Создаём кеш
  8. }
  9. } else { //Кеш есть - вытаскиваю
  10. echo $row['user_login'];
  11. }
  12.  
maragon Отправлено: 17 Июня, 2015 - 23:01:39 • Тема: Код активации раз в час • Форум: Вопросы новичков

Ответов: 1
Просмотров: 143
Засыпаю за железным другом.. Задача то простая, но все никак.
- При регистрации высылаю смс-ку с кодом активации.
- Добавляю запрос в таблицу fh_activate { id, user_login, time } где time = time(); типо смс-выслал, дата последнего записалась.
- Тперь, когда пользователь каким-то макаром затеряет смс-ку в своем крутом смартфоне, нужно её отправить еще раз. Для этого есть ф-я выслать повторно.
Одно но, надо чтобы она была доступна раз в сутки например (60*60*24).
Вопрос:
Как высчитать правильно время и дать добро на отправку смс?
Как показать оставшееся время, если не прошло 24 часа?
Збазибо заранее! Закатив глазки
maragon Отправлено: 08 Июня, 2015 - 17:20:08 • Тема: PHP проверка мобильного телефона • Форум: Вопросы новичков

Ответов: 5
Просмотров: 297
Проверка осуществляется следующим образом:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if(!preg_match("/^[0-9]{10,11}+$/", $phone)){
  3. $errors[] = $lang['Phone check'];
  4. }


МТС, ТЕЛЕ2, БИЛАЙН и прочие операторы, смс-ки доходят.
Но, номера Украины под эти правила не влазят. Как быть?
Я так понимаю у Украины 12 значн. номера? Однако
maragon Отправлено: 02 Июня, 2015 - 00:40:01 • Тема: lame + php - конвертация аудио • Форум: Вопросы новичков

Ответов: 15
Просмотров: 874
Разрабрался! Закатив глазки

Страниц (23): [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