PHP отправить сообщение в форме - PullRequest
0 голосов
/ 03 октября 2018

если я поставлю это: НЕТ РАБОТ

<?php
if($_POST['send']=="ok")
{
    print $_POST['opt']['nombre']
}
?>

<form action="" method="post" style="margin:0px;">
    <input type="text" name="opt['nombre']" value="Hello" />
    <input type="hidden" name="send" value="ok">
</form>

Если я поставлю это: РАБОТАЕТ

<?php
if($_POST['send']=="ok")
{
    print $_POST['opt']['nombre']
}
?>

<form action="" method="post" style="margin:0px;">
    <input type="text" name="opt[nombre]" value="Hello" />
    <input type="hidden" name="send" value="ok">
</form>

Зачем это происходит,единственное изменение во входном файле - это opt ['nombre'] от opt [nombre]

Я не понимаю, почему это произошло, возможно решить эту проблему, потому что я хочу поставить opt ['nombre '], и я думаю, что это правильно

Когда сработает результат, я получаю «Hello», но меняю этот символ внутри тегов как [' '] на []

ОТЛИЧАЕТСЯ РАБОТАЕТ И НЕ РАБОТАЕТ, КОГДА ОТПРАВЛЯТЬ ФОРМУ ПОЧТЫ:

ОТПРАВИТЬ ФОРМУ И НЕ ПОЛУЧИТЬ ПРИВЕТ

<input type="text" name="opt['nombre']" value="Hello" />

ОТПРАВИТЬ ФОРМУ И ПОЛУЧИТЬ ПРИВЕТ

<input type="text" name="opt[nombre]" value="Hello" />

РАЗНИЦА РАЗМЕЩАЕТСЯ ВНУТРИ [] ЦИТАТЫ КАК 2 ИЛИ НЕ ВЫДЕЛАТЬ, СПАСИБО

1 Ответ

0 голосов
/ 03 октября 2018

var_dump($_POST) и взгляните на ключи.Вы увидите разницу.Одиночные кавычки в атрибуте HTML name становятся частью строкового ключа в массиве PHP, когда вы делаете это первым способом.Вам нужно получить к нему одинарные кавычки как часть строки, чтобы получить его.

print $_POST['opt']["'nombre'"];

Или еще лучше, просто сделайте это вторым способом, чтобы вашему PHP-коду не пришлось использоватьглупый ключ, как это.: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...