PHP.SU

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

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

> Найдено сообщений: 109
Opposite Отправлено: 08 Марта, 2012 - 20:24:37 • Тема: Проблема с strpos • Форум: Вопросы новичков

Ответов: 16
Просмотров: 919
DelphinPRO пишет:
Opposite пишет:
Нет. Это же юникод : там нет разницы - все символы 2 байта


utf-8 != unicod
там переменная длина символов - от 1 до 6 байтов. я выше писал.
ASCII симолы занимают 1 байт, и ошибка не проявляется если в тексте нет национальных символов.

поэтому и рекомендовали выше использовать mb_* - они корректно работают со строками


Спасибо, буду знать. Раньше думал, что одно и то же Хм
Opposite Отправлено: 08 Марта, 2012 - 20:15:56 • Тема: Проблема с strpos • Форум: Вопросы новичков

Ответов: 16
Просмотров: 919
Т.е. ты нам не всю функцию кинул? А ну ОК Улыбка
DelphinPRO пишет:
вы русский текст через форм отправляли?

Нет. С русским и правда удваивает Хм
PHP:
скопировать код в буфер обмена
  1.  
  2. $find = mb_strpos($string, '<br />', 0, 'utf8');
  3.  

Вот это решает проблему
Opposite Отправлено: 08 Марта, 2012 - 19:41:15 • Тема: система комментариев на сайте • Форум: Вопросы новичков

Ответов: 2
Просмотров: 157
Мне кажется, у тебя проблемы конкретно в php.


Где кавычки у индекса?
PHP:
скопировать код в буфер обмена
  1.  
  2. $result2=mysql_query ('Select `text` FROM `comments` WHERE `imageid` ='.$row['id'],$db);
  3.  

Нет закрывающей кавычки в конце sql запроса, где ты значение imageid описывал.

Если хочешь вывести все комментарии, то делай так
PHP:
скопировать код в буфер обмена
  1.  
  2. while($row = mysql_fetch_assoc($result2)) {
  3. echo $row['text'] . '<br />';
  4. }
  5.  


И еще вместо isset советую использовать !empty т.к. он понадежнее в плане данных, полученных из формы
А вообще в начале каждого скрипта пиши error_reporting(E_ALL) и отладка тебе в помощь))

Будь внимательнее. Ну а в аяксе я не шарю Хм
Opposite Отправлено: 08 Марта, 2012 - 19:27:47 • Тема: Проблема с strpos • Форум: Вопросы новичков

Ответов: 16
Просмотров: 919
index.php :
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form action="test1.php" method="post">
  3.     <textarea name="text"></textarea>
  4.     <input type=submit value=Отправить>
  5. </form>
  6.  

test1.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $text = $_POST['text'];
  4. $text = nl2br($text);
  5.  
  6. text_r($text);
  7.  
  8. function text_r($string) {
  9.    $find = mb_strpos($string, '<br />');
  10.    if ($find === false) {
  11.        echo 'нет такого';
  12.    } else {
  13.        echo 'Перенос в позиции '.$find.'';
  14.    }
  15.  
  16. }
  17. ?>
  18.  


Я менял кодировки, я менял strpos на mb_strpos. Результат одинаковый и правильный. Как такое возможно, что у тебя он удваивается Не понял
Opposite Отправлено: 08 Марта, 2012 - 19:13:08 • Тема: Защита от HTTP флуда • Форум: Вопросы новичков

Ответов: 11
Просмотров: 367
Уууу, ну это тогда следи за парой "количество" <-> "время". Если ты чат строчишь, то получается, что так. Хотя вконтакте такой сервис, мне кажется там даже сервер связан с php так, что, если выдернуть от туда php, сервер перестанет работать Хм Уж слишком непонятны мне там некоторые вещи
Opposite Отправлено: 08 Марта, 2012 - 19:07:54 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
duante пишет:
Ну я вообще считаю, что мешать HTML c PHP - дурно в шаблонах.

Вообще, php изначально был языком, встраиваемый в html. Я не знаю, кто додумался до smarty и т.п., но это все одновременно с облегчением работы программиста, усложняет работу компьютера. Ни в одном другом языке нет такого извращения с шаблонизаторами, как в php, хотя нативный php - лучший шаблонизатор среди всех, что сделаны на его основе: все шаблонизаторы зажимают вас в рамки своих возможностей, хотя в php их намного больше, чем в том же Smarty.
ВЫ НАМЕРЕННО ОГРАНИЧИВАЕТЕ СЕБЯ. ЗАЧЕМ? Хм
Opposite Отправлено: 08 Марта, 2012 - 16:44:25 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
caballero пишет:
MVC в вебе - редкосное извращение.
Какую модель тогда использовать? Как вы отделяете логику от представления? Использовать smarty и подобную муть я не собираюсь
Opposite Отправлено: 08 Марта, 2012 - 16:21:35 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
Прости, не xss, а xslt. Забылся Хм
(Добавление)
Можешь посоветовать какие книжки или статейки по MVC ? Мне бы пригодилось Улыбка
Opposite Отправлено: 08 Марта, 2012 - 16:17:14 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
Цитата:
если только по минимуму в шаблонах

Мммм, используешь xslt или что-то другое для отделения логики от представления? Просто я описал эти примеры как раз именно для шаблонов, ибо php сам по себе отличный шаблонизатор.
Opposite Отправлено: 08 Марта, 2012 - 16:12:10 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
Насчет минимализма, не исключено. Хм Для программиста, пусть даже начинающего, я не считаю это недостатком Подмигивание
Цитата:
и имхо, загромождением кода и ухудшением читабельности можно считать альтернативный синтаксис. (endif, endwhile, endfor итд)

Ты предпочитаешь расставлять фигурные скобки?

Не знаю, как тебе, но мне такая запись глаза режет.
Opposite Отправлено: 08 Марта, 2012 - 15:57:24 • Тема: Защита от HTTP флуда • Форум: Вопросы новичков

Ответов: 11
Просмотров: 367
Радость почему бы и нет
Opposite Отправлено: 08 Марта, 2012 - 15:52:05 • Тема: Защита от HTTP флуда • Форум: Вопросы новичков

Ответов: 11
Просмотров: 367
Через вебсервер. Если нет возможности, то делай механичеки : только через БД делать глупо - долгие обращения + огромное количество запросов. Делай еще через Cookie, а для особо умных юзеров еще через БД или файлы ( через файлы быстрее работает ). Но по мне таки это глупо, легко обойти, но работает Улыбка
Opposite Отправлено: 08 Марта, 2012 - 15:29:15 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
Я не претендую на премию за самый лучший вопрос/опрос. Просто иногда непонятен смысл появления счетчиков в коде за счет циклов while/for, когда можно обойтись без них, используя цикл foreach. Хм

Цитата:
while я использую только для работы с ресурсами, например, для работы с feth_* функциями БД

Я не рассматриваю этот вариант принципиально т.к. он равноценен варианту с each(), ибо и там, и там происходит сдвиг внутреннего указателя.

Два варианта:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php for($i = 0; $i < count($fruits); $i++): ?>
  2. <td><?php echo $fruits[$i]; ?></td>
  3. <?php endfor; ?>


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php foreach ($fruits as $fruit): ?>
  2. <td><?php echo $fruit; ?></td>
  3. <?php endforeach; ?>


По мне, второй вариант куда читабельнее, плюс ко всему мы не вызываем каждую итерацию функцию count. Да, мы можем ее вынести в отдельную переменную, но опять же, по мне таки, это - загромождение кода.

Цитата:

Цитата:
Да, он непригоден, если необходимо сделать выборку элементов на четных позициях


почему? вот пример
PHP:
скопировать код в буфер обмена
  1. foreach($rgNumArray as $iKey => $mValue){
  2.     if($iKey%2 !== 0) continue;
  3.     echo $iKey." => ".(string)$mValue;
  4. }



И тут я не согласен с тобой. Это уже нагромождение. Проще сделать for/while с инкриментом не +1, а +2, при этом отказавшись от ненужного деления на 2 и сравнения с нулем : да, это всего лишь 2 операции, но пусть будет не 10 элементов, а 10^9 - называется "почувствуй разницу".
Opposite Отправлено: 08 Марта, 2012 - 14:55:58 • Тема: Циклы for и while • Форум: Вопросы новичков

Ответов: 32
Просмотров: 997
Я, возможно, как более-менее понимающий человек в коде, задался одним вопросом ...
Просидев немного на форуме новичков, я повидал немало кода, и за все это время я заметил одну особенность: большинство отвергает цикл foreach и предпочитают ему циклы for, while, которые, как мне кажется, ухудшают читабельность кода. По мне таки цикл foreach выглядит элегантнее. Да, он непригоден, если необходимо сделать выборку элементов на четных позициях, но когда нет такого условия, почему им пренебрегают? Растерялся

Мне стало интересно, какой цикл вы предпочтете : for/while ( я считаю их равнозначными циклами ) или foreach ( цикл while( ... = each()) в рассмотрение не берем ).
Opposite Отправлено: 07 Марта, 2012 - 23:46:13 • Тема: Вывод блока по типу страницу • Форум: Вопросы новичков

Ответов: 7
Просмотров: 271
Снова ничего не понял толком, но загружать методы классов ненужными для самих объектов этого класса проверками на тип, я думаю, не стоит. Уж лучше сделать 1 абстрактный класс и n - классов под n - типов, наследующих абстрактный. А там уже проверяй что к чему.

Но все равно уточни свой вопрос) Растерялся я ничего не понял Растерялся

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB