Реклама на сайте Advertise with us

Что за глюк в РНР?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 28/03/11 в 03:48       Ответить с цитатойцитата 

Простой код, кто-то здесь давно мне делал, увеличил задачу, сделал 6 массивов вместо шести. Но сам в РНР дундук, просто копипастил, изменял названия. В общем 6 массивов, перемешанные сохраняют свою последовательность в пределах сессии, когда массивы заканчиваются, перемешиваются заново. Все работает, глюк в том, что вылазит 3 лишних знака на странице, неизвестно откуда берущихся, вот эти -  либо эти - яЛП (в зависимости от кодировки). Причем случайным образом.

Код такой:
Код:
<? 
////////////  N 1  ////////////
if (!isset($_COOKIE1["rnd"]) || !explode("|",$_COOKIE1["rnd"])) 
{
  $range1=range(1,9); 
shuffle($range1); 

else 
$range1=explode("|",$_COOKIE1["rnd"]); 
$file1=array_shift($range1); 
setcookie("rnd",join("|",$range1)); 

   
////////  Здесь ЕЩЕ 5 ТАКИХ КОДОВ С ИЗМЕНЕНИЕМ НОМЕРА  ПЕРЕМЕННЫХ - N2-N6 
   

/////// --- ВЫДАЧА РЕЗУЛЬТАТА ---- //////

include "1-$file1.htm"; 

include "2-$file2.htm"; 

include "3-$file3.htm"; 

include "4-$file4.htm"; 

include "5-$file5.htm"; 

include "6-$file6.htm"; 

    ?>


Результат онлайн - http://ohohoh.info/test/

0
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 28/03/11 в 04:36       Ответить с цитатойцитата 

Врубился, $_COOKIE это не переменная, номер добавлять нет смысла. В общем не буду усложнять, нет особого резона, один массив можно использовать, просто сделаю HTML-ок в каждой по 6 штук картинок.

0
 



С нами с 28.07.07
Сообщения: 425
Рейтинг: 375

Ссылка на сообщениеДобавлено: 28/03/11 в 11:15       Ответить с цитатойцитата 

попробуй не $_COOKIE1["rnd"] а $_COOKIE["rnd1"]

VPS от 10$.USA/Germany

6
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 28/03/11 в 16:19       Ответить с цитатойцитата 

Попробую

0
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 28/03/11 в 19:48       Ответить с цитатойцитата 

artursn:
Спасибо, ты был прав, заценил. Так и надо, теперь правильно перемешивает и выдает каждый из 6-ти массивов. А знаки вылазили, потому что я 2 файла HTM создал неправильно и потом размножил, в каждом 4-м и 5-м было лишних 3 байта, которых не было видно в Блокноте. Вот весь полный код файла с наглядной выдачей 6-ти массивов:
Код:
  <?

////////////////  N 1  //////////////////
if (!isset($_COOKIE["rnd1"]) || !explode("|",$_COOKIE["rnd1"]))
{
  $range1=range(1,9);
shuffle($range1);
}
else
$range1=explode("|",$_COOKIE["rnd1"]);
$file1=array_shift($range1);
setcookie("rnd1",join("|",$range1));


   
////////////////  N 2  //////////////////
if (!isset($_COOKIE["rnd2"]) || !explode("|",$_COOKIE["rnd2"]))
{
  $range2=range(1,9);
shuffle($range2);
}
else
$range2=explode("|",$_COOKIE["rnd2"]);
$file2=array_shift($range2);
setcookie("rnd2",join("|",$range2));


////////////////  N 3  //////////////////
if (!isset($_COOKIE["rnd3"]) || !explode("|",$_COOKIE["rnd3"]))
{
  $range3=range(1,9);
shuffle($range3);
}
else
$range3=explode("|",$_COOKIE["rnd3"]);
$file3=array_shift($range3);
setcookie("rnd3",join("|",$range3));


////////////////  N 4  //////////////////
if (!isset($_COOKIE["rnd4"]) || !explode("|",$_COOKIE["rnd4"]))
{
  $range4=range(1,9);
shuffle($range4);
}
else
$range4=explode("|",$_COOKIE["rnd4"]);
$file4=array_shift($range4);
setcookie("rnd4",join("|",$range4));


////////////////  N 5  //////////////////
if (!isset($_COOKIE["rnd5"]) || !explode("|",$_COOKIE["rnd5"]))
{
  $range5=range(1,9);
shuffle($range5);
}
else
$range5=explode("|",$_COOKIE["rnd5"]);
$file5=array_shift($range5);
setcookie("rnd5",join("|",$range5));


////////////////  N 6  //////////////////
if (!isset($_COOKIE["rnd6"]) || !explode("|",$_COOKIE["rnd6"]))
{
  $range6=range(1,9);
shuffle($range6);
}
else
$range6=explode("|",$_COOKIE["rnd6"]);
$file6=array_shift($range6);
setcookie("rnd6",join("|",$range6));

     ?>



        <p align="center">


  <?
   include "1-$file1.htm";
   include "2-$file2.htm";
   include "3-$file3.htm";
   include "4-$file4.htm";
   include "5-$file5.htm";
   include "6-$file6.htm";
     ?>


<BR><BR>

</p>

<!--   ~~~~~~~  ЭТО МОЖНО ВЫБРОСИТЬ ~~~~~~~  -->

<font size="5">

<?   echo "$rnd1";  ?>   ---- rnd1 <BR><BR>

<?    echo "$rnd2";  ?>  ---- rnd2 <BR><BR>

<?    echo "$rnd3";  ?>  ---- rnd3 <BR><BR>

<?   echo "$rnd4";  ?>   ---- rnd4 <BR><BR>

<?    echo "$rnd5";  ?>  ---- rnd5 <BR><BR>

<?    echo "$rnd6";  ?>  ---- rnd6 <BR><BR>

</font>

<!--   ~~~~~~~  ЭТО МОЖНО ВЫБРОСИТЬ ~~~~~~~  -->


Вот так оно работает - http://ohohoh.info/test/index2.php

Первую часть (N1-N6) можно вынести в отдельный файл и вставлять инклудом. Проверил, работает.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »