[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите плиз, не робит генерация куки.
GET
Здравствуйте, скачал предложенные вами функции для работы с куками, все понравилось прикрутил к своиму скрипту, но почему то не робит...пишет ошибку:
Notice: Undefined variable: key in Z://// )on line 22

22 строка:
 $key .= $arr[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];


а эта ошибка, как я понимаю тащит следующую:
Warning: Cannot modify header information - headers already sent by

вот весь скрипт пользовательской функции:



function rand_str($num = 10)
{
$arr_num = range("0","9");
$arr_let = range("a","z");

$arr = array_merge($arr_num,$arr_let);
$arr = array_merge($arr,$arr);
$arr = array_merge($arr,$arr_let);
$arr[] = "a";

$rand = microtime(true);
for($i = 0; $i < $num; $i++)
{
shuffle($arr);
$key.= $arr[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
$rand = microtime(true);
}
return $key;
}

$p=rand_str();
print "p=".$p."<br>";


Подскажите:



Спустя 11 минут, 9 секунд (26.06.2010 - 08:22) kirik написал(а):
Перед циклом for объявите переменную $key.

Спустя 7 минут, 26 секунд (26.06.2010 - 08:30) ABC написал(а):
Спасибо!!!...все заработало, а не подскажите почему необходимо делать объявление, разве в ПХП это необязательно?

Спустя 12 минут, 25 секунд (26.06.2010 - 08:42) twin написал(а):
Скажем так: очень желательно.

Спустя 22 минуты, 23 секунды (26.06.2010 - 09:04) ABC написал(а):
Спасибо.

Спустя 1 час, 32 минуты, 28 секунд (26.06.2010 - 10:37) vagrand написал(а):
smile.gif Присвоение значения переменной уже есть ее объявление и инициализация в добавок. Просто в твоем случае нужно было вместо:

$key .= $arr ....;

написать

$key = $arr ....;

Спустя 35 минут, 28 секунд (26.06.2010 - 11:12) twin написал(а):
Неверно. Там как раз нужна конкатенация. Но присоединить что то можно к пустой переменной, а не к несуществующей. В том и разница.

Спустя 9 минут, 51 секунда (26.06.2010 - 11:22) vagrand написал(а):
twin

По куску кода, который привел автор, непонятно нужна она там или нет. Я написал из-за чего варнинг вылезл.

Спустя 28 минут, 14 секунд (26.06.2010 - 11:51) twin написал(а):
Очень даже понятно. Если не будет конкатенации - на выходе будет не строка а один символ.


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.