PHP.SU

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

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

> Найдено сообщений: 71
soleg Отправлено: 26 Августа, 2013 - 15:15:10 • Тема: Помогите найти ошибку • Форум: Вопросы новичков

Ответов: 16
Просмотров: 661
Fatal error: Function name must be a string
Ошибка тут

У тебя имя базы определено на переменную $db, а ты указываешь $db['s']
и тут
PHP:
скопировать код в буфер обмена
  1. if (!$connection || $select_db("$db"))


$select_db($db)


PHP:
скопировать код в буфер обмена
  1.  
  2. function db_connect(){
  3.     $user = 'admin';
  4.     $pswd = 'admin';
  5.     $host = 'localhost';
  6.     $db = 's';
  7.     $connection = mysql_connect ($host,$user,$pswd);
  8.     $select_db = mysql_select_db ($db);
  9.     mysql_query ("SET NAMES utf8");
  10.     if (!$connection || !$select_db) {
  11.         return false;
  12.     }
  13.     return $connection;
  14. }
  15.  



Cannot redeclare db_connect()
Функция db_connect() была объявлена ранее. Строки и файлы где она уже объявлена можно понять по тексту ршибки
soleg Отправлено: 25 Августа, 2013 - 19:37:52 • Тема: Редакторы PHP • Форум: Программное обеспечение

Ответов: 421
Просмотров: 254982
Как то давно наткнулся на видео курс по ООП, там чел писал класс и простым сочетанием клавиш у него над созданным методом появлялся шаблон комментария для этого метода.

Что за редактор позволяет такое делать?
soleg Отправлено: 23 Августа, 2013 - 16:04:13 • Тема: Чудеса или ....? • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 32
Да уж. Приятно открывать для себя что то новое, тем более там, где казалось бы всё и так понятно.

Огромное спасибо всем за ответы.
soleg Отправлено: 23 Августа, 2013 - 14:48:22 • Тема: Чудеса или ....? • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 32
или я прост нуб, даж больше уверен что прост я нуб..

Есть вот такой запрос

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT R . * , R.reserve - IF( SUM( C.amount_out )  , SUM( C.amount_out ) , 0 ) AS amount
  2. FROM `reserve` AS R
  3. LEFT JOIN `change` AS C ON ( R.name = C.out )
  4. GROUP BY R.name



Поля amount_out и reserve - float .
Поле reserve = 3.7
Поле amount_out = 1

А возвращает amount = 2.70000004768372

Откуда берутся эти 0.00000004768372 ?

Эти цифры конечно ничего в моём случае не значат, но всё же хочется понять почему так происходит.
soleg Отправлено: 16 Июля, 2013 - 12:37:37 • Тема: Отзыв SSL сертификата • Форум: Apache и другие веб-серверы

Ответов: 4
Просмотров: 432
DeepVarvar пишет:
soleg пишет:
/etc/init.d
Уже Deprecated, теперь правильно: service apache2 graceful

Есть какие то отличия?
soleg Отправлено: 15 Июля, 2013 - 02:27:59 • Тема: htaccess • Форум: Вопросы новичков

Ответов: 5
Просмотров: 238
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine On
  2.  
  3. #указываем директории которые будут игнорироваться реврайтом.
  4. RewriteCond %{REQUEST_URI} !^(/images/|/css/|/javascript/)$
  5.  
  6. #Обрабатываем ссылки вида sitename.com/ScriptName/IdValue/
  7. # При запросе sitename.com/name/666 получается запрос sitename.com/name.php?id=666
  8. RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$  /$1.php?id=$2 [QSA,L]
  9. RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$  /$1.php?id=$2 [QSA,L]
  10.  
  11. #Обрабатываем ссылки вида sitename.com/ScriptName/
  12. # При запросе sitename.com/name/ получается запрос sitename.com/name.php
  13. RewriteRule ^([a-zA-Z0-9_-]+)/$  /$1.php [QSA,L]
  14. RewriteRule ^([a-zA-Z0-9_-]+)$  /$1.php [QSA,L]
  15.  
  16.  
  17.  


[QSA,L] - позволяет данному условию принимать GET параметры. Т.е. можно использовать такого вида линки

CODE (html):
скопировать код в буфер обмена
  1. sitename.com/ScriptName/IdValue/?param1=value
soleg Отправлено: 15 Июля, 2013 - 02:11:40 • Тема: Отзыв SSL сертификата • Форум: Apache и другие веб-серверы

Ответов: 4
Просмотров: 432
Решается мягким перезапуском апаче.
Для Debian
soleg Отправлено: 15 Июля, 2013 - 02:03:14 • Тема: PHP, MySQL. Помогите составить условие (запрос в БД) • Форум: Вопросы новичков

Ответов: 35
Просмотров: 1306
PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['submit']))
  3. {
  4.         $name           = mysql_real_escape_string($_POST['name']);
  5.         $text           = mysql_real_escape_string($_POST['text']);
  6.         $explain        = mysql_real_escape_string($_POST['explain']);
  7.         $language       = mysql_real_escape_string($_POST['language']);
  8.         $price          = floatval($_POST['price']);
  9.          
  10.         @session_start();
  11.        
  12.         if(isset($_SESSION['clientid']))
  13.         {  
  14.                 $loginid = $_SESSION['clientid'];
  15.                
  16.                 if (mysql_query("UPDATE client SET client_balance = client_balance - $price WHERE client_balance >= $price AND  client_id = $loginid "))
  17.                 {      
  18.                         mysql_query("SET character_set_results='utf8'");
  19.                         mysql_query("SET NAMES 'utf8'");
  20.                         mysql_query("INSERT INTO `order2`(`order2_text`, `order2_price`, `order2_exp`, `order2_name`, `order2_loginid`, `order2_lan`) VALUES('$text', '$price', '$explain', '$name', '$loginid', '$language')  ");
  21.                         echo "Текст отправлено!";
  22.                 }
  23.                 else
  24.                 {
  25.                         echo "Нет денег!";
  26.                 }
  27.         }
  28.         else
  29.         {
  30.                 echo 'Требуется авторизация';
  31.         }            
  32. }
  33.  
soleg Отправлено: 13 Июля, 2013 - 19:28:54 • Тема: Здравствуйте! не могу записать в БД • Форум: Вопросы новичков

Ответов: 7
Просмотров: 208
Только к чему такое построение запроса ?

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. Построение SQL-оператора
  4.                                                                                 $strSQL = "INSERT INTO email(";
  5.                                                                                 $strSQL = $strSQL . "email, ";
  6.                                                                                 $strSQL = $strSQL . "data, ";
  7.                                                                                 $strSQL = $strSQL . "theme, ";
  8.                                                                                 $strSQL = $strSQL . "text) ";
  9.                                                                                 $strSQL = $strSQL . "VALUES(";
  10.                                                                                 $strSQL = $strSQL . "'$email', ";
  11.                                                                                 $strSQL = $strSQL . "'$date', ";
  12.                                                                                 $strSQL = $strSQL . "'$theme', ";
  13.                                                                                 $strSQL = $strSQL . "'$textarea')";
  14.  

не проще ли записать всё в одну строку?
PHP:
скопировать код в буфер обмена
  1. $strSQL = "INSERT INTO email(email, data, theme, text) VALUES
  2.                         ('$email',
  3.                         '$date',
  4.                         '$theme',
  5.                         '$textarea')";


Ну и сразу советую ознакомиться с понятием SQL injection и как от него защититься. Гугл в этом поможет.
soleg Отправлено: 13 Июля, 2013 - 00:39:40 • Тема: Подпись клиентских сертификатов купленным сертификатом • Форум: Apache и другие веб-серверы

Ответов: 0
Просмотров: 409
Такой вопрос.
Есть сайт авторизация происходит по клиентским сертификатом.Подписываются они самоподписаным сертификатом. И браузер ругается при переходе на сайте.
Сейчас купил сертификат от комодо. Подписываю им. Но при открытия защишенной страницы и указания нужного сертификата выдаёт ошибку
CODE (text):
скопировать код в буфер обмена
  1. ERR_BAD_SSL_CLIENT_AUTH_CERT

Вот такой конфиг хоста
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <VirtualHost %IP%:443>
  3.         SSLEngine on
  4.         SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  5.         SSLCertificateFile /ca.crt
  6.         SSLCertificateKeyFile /ca.key
  7.         SSLCACertificateFile /ca.crt    
  8.          SSLCertificateChainFile /ca.ca-bundle  
  9.         <Directory /var/www/user/data/www/site.ru/>
  10.         SSLVerifyClient require
  11.         </Directory>
  12.         SSLOptions +StdEnvVars +ExportCertData
  13.         ServerName site.ru
  14.         DocumentRoot /var/www/user/data/www/site.ru
  15.         AssignUserID user user
  16.         ErrorLog /var/www/httpd-logs/site.ru.error.log
  17.         ServerAlias site.ru
  18.         ServerAdmin webmaster@site.ru
  19.         php_admin_value open_basedir "/var/www/user/data:."
  20.         php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@site.ru"
  21.         php_admin_value upload_tmp_dir "/var/www/user/data/mod-tmp"
  22.         php_admin_value session.save_path "/var/www/user/data/mod-tmp"
  23.         AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
  24.         AddType application/x-httpd-php-source .phps
  25. </VirtualHost>
  26.  


Если же убрать эти строки
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <Directory /var/www/user/data/www/site.ru/>
  3.         SSLVerifyClient require
  4.         </Directory>
  5.  

То просто выдаёт защищенную страницу без запроса сертификата, при этом показывает что соединение достоверное. т.е. https:

Возник вопрос. А можно ли вообще подписывать клиентские сертификаты не самоподписанным сертификатом?

Если можно, то скажите что делаю не так?

Клиентский сертификат создаю
CODE (text):
скопировать код в буфер обмена
  1.  
  2. openssl req -new -newkey rsa:1024 -nodes -keyout clien01.key  -subj /C=RU/CN=clien01/emailAddress=usr@dm.ru -out clien01.csr
  3. openssl ca -config ca.config -in clien01.csr -out clien01.crt -batch
  4. openssl pkcs12 -export -in clien01.crt -inkey clien01.key -certfile ca.crt -out clien01.p12 -passout pass:q1w2e3
  5.  
soleg Отправлено: 11 Июля, 2013 - 20:01:18 • Тема: Создать архив с паролем через SSH • Форум: Вопросы новичков

Ответов: 2
Просмотров: 124
Необходимо через SSH создать архив под паролем.
Искал в гугле, но ничего толкового не нашёл.

Создаю архив такой командой
CODE (text):
скопировать код в буфер обмена
  1.  
  2. tar -cvzf /var/www/test/tar.gz /var/www/test
  3.  

Архив можно создать любым способом не обязательно tar, для меня главное что бы на него устанавливался пароль.

p.s. прошу прощения, что не в том разделе, просто не нашёл куда лучше запостить вопрос.
soleg Отправлено: 11 Июля, 2013 - 13:48:45 • Тема: Как сохранить параметры get при переадресации на текущую страницу(php)? • Форум: Вопросы новичков

Ответов: 6
Просмотров: 484
ну раз ты при переадресации на этот же скрпт отправляешь параметр
то происходит зацикливание.

Нужно убрать этот параметр из запроса
PHP:
скопировать код в буфер обмена
  1.  
  2. $query_string = "";
  3. foreach($_GET as $param => $value)
  4. {
  5.         if($param == 'create_diapazon') continue;
  6.         $query_string .= ($query_string) ? "&$param=$value" : "$param=$value";
  7. }
  8.  
  9. header("Location: ".$_SERVER['PHP_SELF'].'?'.$query_string);
  10. exit();
  11.  
soleg Отправлено: 11 Июля, 2013 - 09:47:04 • Тема: помогите с .htaccess и ЧПУ • Форум: Вопросы новичков

Ответов: 17
Просмотров: 660
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine On
  2.  
  3. #указываем директории которые будут игнорироваться реврайтом.
  4. RewriteCond %{REQUEST_URI} !^(/images/|/css/|/javascript/)$
  5.  
  6. RewriteRule ^([a-zA-Z0-9_-]+)/$  /$1.php [QSA,L]
  7. RewriteRule ^([a-zA-Z0-9_-]+)$  /$1.php [QSA,L]
  8.  
  9.  
  10.  


[QSA,L] - позволяет данному условию принимать GET параметры. Т.е. можно использовать такого вида линки

CODE (html):
скопировать код в буфер обмена
  1. site.ru/login/?param1=value
soleg Отправлено: 11 Июля, 2013 - 03:01:05 • Тема: редактирование конфига • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1226
print322 пишет:
VenZell пишет:

<?PHP
$filestring = file_get_contents($file);
$option = (substr(strstr($filestring, 'mp_friendlyfire'), 0, 15));
$value = (substr(strstr($string, 'mp_friendlyfire'), 16, 1));
?>
<label><?PHP echo $option; ?></label><input type="text" value="<?PHP echo $value; ?>">

А вдруг значение слово какое нибудь здесь не угадаешь что там именно вбито будет. нужно чтобы выводило текущее значение этого параметра




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $paramName = 'mp_footsteps';
  3.  
  4. $filestring = file_get_contents($file);
  5. // Проверяем является ли значение строковым
  6. // Если не ошибаюсь строковые значения беруться в ковычки ""
  7. preg_match('|'.$paramName.'\s+"(.*)"|', strstr($filestring, $paramName), $isStrinsOption);
  8. // Если значени взято в ковычки "" значит строковое значение, ничего не делаем. выводим как есть
  9. if(isset($isStrinsOption[1]))
  10. {
  11.         $paramValue = $isStrinsOption[1];
  12. }
  13. else
  14. {
  15.         $data = explode(" ", preg_replace("/\s{2,}/", " ", strstr($filestring, $paramName)));
  16.         $paramValue = $data[1];
  17. }
  18. ?>
  19. <label><?PHP echo $paramName; ?></label><input name="<?PHP echo $paramName; ?>" type="text" value="<?PHP echo $paramValue; ?>">


Вроде работает)
soleg Отправлено: 11 Июля, 2013 - 01:44:33 • Тема: Динамические списки c Ajax, проблема • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1637
Данная строка
CODE (javascript):
скопировать код в буфер обмена
  1.  $('#currency option').each(function (){ //пытаемся вывести значения <select id="currency">
  2.                 alert(this.value);
  3.         });

Выполняется не дожидаясь выполнения этой функции

CODE (javascript):
скопировать код в буфер обмена
  1. function() { //здесь не разбираю пришедшие данные, а для упрощения пишу что должно добавляться в option для России
  2.             var options = '';
  3.             options += '<option value="usd">USD</option>';
  4.                         options += '<option value="rub">RUB</option>';
  5.             $('#currency').html(options);
  6.             $('#currency').attr('disabled', false);
  7.         }

поэтому и выводит старое значение.

Вот так уже выводит новое

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function () {
  2.     $('#currency').attr('disabled', true);
  3.     $('#currency').html('<option>загрузка...</option>');
  4.     $.get(
  5.         'link.php', //куда отправляем запрос
  6.         'region=' + $('#region :selected').val(), //отправляемые данные - id выбранного региона
  7.         function() { //здесь не разбираю пришедшие данные, а для упрощения пишу что должно добавляться в option для России
  8.             var options = '';
  9.             options += '<option value="usd">USD</option>';
  10.                         options += '<option value="rub">RUB</option>';
  11.             $('#currency').html(options);
  12.             $('#currency').attr('disabled', false);
  13.             $('#currency option').each(function (){ //пытаемся вывести значения <select id="currency">
  14.                 alert(this.value);
  15.                 });
  16.         },
  17.         "json"
  18.     );
  19.  
  20.  
  21. });


добавь на страницу
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <a href="javascript:void(0);" onclick="alert($('#currency').html());">click</a>
  3.  

что бы убедиться что значение полностью меняется на полученное гетом.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB