как захватить все поля в $_POST
VARIABLE? в массив?
$email = $_POST; $emails = array_keys($email); foreach($emails as $email) { echo '$' . nl2br($email); } $emailadd = new email_save; $emailadd->insert_email_into_database("POST VARIABLES GO HERE)
Я пытаюсь создать список адресов электронной почты, имя и адрес электронной почты, как я могу захватить все переменные, которые были опубликованы, которые могут быть доступны обычным образом, например $_POST['email']
в массив, поэтому я могу добавить их к аргументам в мои функции?
В моем поле формы есть 5 полей. Метод POST.
Вместо того, чтобы писать,
$email = mysql_real_escape_string($_POST['email']); $firstname = mysql_real_escape_string($_POST['firstname']);
Я пытаюсь получить доступ ко всем значениям в массиве $ _POST []; Поэтому я могу сэкономить время на mysql_real_escape_string();
переменных и добавить функции к таким переменным, как mysql_real_escape_string();
Будут рассмотрены другие меры безопасности.
Я хочу иметь возможность добавить реферрантность массива к функции, чтобы я мог добавить их в базу данных.
Если вы хотите захватить список из POSTED-формы, используйте синтаксический синтаксис массива вместо нумерованных имен полей ввода:
<input type="email" name="emails[]"> <input type="email" name="emails[]"> <input type="email" name="emails[]">
Таким образом, вам не нужно гадать в PHP, потому что emails[]
становятся массивом неявно:
print_r($_POST["emails"]); foreach ($_POST["emails"] as $email) {
Для простоты использования базы данных:
$db_emails = array_map("mysql_real_escape_string", $_POST["emails"]); // that's an array too
$ _POST уже является массивом. Почему бы просто не передать это?
Хм … что-то вроде этой помощи?
<?php // blank array to hold emails $emails = array(); foreach ( $_POST as $key => $value ) { if ( preg_match('/email/', $key) ) { $this_email = $value; // quick check to see if it is valid $this_email = filter_var($this_email, FILTER_VALIDATE_EMAIL); // also escape it to prevent SQL injections $this_email = $mysqli->real_escape_string($this_email); $emails[] = $this_email; } } // $emails is now a nice, clean array of email addresses $emailadd->insert_email_into_database($emails); echo '<pre>'; print_r($emails); echo '</pre>'; ?> <form method="post" action="index.php"> <input type="text" name="email1" /><br /> <input type="text" name="email2" /><br /> <input type="text" name="email3" /><br /> <input type="submit" /> </form>