Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 44 из 64<  1 ... 41  42  43  44  45  46  47 ... 64  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Спасибо!

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!



Партнер
 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Можно ли вывести элемент массива, если массив - член объекта?

<?php
class basic
{
var $basicarray;
function set_basicarray_data()
{
$this->basicarray=array('tarja');
$this->basicarray[1]="jaelementik";
$this->basicarray[2]="jatozhe";
}
}

$jetoklass=new basic;
$jetoklass->set_basicarray_data();
echo "$jetoklass->basicarray[0] $jetoklass->basicarray[1] $jetoklass->basicarray[2] ";
$notinclass=array('blah','alive');
echo "$notinclass[0] $notinclass[1]";
?>

красная строка выводит: Array[0] Array[1] Array[2]
зелёная - выводит более желанный вариант...




Пока что решил проблему так:
// этот метод пихнул внутрь класса
function WHEREIFARRAY($startindex,$endindex)
{
if(is_int($startindex) && is_int($endindex))
{
while($startindex<$endindex)
{
if (isset($this->basicarray[$startindex])) {echo $this->basicarray[$startindex]; }
$startindex++;
}// enf of while
}// end of IF TRUE
}

//затем снаружи
$jetoklass->WHEREIFARRAY(0,2);

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
там у тебя засада с парсером внутри кавычек двойных, надо через конкатенацию делать, типа
Код:
echo $jetoklass->basicarray[0]." ".$jetoklass->basicarray[1]." ".$jetoklass->basicarray[2];

это вообще известная багофича пхпшная, всякие шаблоны ужасно из-за неё выглядят, с миллионами точек и кавычек


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
Я не помню поднимал ли я вопрос о собаках, но вот любопытно, есть ли в этом топике те кто считают что они зло независимо от ситуации ?

Несколько размышлял на эту тему, и каждый раз приходил к разным выводам.

Берём к примеру совершенно стандартный код. (вылизанный до полного удовлетворения)
Код:
<?php
$test = isset($_GET['test']) && ctype_digit($_GET['test']) ? $_GET['test'] : "0";
?>

Казалось бы, всё правильно.

Так вот недавно меня смутил этот код, у меня появился вопрос "а нафига isset нужен то в данном конкретном случае ?"

Нас ведь интересует ctype_digit, не логичнее ли написать просто
Код:
<?php
$test = ctype_digit(@$_GET['test']) ? $_GET['test'] : "0";
?>

Мы же не на ASM пишем, и не на Си, нас ведь (в этом случае) вовсе не интересует есть ли переменная, нас интересует только есть ли в ней только цифры (в противном случае нас совершенно не интересует есть ли она вообще)
В РНР если переменная не существует но мы пытаемся её читать, в ней будет пусто, а не рандомные символы/строки/итд (отличии пример от ASM)

Аналогично и другие примеры типа
Код:
<?php
function my_fucky_error($string) {
   die($string);
}

$doc_id = ctype_digit(@$_GET['doc_id'])
   ? $_GET['doc_id']
   : my_fucky_error('Document ID is not a number');

$username = strlen(@$_POST['username']) >= 3
   ? $_POST['username']
   : my_fucky_error('Short or empty username');

$sort = in_array(@$_GET['sort'], array('ASC', 'DESC'))
   ? $_GET['sort']
   : my_fucky_error('Oh my God, they killed Kenny!');
?>


Кто что думает ?
(лыжи не едут, или я ... ?)

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Junior
Статус: Не в сети
Регистрация: 22.09.2009
Здравствуйте!
Есть у меня коекакие затруднения. Хотел бы узнать для начала поможет ли мне ктонибудь?
Проблема с базой. а точнее с выводом информации из базы.
Здесь походу очень редко бывают? :spy:

_________________
2500.2.1950.500.amdoczxhitachi


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
user9549 писал(а):
поможет ли

Помогут советом, всё за тебя само собой делать не будут...

user9549 писал(а):
редко бывают?

Постоянно все тут, просто интересных мыслей нет, вот и молчим...

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Junior
Статус: Не в сети
Регистрация: 22.09.2009
о уже хорош что тут ктото бывает.
Я только начинаю рнр учить но уже застрял. и проблема непонятная.
Vladsonзавтра спрошу. и наверное не раз еще :D

_________________
2500.2.1950.500.amdoczxhitachi


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Как веб сервер работает с файлами, которые принимает от клиента по http? Он получает файл, записывает его во временную директорию, а затем смотрит, что-же PHP скрипт должен делать с этим файлом? Или файл находится в оперативной памяти, всё время, пока выполняется php скрипт, к которому был отправлен пост запрос с файлом?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
moty писал(а):
получает файл, записывает его во временную директорию

PHP скрипт должен либо игнорировать (тогда он сотрётся) или переместить из временной папки в постоянную.

moty писал(а):
Или файл находится в оперативной памяти

Нет.

Добавлено спустя 2 минуты 20 секунд:
moty писал(а):
Хорошие программисты в 8 лет знают 2 языка, в 16 - 4, а в 32 - восемь.

Чёрт, мне за 3 года надо освоить ещё минимум несколько десятков языков...

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Vladson писал(а):
moty писал(а):
получает файл, записывает его во временную директорию

PHP скрипт должен либо игнорировать (тогда он сотрётся) или переместить из временной папки в постоянную.



А веб сервер будет принимать файл во временную папку независимо от его размера?

Такая конструкция правильная?
...код...
$needtorefresh=1;
...код

If($needtorefresh)
{}


// или всё-таки стоит писать TRUE или FALSE вместо 0 и 1?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 28.03.2004
Откуда: Surgut
Помогите начинающему пожалуйста :)
FAQ почитал, по ссылке прошел, начало прочитал, но как поборот проблему не понял... С простым HTML работал, простые сайты делал, а вот PHP только начал изучать.

Вобщем простейший phpinfo() работает, но в одной из обучающих статей обнаружил такой пример:
Код:
<font color=#<? echo $color; ?>>Подопытная строка</font>
<form action="" method=GET>
<input type="text" name=color>
<input type="submit" value="сменить цвет">
</form>

Вот ссылка на статью:
http://kurepin.ru/php/php_programming_01.html?id=113
Предполагается, что введенное число передастся в качестве 16ричного кода цвета, и сообщение окрасится в этот цвет. Но у меня ничего не окрашивается. При этом если цвет задать вручную:
Код:
<font color=#00hh00>Подопытная строка</font>

То строка окрашивается.

Что я делаю не так?

_________________
:: Overclock your mind !!! ::


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Цитата:
<font color=#<? echo $color; ?>>Подопытная строка</font>
<form action="" method=GET>
<input type="text" name=color>
<input type="submit" value="сменить цвет">
</form>


Тут подразумевается, что веб сервер автоматом создаст переменную с именем вводных данных из формы и данными из ввода.
Но это отключаемо. И небезопасно.
http://phpclub.ru/detail/article/globals
И, вроде по дефалту выключенно в новых версиях.

Вот это работает:
Код:
<font color=#<? echo $_GET['color']; ?>>Strokaddd</font>
<form action="" method=GET>
<input type="text" name=color>
<input type="submit" value="сменить цвет">
</form>


p.s. action="" если он пустой, по моему можно опустить. Тогда браузер итак итак автоматом обращается с гет запросом к этому-же файлу.
Цитата:
а вот PHP только начал изучать.


почитай это http://php5.ru/
2-ю главу можно опустить.
Там хотя-бы не считают читателя крутым программистом, который налету всё схватывает и понимает. Жаль оно не закончено....

А этот твой туториал какой-то жуткий. Сначала там приводят твой красящий текст кнопку (фактически 1 строка кода), а через пару сотен строк ниже уже рассказывают про объекты... Не знаю, не знаю, если ты программист, то наверное будет легко, я пока пол часа внимательно не зачитывался в страницу учебника, посвященную ООП, что-бы понять что это вообще такое.
P.P.S.

Цитата:
То строка окрашивается.


Смотри исходный код получившейся страницы, сразу-бы увидел, что ничего не выводиться.

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 28.03.2004
Откуда: Surgut
moty
Спасибо. А ведь я так пробовал, но практически методом тыка, и после того как поменял пару строк местами, и конечно же результата не было.
Цитата:
А этот твой туториал какой-то жуткий.

Согласен, не буду его читать, почитаю то, что советуют в местном факе, и то что посоветовали вы.

_________________
:: Overclock your mind !!! ::


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
а между "|" и "||" есть разница?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
в пхп? есть, как и в С
Код:
$a || $b   TRUE if either $a or $b is TRUE.

Код:
$a | $b   Bits that are set in either $a or $b are set.


 

Member
Статус: Не в сети
Регистрация: 28.03.2004
Откуда: Surgut
Снова здрасте.
Пытаюсь приручить Oracle8 к PHP по этому гайду:
http://phpclub.ru/detail/article/oracle#part_3
Но перед этим прочитал это:
http://www.php.ru/install/
В нем рекомендуется не размещать dll'ки и ini файлы от дистрибутива PHP, а класть их в любую папку, и прописывать адрес к php.ini и dll-кам через "переменные среды" и extension_dir.
Собственно у меня эта часть тупит.

Прописываю e:/php и e:/php/ext
Вытаскиваю php.ini из папки C:/Windows/ и кладу в e:/php/php.ini
Рестартю Апач. В итоге:
1. пхп пашет
2. к Ораклу не коннетится, выдает ошибку Call to undefinied function OCILogon()

Возвращаю php.ini обратно в папку с виндой, рестартю Апачь и все пашет.

Подскажите пожалуйста, что я делаю не так?

Добавлено спустя 1 минуту 13 секунд:
Забыл, PHP стоит как модуль Апача.

Добавлено спустя 3 минуты 35 секунд:
Так. Кинул файл php.ini в папку к Апачу. Все заработало. Но хочется все таки по умному сделать - положить куда хочу, а Апачу сообщить, чтобы искал там. Поможете? :)

_________________
:: Overclock your mind !!! ::


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
надо в конфиге апача указать путь к php.ini через директиву PHPINIDir


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
А то, что делает nl2br http://php.net/manual/en/function.nl2br.php
Можно сделать при помощи preg_replace ? http://www.php.net/manual/en/function.preg-replace.php

Какой тогда будет pattern?

А что, синтаксис POSIX регулярных выражений уже отменили и теперь только на перловые стоит обращать внимание?

Цитата:
There should be a huge message on here, regarding PHP 5.3.0 (June 30, 2009) because this appears to be the first time in history that PHP is abandoning parts of its API, specifically the POSIX regex stuff -- presumably this is to favor the PCRE regex stuff.

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
да, можно
паттерн типа /\n\r?/ и замена на /<br\/>/ - это навскидку, результат не сравнивал:)
перловый синтаксис намного мощнее, чем posix, поэтому на него многие переползают. там всяческие look-ahead есть и т.д. для сложных проверок. при этом можно позиксовый паттерн пихнуть в перловый регэксп, и, в теории, он будет работать точно так же.


 

Member
Статус: Не в сети
Регистрация: 28.03.2004
Откуда: Surgut
ToSHiC писал(а):
надо в конфиге апача указать путь к php.ini через директиву PHPINIDir

Если я прописываю эту директиву - Apache не может запуститься. Apache 1.3, PHP 5.03.
Погуглил - похожей проблемы нету, у людей обычно или директива работает, или они кидают ini файл в корень винды.

_________________
:: Overclock your mind !!! ::


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 44 из 64<  1 ... 41  42  43  44  45  46  47 ... 64  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan