PHP.SU

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

Страниц (81): В начало « ... 22 23 24 25 [26] 27 28 29 30 ... » В конец

> Найдено сообщений: 1209
evgenijj Отправлено: 14 Декабря, 2007 - 09:22:11 • Тема: name-based виртуальный хостинг • Форум: Apache и другие веб-серверы

Ответов: 2
Просмотров: 608
Надо продублировать директивы основного сервера в секции виртуальных хостов
PHP:
скопировать код в буфер обмена
  1.  
  2. NameVirtualHost 127.0.0.1:80
  3. #
  4. #   localhost
  5. #
  6. <VirtualHost 127.0.0.1:80>
  7.    ServerAdmin admin@localhost
  8.    ServerName localhost
  9.    DocumentRoot "C:/work/localhost/www"
  10.    ServerAlias www.site.ru www.host.ru
  11.    ScriptAlias /cgi-bin/ "C:/work/localhost/cgi/"
  12.    ScriptAlias /cgi/ "C:/work/localhost/cgi/"
  13.    ErrorLog C:/work/localhost/error.log
  14.    CustomLog C:/work/localhost/access.log common
  15. </VirtualHost>
  16. #
  17. #   localhost1
  18. #
  19. <VirtualHost 127.0.0.1:80>
  20.    ServerAdmin admin@localhost1
  21.    ServerName localhost1
  22.    DocumentRoot "C:/work/localhost1/www"
  23.    ServerAlias www.site1.ru www.host1.ru
  24.    ScriptAlias /cgi-bin/ "C:/work/localhost1/cgi/"
  25.    ScriptAlias /cgi/ "C:/work/localhost1/cgi/"
  26.    ErrorLog C:/work/localhost1/error.log
  27.    CustomLog C:/work/localhost1/access.log common
  28. </VirtualHost>
  29. #
  30. #   localhost2
  31. #
  32. <VirtualHost 127.0.0.1:80>
  33.    ServerAdmin admin@localhost2
  34.    ServerName localhost2
  35.    DocumentRoot "C:/work/localhost2/www"
  36.    ServerAlias www.site2.ru www.host2.ru
  37.    ScriptAlias /cgi-bin/ "C:/work/localhost2/cgi/"
  38.    ScriptAlias /cgi/ "C:/work/localhost2/cgi/"
  39.    ErrorLog C:/work/localhost2/error.log
  40.    CustomLog C:/work/localhost2/access.log common
  41. </VirtualHost>
  42.  
evgenijj Отправлено: 13 Декабря, 2007 - 09:15:32 • Тема: Пробелы в БД и текстовые поля • Форум: Программирование на PHP

Ответов: 5
Просмотров: 1138
driezer пишет:
Пример:
в БД:
adress: "_Народного_Ополчения_ул.,_2,_корп._1" (где _ - пробелы)

в текстовом поле видно: "Народного" (и все!)

Подскажите как решить проблему!

Это потому, что некоторые разгильдяи не используют кавычки в атрибуте value тега input. По неведомым причинам они считают ниже своего достоинства следовать рекомендациям W3C, а потом часами ищут вот такие ошибки.

< input type="text" name="address" value="Народного Ополчения ул., 2, корп. 1" />

P.S. Перед тем, как записывать переменную в текстовое поле input, надо обработать ее с помощью функции htmlspecialchars() -- на случай, если переменная (строка) содержит кавычки. Иначе может получиться такая ситуация:

< input type="text" name="organization" value="ЗАО "Рога и копыта" />
evgenijj Отправлено: 12 Декабря, 2007 - 09:14:20 • Тема: Порезать короткие абзацы • Форум: Программирование на PHP

Ответов: 6
Просмотров: 437
PHP:
скопировать код в буфер обмена
  1.  
  2. $text = preg_replace( '#<p[^>]*>.{0,20}?<\\/p>#is', '', $text );
  3.  
evgenijj Отправлено: 11 Декабря, 2007 - 14:02:35 • Тема: Вывод обьявления • Форум: Программирование на PHP

Ответов: 5
Просмотров: 371
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  if ( !isset( $_GET['action'] ) ) $_GET['action'] = 'showCtgList';
  5.  $actions = array( 'showCtgList', 'showMsgList', 'showMsgCtg', 'showMsg', 'addMsgForm', 'addMsg' );
  6.  if ( !in_array( $_GET['action'], $actions ) ) $_GET['action'] = 'showCtgList';
  7.  switch( $_GET['action'] ) {
  8.    case 'showCtgList': // Список категорий
  9.      showCtgList();
  10.         break;
  11.    case 'showMsgList': // Список всех сообщений
  12.      showMsgList();
  13.         break;
  14.    case 'showMsgCtg': // Список всех сообщений в категории
  15.      showMsgCtg();
  16.         break;
  17.    case 'showMsg':  // Показать сообщение
  18.      showMsg();
  19.         break;    
  20.    case 'addMsgForm': // Форма для добавления сообщения
  21.      addMsgForm();
  22.         break;
  23.    case 'addMsg': // Добавить сообщений
  24.      addMsg();
  25.  }
  26.  
  27.  function showCtgList()
  28.  {
  29.    $query = "SELECT id_ctg, title FROM categories WHERE 1";
  30.    $res = mysql_query( $query );
  31.    echo '<ul>';
  32.    while ( $ctg = mysql_fetch_array( $res ) ) {
  33.      echo '<li><a href="'.$_SERVER['PHP_SELF'].'?action=showMsgCtg&idCtg='.
  34.              $ctg['id_ctg'].'">'.$ctg['title'].'</a></li>';
  35.    }
  36.    echo '</ul>';
  37.  }
  38.  
  39.  function showMsgCtg()
  40.  {
  41.    if ( !isset( $_GET['idCtg'] ) ) {
  42.      header( 'Location: '.$_SERVER['PHP_SELF'];
  43.      die();
  44.    }
  45.    $idCtg = (int)$_GET['idCtg'];
  46.    $query = "SELECT id_msg, title FROM messages WHERE id_ctg=".$idCtg." ORDER BY puttime DESC";
  47.    $res = mysql_query( $query );
  48.    echo '<ul>';
  49.    while ( $msg = mysql_fetch_array( $res ) ) {
  50.      echo '<li><a href="'.$_SERVER['PHP_SELF'].'?action=showMsg&idMsg='.
  51.              $msg['id_msg'].'">'.$msg['title'].'</a></li>';
  52.    }
  53.    echo '</ul>';
  54.  }
  55.  
  56.  function showMsgList()
  57.  {
  58.    $query = "SELECT id_msg, title FROM messages WHERE 1 ORDER BY puttime DESC";
  59.    $res = mysql_query( $query );
  60.    echo '<ul>';
  61.    while ( $msg = mysql_fetch_array( $res ) ) {
  62.      echo '<li><a href="'.$_SERVER['PHP_SELF'].'?action=showMsg&idMsg='.
  63.              $msg['id_msg'].'">'.$msg['title'].'</a></li>';
  64.    }
  65.    echo '</ul>';
  66.  }
  67.  
  68.  function showMsg()
  69.  {
  70.    if ( !isset( $_GET['idMsg'] ) ) {
  71.      header( 'Location: '.$_SERVER['PHP_SELF'];
  72.      die();
  73.    }
  74.    $idMsg = (int)$_GET['idMsg'];
  75.    $query = "SELECT title, body FROM messages WHERE id_msg=".$idMsg."";
  76.    $res = mysql_query( $query );
  77.    $msg = mysql_fetch_array( $res );
  78.    echo '<h1>'.$msg['title'].'<h1>';
  79.    echo '<div>'.$msg['body'].'<div>';
  80.  }
  81.  
  82.  function addMsgForm()
  83.  {
  84.    echo '<h1>Добавить сообщение</h1>';
  85.    echo '<form name="addMsgForm" action="'.$_SERVER['PHP_SELF'].'?action=addMsg" method="POST">'
  86.    $query = "SELECT id_ctg, title FROM categories WHERE 1";
  87.    $res = mysql_query( $query );
  88.    echo '<select name="idCtg">';
  89.    while ( $ctg = mysql_fetch_array( $res ) ) {
  90.      echo '<option value="'.$ctg['id_ctg'].'">'.$ctg['title'].'</li>';
  91.    }
  92.    echo '</select>';
  93.    echo '<br/>';
  94.    echo 'Заголовок: <input type="text" name="title" value="" />';
  95.    echo '<br/>';
  96.    echo 'Сообщение: <textarea name="body"></textarea>';
  97.    echo '<br/>';
  98.    echo '<input type="submit" name="submitForm" value="Добавить" />';
  99.    echo '</form>';
  100.  }
  101.  
  102.  function addMsg()
  103.  {
  104.    if ( $_SERVER['REQUEST_METHOD'] != 'POST' ) {
  105.      header( 'Location: '.$_SERVER['PHP_SELF'];
  106.      die();  
  107.    }
  108.    $idCtg = (int)$_POST['idCtg'];
  109.    $title = mysql_escape_string( $_POST['title'] );
  110.    $body  = mysql_escape_string( $_POST['body'] );
  111.    $query = "INSERT INTO messages
  112.             (
  113.                         id_msg,
  114.                         id_ctg,
  115.                         title,
  116.                         body,
  117.                         puttime
  118.                         )
  119.                         VALUES
  120.                         (
  121.                         NULL,
  122.                         ".$idCtg.",
  123.                         '".$title."',
  124.                         '".$body."',
  125.                         NOW()
  126.                         )";
  127.    mysql_query( $query );
  128.    header( 'Location: '.$_SERVER['PHP_SELF'] );
  129.  }
  130.  
  131.  ?>
  132.  
evgenijj Отправлено: 11 Декабря, 2007 - 09:02:30 • Тема: Сложный sql запрос, немогу с кавычками разобраться • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 390
wmz38 пишет:
EuGen, в базе `cart` нет тех полей что красным цветом помечены.

А вот это нам абсолютно неважно. Вот этот запрос

SELECT name, rule, 'ЗАО "Рога и копыта"', 'Остап Бендер', 'Шура Балаганов', NOW( )
FROM `forums`
WHERE id_forum=1

правильный, при том, что в таблице forums есть только три поля
id_forum
name
rule
evgenijj Отправлено: 10 Декабря, 2007 - 15:59:52 • Тема: Функция, записывающая кол-во найденных символов в строке • Форум: Программирование на PHP

Ответов: 2
Просмотров: 361
http://php.su/functions/?substr-count
Количество вхождений подстроки
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( substr_count( $message, '[b]' ) != substr_count( $message, '[/b]' ) )
  3. {
  4. .........................
  5. }
  6.  

Одно НО -- поиск ведется с учетом регистра символов. Так что, скорее всего придется использовать регулярные выражения.

Кстати, в phpBB есть проверка на парность. И перед отправкой сообщения все непарные теги дополняются.
PHP:
скопировать код в буфер обмена
  1.  
  2. function bbstyle(bbnumber) {
  3.   var txtarea = document.getElementById("sendMessageForm").message;
  4.  
  5.   txtarea.focus();
  6.   donotinsert = false;
  7.   theSelection = false;
  8.   bblast = 0;
  9.  
  10.   if (bbnumber == -1) { // Close all open tags
  11. ....................................................................
  12.  
evgenijj Отправлено: 09 Декабря, 2007 - 18:46:41 • Тема: Че не так? • Форум: Корзина

Ответов: 7
Просмотров: 4578
Novocaine пишет:
...Думал тут хоть есть люди которые умеют что то, оказалось не так

Не в коня корм...

SELECT DISTINCT hour FROM counter WHERE `site`=5 && DATE_FORMAT( date, '%d.%m' ) = '09.12';
Убирай вот эту фигню
$query=@mysql_query(...);
$arra=@mysql_fetch_array($query)
В php.ini выставляем
display_errors=On
error_reporting=E_ALL
И действуй в соответствии с инструкциями
http://phpfaq[dot]ru/debug
evgenijj Отправлено: 09 Декабря, 2007 - 15:06:15 • Тема: Че не так? • Форум: Корзина

Ответов: 7
Просмотров: 4578
Я не знаю, с какой БД ты работаешь, но вот этот запрос вызывает серьезные сомнения
SELECT DISTINCT hour FROM counter where `site`=5 && `date`=09.12
Он просто ничего не возвращает, и при попытке обращения к неопределенной переменной $perc выдается предупреждение об ошибке.
evgenijj Отправлено: 08 Декабря, 2007 - 12:31:47 • Тема: Только английские символы, цифры и знак подчеркивания • Форум: Регулярные выражения

Ответов: 4
Просмотров: 651
PHP:
скопировать код в буфер обмена
  1.  
  2. $file[] = 'File.zip';
  3. $file[] = 'Мой архив.zip';
  4. $file[] = 'archive_2.rar';
  5. $file[] = 'archive-2.rar';
  6. $file[] = 'Еще_один_архив.zip';
  7. $pattern = "/^[_a-z0-9]+\.(rar|zip)$/i";
  8. foreach( $file as $name ) {
  9.   if ( preg_match( $pattern, $name ) )
  10.     echo $name.' - ok<br/>';
  11.   else
  12.     echo $name.' - wrong<br/>';
  13. }
  14.  

Результат
PHP:
скопировать код в буфер обмена
  1.  
  2. File.zip - ok
  3. Мой архив.zip - wrong
  4. archive_2.rar - ok
  5. archive-2.rar - wrong
  6. Еще_один_архив.zip - wrong
  7.  
evgenijj Отправлено: 07 Декабря, 2007 - 20:45:53 • Тема: Постраничная новигация • Форум: Обсуждение статей

Ответов: 38
Просмотров: 38041
Novichok пишет:
В MS SQL отсутствует нужный опертор limit. как можно поменять запрос для MS SQL
$result = mysql_query("SELECT * FROM post LIMIT $start, $num");
Заранее благодарю за ответ.

Я много раз натыкался на такой вопрос -- как реализовать конструкцию LIMIT в MS SQL Server? Ответ один -- хранимая процедура. Поищи через Google или Yandex -- наверняка найдешь ответ.
evgenijj Отправлено: 06 Декабря, 2007 - 21:12:45 • Тема: проблема с загрузкой файла на сервер • Форум: Программирование на PHP

Ответов: 9
Просмотров: 547
У меня все работает
PHP:
скопировать код в буфер обмена
  1.  
  2.  <html>
  3.  <head>
  4.  <title>Image Uploader</title>
  5.  <style type="text/css">
  6.  BODY{
  7.   background:aliceBlue;
  8.   font-family:Arial, Helvetica, sans-serif;
  9.   font-size:14px;
  10.   color:#69f;
  11.  }
  12.  </style>
  13.  </head>
  14.  <body>
  15.  <?PHP
  16.  if($_POST['submit']==' OK '){
  17.         if(copy($_FILES['uploadfile']['tmp_name'], 'images/'.$_FILES['uploadfile']['name'])){
  18.                 echo'<h3>Файл успешно загружен на сервер!</h3>';
  19.         }else{
  20.                 echo'<h3>Не удалось загрузить файл на сервер!</h3>';
  21.         }
  22.         echo'<h3>Информация о загруженном на сервер файле:</h3>';
  23.         echo'<b>Оригинальное имя загруженного файла:</b> '.$_FILES['uploadfile']['name'].'<br/>';
  24.         echo'<b>Mime-тип загруженного файла:</b> '.$_FILES['uploadfile']['type'].'<br/>';
  25.         echo'<b>Размер загруженного файла в байтах:</b> '.$_FILES['uploadfile']['size'].'<br/>';
  26.         echo'<b>Временное имя файла:</b> '.$_FILES['uploadfile']['tmp_name'].'<br/>';
  27.  }
  28.  ?>
  29.  <form enctype="multipart/form-data" method="post">
  30.  <input type="hidden" name="MAX_FILE_SIZE" value="256000">
  31.  <input name="uploadfile" type="file">
  32.  <input type="submit" name="submit" value=" OK ">
  33.  </form>
  34.  </body>
  35.  </html>
  36.  
evgenijj Отправлено: 06 Декабря, 2007 - 16:58:49 • Тема: sendmail • Форум: FreeLance

Ответов: 5
Просмотров: 3063
http://forum.php.su/topic.php?fo...m=35&topic=4
Отправка почты средствами PHP
Загрузка файлов на сервер
evgenijj Отправлено: 05 Декабря, 2007 - 20:01:57 • Тема: сессия не работает!!!!!! • Форум: Программирование на PHP

Ответов: 6
Просмотров: 1734
Ты меня извини, но то что ты написала -- это бред тяжело больного человека. Хуже того -- это произвольно выдранные из разных мест куски кода, по которым ничего нельзя понять. Во-первых, как я уже говорил, ты обращаешься к переменным сессии, даже ее не стартанув. Во-вторых, что означают твои слова "эти файлики запускаются вначале каждой страницы"? На каждой странице сайта ожидаются данные формы?
PHP:
скопировать код в буфер обмена
  1.  
  2.  if(isset($_POST['login']))
  3.     $action = 'login';
  4.  $_SESSION['action'] = $action;
  5.  

Если же нет, то переменная $_SESSION['action'] не определена. Дальше - хуже. Ты сравниваешь неопределенную преременную $action со строкой
PHP:
скопировать код в буфер обмена
  1.  
  2.  if ($action == 'login') {
  3.  
  4.      if (@$_POST['referer'] and $_USER['logged_in'])
  5.          header('Location: '.$_POST['referer']);
  6.  }
  7.  

И так далее:
PHP:
скопировать код в буфер обмена
  1.  
  2.  if (!is_null($login) and !is_null($password)) {
  3.   .......всякие присваявания переменным......
  4.  }
  5.  
  6.  
  7.  $_SESSION['user'] =& $_USER;
  8.  $_SESSION['login'] =$login;
  9.  $_SESSION['password'] =$password;
  10.  

Сначала идет проверка, что переменные $login и $password определены. И это правильно. Так почему дальше нет этой проверки? И (вполне возможно) неопределенные преременные записываются в сессию?

Так что вопрос не в том, что (КАРАУЛ!) сессия не работает, а в том, что нарушена логика скрипта. Неплохо бы еще научиться отлаживать свои творения.

http://phpfaq[dot]ru/debug
http://phpfaq[dot]ru/sessions

Теперь главное . Выполни небольшой скрипт
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
  4. echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
  5. echo "
  6. <a href=".$_SERVER['PHP_SELF'].">обновить";
  7. ?>
  8.  

Если значение счетчика увеличивается, значит с сессиями все в порядке. Тогда описывай задачу, которую надо решить -- будем думать.
evgenijj Отправлено: 05 Декабря, 2007 - 16:34:46 • Тема: сессия не работает!!!!!! • Форум: Программирование на PHP

Ответов: 6
Просмотров: 1734
PHP:
скопировать код в буфер обмена
  1.  
  2. $login    = $_SESSION['login'];
  3. $password = $_SESSION['password'];
  4. ...........................................
  5.  

Может быть, прежде чем обращаться к переменным сеcсии, надо ее сначала стартануть?
PHP:
скопировать код в буфер обмена
  1.  
  2. .........................................
  3. $login    = $_SESSION['login'];
  4. $password = $_SESSION['password'];
  5.  
evgenijj Отправлено: 05 Декабря, 2007 - 13:38:53 • Тема: намогу сложить элементарно 1 +1.. =(( • Форум: Программирование на PHP

Ответов: 5
Просмотров: 323
Я тебе как говорил?
SELECT sid FROM cart WHERE id=(SELECT MAX(id) FROM cart);
SELECT sid FROM cart WHERE id=(SELECT id FROM cart ORDER BY id DESC LIMIT 1);
А ты что написал?
SELECT * FROM `cart` WHERE `id` = ( 'SELECT MAX(id) FROM cart' );
Фактически, это выглядит так: найти в таблице cart запись, первичный ключ которой id (ЧИСЛО!!!) равен строке 'балалайка'
SELECT * FROM `cart` WHERE `id` = 'балалайка';

Страниц (81): В начало « ... 22 23 24 25 [26] 27 28 29 30 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB