PHP получает доступ к переменным $_POST [] в массив?
как захватить все поля в $_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();
Другие меры безопасности будут рассмотрены.
Я хочу, чтобы добавить реферрантность массива к функции, чтобы я мог добавить их в базу данных.
Ответы
Ответ 1
Если вы хотите захватить список из 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 an array too
Ответ 2
$_ POST уже является массивом. Почему бы просто не передать это?
Ответ 3
Хм... что-то вроде этой помощи?
<?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>