Не удается получить доступ к значению массива, опубликованного методом Post в переполнении стека

Я создал массив пользовательской информации и разместил его на другой странице для использования … но когда я обращаюсь к нему, он не возвращает никакого значения … только возвращает A или r ..

Может ли любой друг помочь мне ..

Создать массив

  <?php
$datas= array(
"Scountry"=>'ZA',
"SName"=>$SName,
"SCompany"=>$SCompany,
"SAddress"=>$SAddress,
"SAddress2"=>$SAddress2,
"SAddress3"=>$SAddress3,
"ssPlace"=>$fr[0],
"sZip"=>$fr[1],
"SPhone"=>$SPhone,
"SMobile"=>$SMobile,
"SEmail"=>$SEmail,
"SFex"=>$SFex
);
?>

Моя почтовая форма

    <form action="submit.php" method="post" id="submit" name="submit">
<input type="hidden" name="clientdata" id="clientdata" value="<?php print_r($datas); ?>">

<input type="submit" value="Submit"/>
</form>

И мой код доступа submit.php

     <?php
$clientdata = $_POST['clientdata'];
print_r($clientdata);
?>

когда я печатаю это с печатью

      print_r($clientdata);

следующий результат шоу

       Array ( [Scountry] => ZA [SName] => name [SCompany] => adfsd [SAddress] => asdf [SAddress2] => adsf [SAddress3] => asdf [ssPlace] => adfddfd [sZip] => 0037 [SPhone] => 222222222 [SMobile] => 9926036842 [SEmail] => abc@gmail.com [SFex] => 1111111111)

Моя проблема заключается в том, что при доступе к определенному значению атрибута массива его не печатать …

    echo $clientdata->Scountry;

Нет результатов Показать

когда я использую

    echo $clientdata[Scountry];

Нет результатов Показать

Может ли любое тело помочь …

2

Решение

Вы должны использовать строку в качестве ключа для массива. Ключ должен быть между "В противном случае php будет думать, что вы ищете константу.

echo $clientdata["Scountry"];

Обновить:

Вы не можете просто печатать данные print_r как значения из поля ввода, вам придется их сериализовать. это создает строку JSON из массива.

<input type="hidden" name="clientdata" id="clientdata" value="<?php echo json_encode($datas); ?>">

Теперь в своем коде вы можете просто декодировать эту строку json в объект:

$clientdata = json_decode($_POST['clientdata']);
echo $clientdata->Scountry;
1

Другие решения

Взорвите свой массив и отправьте его из формы.

<form action="submit.php" method="post" id="submit" name="submit">
<input type="hidden" name="clientdata" id="clientdata" value="<?php implode('@@#@@',$datas); ?>">
<input type="submit" value="Submit" />
</form>

И в вашем PHP-файле:

<?php
$clientdata = $_POST['clientdata'];
$clientArray = explode('@@#@@',$clientdata);
echo '<pre>';
print_r($clientArray);

echo $clientArray['Secondary'];
?>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector