За последние 24 часа нас посетили 104705 программистов и 5653 робота. Сейчас ищут 2339 программистов ...

Как передать массив в др. скрипт при register_globals=Off?

Тема в разделе "PHP для новичков", создана пользователем c0sta, 26 фев 2007.

  1. c0sta

    c0sta Активный пользователь

    С нами с:
    26 фев 2007
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Казахстан, Тараз
    Собсна сам сабж
    Как передать значения массива в одном скрипте в массив в другом скрипте при register_globals=Off?
    делаю прмерно так

    Код (Text):
    1.  
    2. $i = 0;
    3.    
    4. foreach($_REQUEST["arr1"] as $name => $val){
    5.     $arr2[$i] = $val;
    6.     ++$i;
    7. }
    Люди помогите !
    ЗЫ, Массив не ассоциативный, передаются тока числа
     
  2. Anonymous

    Anonymous Guest

    «пОнял ничего.» ©
    Приведите пример массива, и куда и как передать.
     
  3. c0sta

    c0sta Активный пользователь

    С нами с:
    26 фев 2007
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Казахстан, Тараз
    Вобщем начал изучать PHP по книге "PHP&MYSQL для начинающих" Э.Харриса
    Так вот в главе 4 есть така прога poker.php
    вот небольшой кусок исходничка

    PHP:
    1. function rollDice(){
    2.     global $die, $secondRoll, $keepIt;
    3.  
    4.     print "<table border = 1><td><tr>";
    5.  
    6.     for ($i = 0; $i < 5; $i++){
    7.         if ($keepIt[$i] == ""){
    8.             $die[$i] = rand(1, 6);
    9.         }
    10.         else {
    11.             $die[$i] = $keepIt[$i];
    12.         } // end if
    13.         $theFile = "die" . $die[$i] . ".jpg";
    14.  
    15.         //print out dice images
    16.         print <<<HERE
    17.             <td>
    18.             <img src = "$theFile" height = 50 width = 50><br>        
    19. HERE;
    20.             //print out a checkbox on first roll only
    21.         if ($secondRoll == FALSE){
    22.         print <<<HERE
    23.             <input type = "checkbox" name = "keepIt[$i]" value = $die[$i]>
    24.             </td>
    25. HERE;
    26.         } // end if
    27.     } // end for loop
    28.  
    29.     //print out submit button and end of table
    30.         print <<<HERE
    31.             </tr></td>
    32.             <tr>
    33.                 <td colspan = "5">
    34.                     <center>
    35.                         <input type = "submit" value = "roll again">
    36.                     </center>
    37.                 </td>
    38.             </tr>
    39.         </table>
    40. HERE;
    41.     } // end rollDice
    42.  
    вкратце: выбрасывается пять костей нужные мона оставить пометив галочкой(chekbox) при повторном броске они должны остаться.
    Данные передаются этому же скриптику
    При register_globals = On усе работает прекрасно
    Для проверки принимаемых значений вставил в начало проверочный код
    PHP:
    1.  
    2. <?
    3. print <<<HERE
    4. <table border = 1>
    5. <tr>
    6.   <th>Field</th>
    7.   <th>Value</th>
    8. </tr>
    9. HERE;
    10.  
    11. foreach ($_REQUEST as $field => $value){
    12.   print <<<HERE
    13.   <tr>
    14.     <td>$field</td>
    15.     <td>$value</td>
    16.   </tr>
    17. HERE;
    18. }
    19. print "</table>\n";
    20.  
    21. ?>
    22.  
    каторый выдает

    Field Value
    keepIt Array
    secondRoll 1
    cash 96

    Вот ентот keepIt меня и интересует
     
  4. Anonymous

    Anonymous Guest

    Так. еще одна книга, по которой учить PHP НЕ надо...
    Приведенный код — один сплошной пример, как НЕ НАДО программировать.
     
  5. c0sta

    c0sta Активный пользователь

    С нами с:
    26 фев 2007
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Казахстан, Тараз
    1. Ну а все таки как передать-то значения массива

    2. Не подскажете книгу по ПХП получше? заранее благодарен
     
  6. Anonymous

    Anonymous Guest

  7. c0sta

    c0sta Активный пользователь

    С нами с:
    26 фев 2007
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    Казахстан, Тараз
    Спасибо большое за помощь