PHP.SU

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

Страниц (25): В начало « ... 8 9 10 11 [12] 13 14 15 16 ... » В конец

> Найдено сообщений: 374
VestCoastman Отправлено: 03 Августа, 2013 - 23:17:56 • Тема: Какой смысл в шаблонизаторе? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 157
Okula пишет:
Отделние вёрстки от исходного кода. Делается это для разделения обязаностей между кодером и верстальщиком. Ну и для удобства разработки.
Наличие шаблонизатора конечно влияет на скорость выполнения скрипта (в отрицательную сторону), но так же влияет на скорость разработки проекта в целом (в положительную сторону). Зависимость прямопропорциональна. Каждый занят своим делом в проекте.

Ясно. Спасибо за подробное пояснение Улыбка
VestCoastman Отправлено: 03 Августа, 2013 - 22:25:49 • Тема: Какой смысл в шаблонизаторе? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 157
Частенько натыкаюсь на таки вещи, как шаблоны, что я под этим подразумеваю:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>{HEADER}</head>
  4.  
  5. <body>
  6.   {BODY}
  7.   {FOOTER}
  8. </body>
  9. </html>
  10.  

Расскажите, какой в этом смысл?
Ведь использовать различные поиски по странице и замены, на мой взгляд, как-то слишком жирно, по отношению к нагрузке.
VestCoastman Отправлено: 02 Августа, 2013 - 18:34:05 • Тема: Как на экран выводит новый текст из БД которое написали в форме? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 235
PHP:
скопировать код в буфер обмена
  1. $sql2=mysql_query("SELECT id,status,uid FROM users WHERE uid='$ses' ORDER BY id LIMIT 1");

Если не работает, включайте отображение ошибок mysql_error();
VestCoastman Отправлено: 02 Августа, 2013 - 12:06:21 • Тема: Возврат значения класса • Форум: Вопросы новичков

Ответов: 8
Просмотров: 566
DelphinPRO пишет:
VestCoastman пишет:
Т.е. проходит проверка на существование пользователь(его авторизацию). В противном случае возвращает false.
лучше если класс пользователя будет иметь специальный метод, сообщающий о статусе авторизации:
if ($user->isAuth()) {}

PS перезаписывать переменную, в которой ожидается объект значением другого типа как-то не кошерно...

В принципе, вы правы.
За класс user, по сути, может отвечать и $user->register, но т.к. $user = false, то придется создавать новый объект new user, что является на мой взгляд, не благоразумным.
Улыбка
VestCoastman Отправлено: 02 Августа, 2013 - 02:08:27 • Тема: Возврат значения класса • Форум: Вопросы новичков

Ответов: 8
Просмотров: 566
Наверное с пользователем будет понятнее
PHP:
скопировать код в буфер обмена
  1. class user{
  2.    public function user(){
  3.       return false;
  4.    }
  5.  
  6.    public function name(){
  7.       return "ivan";
  8.    }
  9. }
  10.  
  11. $user = new user;
  12.  
  13. if($user->user()===false){ $user = false; }


Т.е. проходит проверка на существование пользователь(его авторизацию). В противном случае возвращает false.
(Добавление)
DelphinPRO пишет:
в данном случае метод name сработает как конструктор (совместимость с php4);

Конструкция new всегда возвращает объект. Начиная с php5.0 empty для объектов всегда будет возвращать истину.

Всё, теперь понял - объект всегда истина( хоть это и очевидно=) ). Воспользуюсь тогда своим примером выше.
VestCoastman Отправлено: 02 Августа, 2013 - 01:13:16 • Тема: Возврат значения класса • Форум: Вопросы новичков

Ответов: 8
Просмотров: 566
Можно ли вернуть значение класса? Возможно, я не корректно задал вопрос, но постараюсь показать, что мне нужно и возможно ли такое.
PHP:
скопировать код в буфер обмена
  1. class name{
  2.    public function name(){
  3.       return false;
  4.    }
  5.  
  6.    public function test(){
  7.       return "test";
  8.    }
  9. }
  10.  
  11. $name = new name;
  12.  
  13. if(empty($name)){echo "Empty";}else{echo $name->test();}

Т.е. чтобы метод name и был результатом класса.
VestCoastman Отправлено: 01 Августа, 2013 - 02:08:00 • Тема: Пойду подмастерьем к php программисту • Форум: Прочее

Ответов: 5
Просмотров: 71
grafillo пишет:
от вас - минимальная оплата труда, задания и подсказки как их решить

Вам программист все рассказывает, обучает вас и за это он вам должен еще и заплатить.
Это как, вы приходите в магазин за хлебом, но за то чтобы вы его взяли, вам должны еще и заплатить. Глупость выходит, сударь.
Соглашусь с DeepVarvar'ом
VestCoastman Отправлено: 01 Августа, 2013 - 00:52:12 • Тема: Как на экран выводит новый текст из БД которое написали в форме? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 235
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['submit'])) {
  3. $status=mysql_real_escape_string($_POST['status']);
  4. $ses=mysql_real_escape_string($_SESSION['id']);
  5. $sql1=mysql_query("insert into status (uid, status) values ('$ses', '$status')"); }
  6. if(!$sql1) exit("Error sql1");
  7. $sql2=mysql_query("SELECT uid,status FROM users WHERE uid='$ses'");
  8. if($sql2 && mysql_num_rows($sql2)>0){
  9. $array=mysql_fetch_array($sql2);
  10. echo "Статус: ".htmlspecialchars($array['status'])."<br>";
  11. }
  12. ?>
  13. <form method="POST" action="">
  14. <br><input name="status">
  15. <br><input type="submit" name="submit"></form>

Фильтруйте все входящие данные, такие как пост и гет.
Конкатенация делается через точку, а не запятую.
VestCoastman Отправлено: 01 Августа, 2013 - 00:48:16 • Тема: Стою на асфальте я в лыжи обутый • Форум: Вопросы новичков

Ответов: 2
Просмотров: 150
Чтобы установить куки, требуется обновление страницы.
Тут его не видно. Ниндзя
VestCoastman Отправлено: 30 Июля, 2013 - 22:31:29 • Тема: проблема с session_start(); • Форум: Вопросы новичков

Ответов: 2
Просмотров: 121
Так делать нельзя
Спойлер (Отобразить)


о май гот, что ЭТО О_О
VestCoastman Отправлено: 28 Июля, 2013 - 23:52:51 • Тема: Активированный блок • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 353
Функция должна активироваться без нажатия или наведения на триггер, т.е. ready().

Вот код
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function($){
  3.         $.fn.circlemenu=function(options){
  4.         ...blablabla...
  5.                 click:function(){
  6.                         var trigger=$t.find("a.trigger");
  7.                         trigger.bind("click",function(){
  8.                                 if($t.hasClass("close")){
  9.                                         parent.fadeTo(sets.duration,0);
  10.                                         menus.animation.close();
  11.                                         $t.removeClass("close")
  12.                                 }else{
  13.                                         parent.fadeTo(sets.duration,1);
  14.                                         menus.animation.open();
  15.                                         $t.addClass("close")
  16.                                 }return false})
  17.                 },
  18.  
  19.                 hover:function(){
  20.                         var trigger=$t.find("a.trigger");
  21.                         trigger.bind("mouseover",function(){
  22.                                 if(hov==false){
  23.                                         parent.fadeTo(sets.duration,1);
  24.                                         menus.animation.open();
  25.                                         $t.addClass("close")
  26.                                 }
  27.                         });
  28.                         parent.bind("mouseleave",function(){
  29.                                 $t.removeClass("close");
  30.                                 parent.fadeTo(sets.duration,0);
  31.                                 menus.animation.close();
  32.                                 hov=true;
  33.                                 setTimeout(function(){hov=false},500)
  34.                         })
  35.                 },
  36.         ...blablabla...
  37.         }
  38. }(jQuery));
  39.  
  40. $(function() {
  41.         $('.menu').circlemenu({
  42.                 trigger: 'hover',
  43.                 duration:500,
  44.                 zIndex:200,
  45.                 widthMultiplier:2.0
  46.         });
  47. });
  48.  


В js я как футболист в балете, но пытался делать так(не вышло):
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function() {
  3.         $('.menu').circlemenu({
  4.                 trigger: 'hover',
  5.                 duration:500,
  6.                 zIndex:200,
  7.                 widthMultiplier:2.0
  8.         });
  9. });
  10.  
VestCoastman Отправлено: 26 Июля, 2013 - 16:30:04 • Тема: EVB ENGINE - Инновации в мире php программирования • Форум: CMS и фреймворки

Ответов: 2
Просмотров: 1001
Здравствуйте, господа и дамы. Далее будет много сарказма...
Сегодня на одном из форумов наткнулся на движок http://www[dot]rubukkit[dot]org/threads/42659 (EVB ENGINE)
Судя по описанию, это просто шедевр из шедевров. Я думаю ни один из существующих движков не умеет делать то, что умеет EVB.

Оболочка конечно шикарна, но исходники - это просто что-то невероятное, анбеливебл, я бы даже сказал "https://www[dot]youtube[dot]com/watch?v=WJ9wbrGFFP8(Во истину роскошь, дистинктивно, эксессио!)".

Я бы мог и дальше продолжать "хвалить" этот движок, но есть один человек, который написал все за меня - http://u[dot]to/TToQBA]вот. Ха-ха

Советую просто http://rghost[dot]ru/47626440 скачать и посмотреть исходники.
VestCoastman Отправлено: 23 Июля, 2013 - 18:29:58 • Тема: PHP, MySql. Пополнение баланса через interkassa. Посоветуйте алгоритм. • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1382
soffrick, т.е. вы предлагаете оставить переменную пустой и получать ошибки? Чтож, забавно.
vanya_sl статус отправляет сразу все значения от интеркассы. Поле с суммой, да - ik_payment_amount. Почему оно пустое, я не знаю. Видимо вы что-то не так сделали.
VestCoastman Отправлено: 23 Июля, 2013 - 18:05:20 • Тема: PHP, MySql. Пополнение баланса через interkassa. Посоветуйте алгоритм. • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1382
С таким кодом я вообще сомневаюсь, что у вас что-либо работает правильно.
Почему же так?
- Если злоумышленник отправит вам только пост запрос $_POST['ik_shop_id'], то остальные POST выдадут ошибку Undefined variable.
♦ Решение - проверять все переменные isset($_POST['ik_shop_id'], $_POST['ik_payment_id'], ...).
Далее преобразовывать все эти переменные в соответствующие типы(те переменные, которые должны быть целочисленными в intval, строковые в mysql_real_escape_string ну и т.п.)

Далее возводить это всё дело в одну переменную и это все в md5
PHP:
скопировать код в буфер обмена
  1. $sing_hash_str = $ikSid.':'.
  2.         $ikAmount.':'.
  3.         $ikPid.':'.
  4.         $ikAlias.':'.
  5.         $ikBagf.':'.
  6.         $ikState.':'.
  7.         $ikTid.':'.
  8.         $ikCur.':'.
  9.         $ikFees.':'.
  10.         $SECTRET_KEY;
  11.  
  12. $sign_hash = strtoupper(md5($sing_hash_str));


Ну и в следствии этого сверять $sign_hash с данными которые вы отправляли в интеркассу элементарным способом if($sign_hash !== $to_interkassa){exit('Ошибка оплаты');}
VestCoastman Отправлено: 23 Июля, 2013 - 03:10:34 • Тема: PHP, MySql. Пополнение баланса через interkassa. Посоветуйте алгоритм. • Форум: Вопросы новичков

Ответов: 20
Просмотров: 1382
Пользователь должен заносить сумму не в сессию, а в базу.
Далее переходит на страницу оплаты, оплачивает.
Методы success и fail лучше использовать LINK, т.к. POST можно перехватить.
А принимать нужно status, как раз методом post.
И в статусе уже проверять, что пришло от плательщика. А именно секретный ключ, сумму ну и т.п. Таким способом перехват данных невозможен, но возможно отправить похожие данные, но для этого и существует секретный ключ.

Страниц (25): В начало « ... 8 9 10 11 [12] 13 14 15 16 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB