PHP.SU

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

Страниц (3): « 1 [2] 3 »

> Найдено сообщений: 41
Yan9 Отправлено: 02 Ноября, 2015 - 16:57:07 • Тема: Не могу установить Composer • Форум: CMS и фреймворки

Ответов: 22
Просмотров: 10852
Добрый день!
Часы поиска в гугле не дали результата. Не могу установить Composer, чтобы потом установить Yii2.

Установочный файл качал с официального сайта, при установке появляется окно с текстом:
"Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl"

В php.ini:
- строка extension=php_openssl.dll раскомментирована.
- строка extension_dir = "C:/php/ext" раскомментирована и содержит правильный путь к расширениям.

Что нужно сделать, чтобы наконец установить Composer? Спасибо!
Yan9 Отправлено: 01 Ноября, 2015 - 01:09:33 • Тема: Не могу открыть картинку после ее загрузки через php • Форум: Работа с файловой системой и файлами

Ответов: 9
Просмотров: 2496
Viper пишет:
Yan9 у вас в список Владельцы должны входить Администраторы.
Что-то у вас с правами сломалось. Вспоминайте что делали последнее время и вертайте назад изменения.


Понял. Я за последние два дня уже столько всего там наделал, что и не вспомнить, спасибо за помощь, буду искать в том направлении, в котором вы указали)
Yan9 Отправлено: 31 Октября, 2015 - 16:25:57 • Тема: Не могу открыть картинку после ее загрузки через php • Форум: Работа с файловой системой и файлами

Ответов: 9
Просмотров: 2496
Viper пишет:
Yan9 а теперь права проблемного файла приведите на скриншоте побольше.
Апач под каким юзером работает?
Заодно проверьте http://php.net/manual/en/function.move-uploaded-file.php#86332


Скриншот приложил

В php.ini написал такую строку: upload_tmp_dir = "C:/php/upload"
И соответственно в папке php создал папку upload

Написал в скрипте echo get_current_user();
Возвращает: система

Результаты пока те же
Yan9 Отправлено: 31 Октября, 2015 - 13:52:47 • Тема: Не могу открыть картинку после ее загрузки через php • Форум: Работа с файловой системой и файлами

Ответов: 9
Просмотров: 2496
Viper пишет:
долбодятлы, простите, пользователи каким образом заливают картинки? Вы точно уверены что у вас права администратора? А то сейчас у вас вопрос из разряда "У меня ничего не работает11! Что делать!?11"


Вот приложил скриншот, может я, конечно, конкретно туплю)

Вот кусок кода, который добавляет картинку при регистрации:
PHP:
скопировать код в буфер обмена
  1. // Генерирую случайное имя, которое дам картинке
  2. $arr=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
  3. $b='';
  4. for($i=0;$i<=19;$i++){
  5.         $a=$arr[rand(0,35)];
  6.         $b.=$a;
  7. }
  8.  
  9. // проверяю тип загруженного файла
  10. if(is_uploaded_file($_FILES['file']['tmp_name'])){
  11.         $blacklist=array('.php', '.phtml', '.php3', '.php4', '.html', '.htm', '.css', '.js', '.xml', '.txt');
  12.         foreach ($blacklist as $item)
  13.         {
  14.                 if(preg_match("/$item$/i", $_FILES['file']['name'])){
  15.                         echo '<a href="'.$_SERVER["HTTP_REFERER"].'">Назад</a><br/>';
  16.                         echo 'Обнаружен файл, угрожающий безопасности сайта, загрузите картинку!';
  17.                         exit;
  18.                 }
  19.         }
  20.  
  21. // если все Ок, то перемещаю этот файл в папку images
  22.         $path='../images/'.$b.'.png';
  23.         move_uploaded_file($_FILES['file']['tmp_name'], $path);
  24.         $imagepath='images/'.$b.'.png';
  25.  
  26.         $u=new User($name, $second_name, $email, $password, $imagepath);
  27.         $u->signup();
  28. }
Yan9 Отправлено: 31 Октября, 2015 - 12:44:28 • Тема: Не могу открыть картинку после ее загрузки через php • Форум: Работа с файловой системой и файлами

Ответов: 9
Просмотров: 2496
DeepVarvar пишет:
Yan9 пишет:
Я администратор диска C

Yan9 пишет:
Как это исправить?

format C
apt-get install lamp


Та уже были мысли Linux поставить, но хотелось бы эту проблему решить)
(Добавление)
Viper пишет:
Yan9 пкм по файлу -> Свойства -> Безопасность -> Дополнительно.
1. Если вас(имени вашей учетки) нет в списке на вкладке Владелец, то вы не состоялись как администратор в вашей системе Улыбка
2. Скрипт коим вы льете картинки корявит права доступа.
3. Звезды


Меняю владельцев, все равно в лучшую сторону не меняется, только появляется, либо исчезает замочек на иконке картинки.
Интересно то, что если на сайте аутентифицироваться через соц сеть (vk и fb), то я вытягиваю оттуда аватарки, кладу в эту же папку и видно их превью, и открыть их могу без проблем. Т.е. проблема только с теми, которые заливаются вручную пользователем. Просто уже не первый раз такое делаю и никогда не было проблем никаких, а тут появилась.
Yan9 Отправлено: 30 Октября, 2015 - 21:49:10 • Тема: Не могу открыть картинку после ее загрузки через php • Форум: Работа с файловой системой и файлами

Ответов: 9
Просмотров: 2496
Добрый день! Сделал регистрацию с возможностью добавлять картинку (для аватарки в личном кабинете).
После авторизации можно зайти в личный кабинет, куда выгружаются все данные, включая эту картинку.
В личном кабинете в браузере фотография видна, а в самой папке, куда она загружается, не открывается. При попытке открыть пишет "средство просмотра фотографий Windows не может открыть это изображение, так как отсутствует разрешение на доступ к расположению файла".
Если я копирую этот файл и тут же вставляю, то появляется окно с надписью "Для копирования этого файла нужно обладать правами администратора". После клика на "Продолжить" картинка копируется и ее можно открыть, но оригинальная так и не открывается.
Я администратор, права доступа открыты полностью, начиная от диска C, заканчивая папкой images, прошелся по каждой папке.
Как это исправить? Спасибо!
Yan9 Отправлено: 22 Октября, 2015 - 20:01:58 • Тема: Не могу получить email из Vkontakte при аутентификации через него • Форум: Вопросы новичков

Ответов: 0
Просмотров: 90
Добрый день! Уже весь день мучаюсь, самому не удалось решить проблему. Делаю аутентификацию через соц сети, в частности, через Vk, но не могу получить email, указал scope, передал в fields, которые надо получить, как пользователь кликнул "Разрешить" использовать эти данные, но все равно пишет Notice: Undefined index: email in ...
Подскажите в чем проблема. Спасибо!

Страница с самой аутентификацией:
PHP:
скопировать код в буфер обмена
  1.     $client_id='555555555'; // ID приложения
  2.     $client_secret='qwqwqwqwqwqwqwwqwqwqw'; // Ключ приложения
  3.     $redirect_uri='http://localhost/user/site'; // Адрес сайта
  4.  
  5.     $url='http://oauth.vk.com/authorize';
  6.  
  7.     $params=array(
  8.         'client_id'=>$client_id,
  9.         'redirect_uri'=>$redirect_uri,
  10.         'response_type'=>'code',
  11.         'scope'=>'email'
  12.     );
  13.     echo $link='<p><a href="' . $url . '?' . urldecode(http_build_query($params)) . '">Аутентификация ВКонтакте</a></p>';


Страница с обработчиком, куда делает редирект:
PHP:
скопировать код в буфер обмена
  1. if (isset($_GET['code'])) {
  2.     $result = false;
  3.     $params = array(
  4.         'client_id' => $client_id,
  5.         'client_secret' => $client_secret,
  6.         'code' => $_GET['code'],
  7.         'redirect_uri' => $redirect_uri
  8.     );
  9.  
  10.     $token=json_decode(file_get_contents('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);
  11.  
  12.     if (isset($token['access_token'])) {
  13.         $params=array(
  14.             'uids'=>$token['user_id'],
  15.             'fields'=>'uid,first_name,last_name,email',
  16.             'access_token'=>$token['access_token']
  17.         );
  18.  
  19.         $userInfo = json_decode(file_get_contents('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
  20.         if (isset($userInfo['response'][0]['uid'])) {
  21.             $userInfo = $userInfo['response'][0];
  22.             $result = true;
  23.         }
  24.     }
  25.  
  26.     if ($result) {
  27.         echo "Имя: " . $userInfo['first_name'] . '<br />';
  28.         echo "Фамилия: " . $userInfo['last_name'] . '<br />';
  29.         echo "Имейл: " . $userInfo['email'] . '<br />';
  30.     }
  31. }


Решение (email лежит в токене):
if (isset($userInfo['response'][0]['uid'])) {
$userInfo['response'][0]['email'] = $token['email'];
$userInfo = $userInfo['response'][0];
$result = true;
}

echo "Имейл пользователя: " . $userInfo['email'] . '<br />';
Yan9 Отправлено: 09 Октября, 2015 - 18:58:16 • Тема: ООП и MVC (не могу передать данные из Модели в Контроллер) • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 1410
Цитата:
по моему нет ошибки тут

Я имел ввиду то, что я писал print_r($row), а надо было как Вы написали, ну или что-то типа такого
CODE (text):
скопировать код в буфер обмена
  1. $g=$x->signcheck();
  2. print_r($g);

Цитата:
возврат значения, почитайте про функции

Ок, спасибо, как-то упустил это и не вник.
(Добавление)
Viper пишет:
Yan9 пишет:
Объясните, пожалуйста, зачем в модели нужен return, с вызовом метода очевидно где ошибка, а вот с return не понял)

http://php.net/manual/en/function.return.php
http://php.net/manual/en/functions.returning-values.php


Спасибо, обязательно прочту!)
Yan9 Отправлено: 09 Октября, 2015 - 18:40:27 • Тема: ООП и MVC (не могу передать данные из Модели в Контроллер) • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 1410
andrewkard пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. function signcheck(){
  3.         $this->connect();
  4.         $sel=mysql_query("SELECT * FROM user WHERE name='$this->name'") ;
  5.         $row=mysql_fetch_array($sel,MYSQL_NUM);
  6.         return $row;
  7.     }
  8.  


PHP:
скопировать код в буфер обмена
  1.  
  2.    function signhandler(){
  3.        $x=new User($this->name, $this->password);
  4.        $x->signcheck();
  5.        print_r($x);
  6.    }
  7.  


Спасибо большое! Все работает, еще и неверно выводил метод)
Объясните, пожалуйста, зачем в модели нужен return, с вызовом метода очевидно где ошибка, а вот с return не понял)
Yan9 Отправлено: 09 Октября, 2015 - 18:25:30 • Тема: ООП и MVC (не могу передать данные из Модели в Контроллер) • Форум: Объектно-ориентированное программирование

Ответов: 6
Просмотров: 1410
Добрый день!
Есть три файла:
index.php (View)
signup.php (Controller)
classsignlog.php (Model)
Делаю элементарную регистрацию, но с этим паттерном первый раз.
Я вначале сделал в Контроллере проверку, но она не работала, потом решил просто вывести строку с уже введенным логином из БД, но не могу это сделать через Контроллер.
P.S. Есть еще класс DB, который находит в файле classcreatedb.php, там я просто подключаюсь к БД с помощью метода connect(), который вызываю в Модели и там же есть метод, который создает таблицу.
P.P.S Если в методе signcheck() Модели написать print_r($row), то строка из БД прекрасно выводится, но эти данные почему-то не могу передать в Контроллер, чтобы там их обработать.
Спасибо за помощь!

VIEW:
CODE (htmlphp):
скопировать код в буфер обмена
  1. ...
  2. <body>
  3.         <?php
  4.            include_once('signup.php');
  5.            if(isset($_REQUEST['send'])){
  6.                $name=htmlspecialchars(trim($_REQUEST['name']));
  7.                $password=htmlspecialchars(trim($_REQUEST['password']));
  8.                $g=new Controller($name, $password);
  9.                $g->signhandler();
  10.            }else{
  11.        ?>
  12.  
  13.         <form action="index.php" method="post">
  14.             <table>
  15.                 <tr>
  16.                     <td><label for="name">Name: </label></td>
  17.                     <td><input type="text" name="name" id="name"></td>
  18.                 </tr>
  19.                 <tr>
  20.                     <td><label for="pass">Password: </label></td>
  21.                     <td><input type="password" name="password" id="pass"></td>
  22.                 </tr>
  23.                 <tr>
  24.                     <td></td>
  25.                     <td><input type="submit" name="send"></td>
  26.                 </tr>
  27.             </table>
  28.         </form>
  29.  
  30.         <?php
  31.            }
  32.        ?>
  33. </body>
  34. ...


CONTROLLER:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. include_once('classsignlog.php');
  4.  
  5. class Controller
  6. {
  7.    private $name;
  8.    private $password;
  9.  
  10.    function __construct ($name, $password){
  11.        $this->name=$name;
  12.        $this->password=$password;
  13.    }
  14.  
  15.    function signhandler(){
  16.        $x=new User($this->name, $this->password);
  17.        $x->signcheck();
  18.        global $row;
  19.        print_r($row);
  20.    }
  21. }
  22. ?>


MODEL:
CODE (htmlphp):
скопировать код в буфер обмена
  1. include_once('classcreatedb.php');
  2.  
  3. class User extends DB
  4. {
  5.     public $name;
  6.     public $password;
  7.  
  8.     function __construct ($name, $password){
  9.         $this->name=$name;
  10.         $this->password=$password;
  11.     }
  12.  
  13.     function signcheck(){
  14.         $this->connect();
  15.         $sel=mysql_query("SELECT * FROM user WHERE name='$this->name'") ;
  16.         $row=mysql_fetch_array($sel,MYSQL_NUM);
  17.     }
  18. }
  19. ?>
Yan9 Отправлено: 08 Октября, 2015 - 13:13:42 • Тема: Обновление капчи • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 510
IllusionMH пишет:
Yan9, решение интересное, но откуда сервер узнает какую капчу ему ждать? Что помешает мне послать просто 5 символов?
Смысл как раз в том что проверка на сервере, а с клиента её можно только "распознать"


Да, я это уже понял))
Я и делал на php, потом подумал, что лучше проверку делать на клиенте, но не знал о том, что бот может отправить данные и без этой капчи.
Может кому-то пригодится подобное решение для чего-то другого)
Yan9 Отправлено: 07 Октября, 2015 - 21:43:00 • Тема: Обновление капчи • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 510
Всем добрый день! Сделал капчу на JS, но не знаю как ее обновлять. Возможно ли это сделать без ajax? При обновлении капчи не хочу его применять, т.к. обработка самой формы будет происходить с использованием ajax.
Вот сделал для наглядности в песочнице http://jsfiddle[dot]net/ocnfg5m4/4/
Буду благодарен за помощь!

Вопрос закрыт! Решение:
http://jsfiddle[dot]net/ocnfg5m4/5/
Yan9 Отправлено: 04 Октября, 2015 - 13:20:15 • Тема: Некорректно работает transition-duration • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1144
DelphinPRO пишет:
Сделайте пример на jsfiddle.net, поковыряем


Ничего не пойму, тут http://jsfiddle[dot]net/mds58d72/21/ все работает хорошо и плавно, без всяких скачков и рывков, а у меня дергается, причем и тогда, когда просто в браузере открываю файл index.html и когда такой же файл index.php открываю у себя на localhost и когда этот же файл находится во фреймворке CI. Очень странно, буду делать тогда с помощью jQuery, надеюсь там будет работать хорошо. Спасибо за помощь!
Yan9 Отправлено: 02 Октября, 2015 - 19:32:07 • Тема: Некорректно работает transition-duration • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1144
DelphinPRO пишет:
Должно работать. попробуйте краткую запись.
CODE (css):
скопировать код в буфер обмена
  1. transition: transform 1s ease;


ну и здесь посмотрите http://caniuse[dot]com/#search=transitions насчет префиксов. Может у вас браузер древний.


Пробовал уже для каждого свойства из этой серии добавлять все возможные префиксы, даже несмотря на то, что Хром самый свежий 45.0.2454.101.
Ваш вариант, к сожалению, тоже не работает. Когда провожу стрелкой мышки над border у главного пункта меню, хотя border даже не задан, то в этот момент подменю либо мгновенно появляется, либо так же скачком исчезает.
Yan9 Отправлено: 02 Октября, 2015 - 15:21:10 • Тема: Некорректно работает transition-duration • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1144
Добрый день! Я уже замучился, не пойму в чем проблема. Делаю так, чтобы при наведении на главный пункт меню, сверху плавно выезжали подпункты. Вот код:
HTML
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class="menu goods">
  2.         <a href="#" class="f_link">All goods</a>
  3.         <ul class="submenu">
  4.                 <li>first</li>
  5.                 <li>second</li>
  6.                 <li>third</li>
  7.         </ul>
  8. </div>

CODE (htmlphp):
скопировать код в буфер обмена
  1. .goods:hover .submenu{
  2.         transform: translateY(0px);
  3. }
  4. .submenu{
  5.         margin: 0;
  6.         padding: 0;
  7.         list-style: none;
  8.         transform: translateY(-300px);
  9.         transition-duration: 1s;
  10.         transition-property: transform;
  11. }

Это работает, но проблема в следующем:
Когда я подвожу мышку к границе главного пункта меню (т.е. к .goods), то часто блок с подменю не плавно выезжает, а резко вываливается и так же пропадает. Кто подскажет? Спасибо!

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB