Сегодня начал изучать PHP, так что простите меня за то, что я нуб. У меня есть простая HTML-форма, в которой пользователь вводит 4 строки, а затем отправляет.
HTML form
<html>
<head>
<title>EMS</title>
</head>
<body>
<h1>EMS - Add New Employees</h1>
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
<table>
<tr><td>Enter a NAME:</td><td> <input type="text" name="name"></td></tr>
<tr><td>Enter a PPSN:</td><td> <input type="text" name="ppsn"></td></tr>
<tr><td>Enter a PIN :</td><td> <input type="text" name="pin"></td></tr>
<tr><td>Enter a DOB:</td><td> <input type="text" name="dob"></td></tr>
<tr><td></td><td><input type="submit" value="Add New Employee" name="data_submitted"></td></tr>
</table>
</form>
</html>
Я хочу преобразовать 4 элемента массива $_POST["data submit"] в строку.
PHP
<?php
if (isset($_POST['data_submitted'])){
$employee = implode(",",$_POST['data_submitted']);
echo "employee = ".$employee;
}
?>
Почему, когда я запускаю проект, ввожу 4 строки в форму и утверждаю, что при выводе строки сотрудника ничего не содержится? Однако в строке сотрудника есть значение, когда я просто взрываю массив $_POST без «data_submitted».
$employee = implode(",",$_POST);
Вывод строки $employee теперь выглядит следующим образом: employee = will,03044,0303,27/5/6,Add New Employee
Он содержит имя, pps, пин-код, доб и это значение ДОБАВИТЬ нового сотрудника? Как мне просто получить строку $employee, содержащую только имя, pps, pin и dob из массива $POST_[data_submitted]?
$_POST['data_submitted']
— это строка, а не массив. - person Barmar   schedule 14.02.2018$_POST['anything']
- это просто значение ввода сname="anything"
. Почему вы ожидаете, что$_POST['data_submitted']
будет массивом, содержащим все остальные входные данные? - person Barmar   schedule 14.02.2018var_dump($_POST);die();
перед оператором if, просто посмотрите содержимое массива POST. - person mcv   schedule 14.02.2018