Я пытаюсь установить переменную, равную одной из подмассивов моей переменной $ _POST.
$array[] = $_POST['contact-info'];
echo $array['email'];
Это не сработает, хотя он повторяет NULL.
Любые предложения?
Я пытаюсь установить переменную, равную одной из подмассивов моей переменной $ _POST.
$array[] = $_POST['contact-info'];
echo $array['email'];
Это не сработает, хотя он повторяет NULL.
Любые предложения?
Вам не нужны квадратные скобки для назначения этой подматрицы переменной.
$array = $_POST['contact-info'];
echo $array['email'];
$ _POST просто не многомерный массив. echo print_r($_POST,1);
покажет вам, что именно находится в $ _POST. При использовании $ _POST всегда будет заполняться для вас PHP с помощью пар ключей (string) - value (string). Если $ _POST содержит вспомогательные массивы, то он, вероятно, заселен вами самостоятельно или какой-либо структурой, которую вы используете.
На данный момент я предполагаю, что contact-info
- это форма формы, которую вы отправляете. Имя формы не имеет значения при чтении представленной формы. Вы можете получить прямой доступ к отправляемым данным через имя поля отправленного ..
Например, если у вас:
<form name="contact-info" action="yourscript.php" method="post">
Please enter your e-mail address:<br/>
<input name="email" type="text" value="" />
</form>
Затем в PHP скрипте вы должны иметь:
<?php
echo "You just entered: " . $_POST['email'];
?>
$array['email']
никогда не устанавливается. Вы можете установить массив как это:
$array[] = $_POST['contact-info'];
Так если предположить, что был первый раз, когда вы использовали $array
, то вы бы доступ к электронной почте по:
echo $array[0]['email'];
Если вам не нужны $array
быть многомерным, Вы всегда можете просто сделать:
$array = $_POST['contact-info'];
echo $array['email'];
в MENT в другом месте электронная почта в настоящее время пуста. Структура массива должна совпадать с формой так, если ваша форма
name="contact-info[email]"
Тогда в PHP вы бы получить доступ, что, как
$contact_info = $_POST['contact-info'];
$email = $contact_info['email'];
ИЛИ
$email = $_POST['contact-info']['email'];
Кроме того, попробуйте это для немного более ясность при отладке массива, это упрощает определение ассоциаций.
<pre>
<?php print_r($_POST);?>
</pre>
шоу 'print_r ($ _ POST)' –