Автоматизировать присвоение нескольких значений из переменной $ _POST - PullRequest
0 голосов
/ 27 марта 2012

Я только что написал следующий код:

<?php


        $email = checkPost("email");
        $username = checkPost("username");
        $firstname = checkPost("firstname");
        $lastname = checkPost("lastname");
        $zipcode = checkPost("zipcode");


        echo("EMAIL: ".$email."  USERENAME: ".$username);
        function checkPost($formData) {
            if (isset($_POST[$formData])) {
                return $_POST[$formData];   
            }
        }

    ?>

Что бы я хотел сделать, это исключить все эти вызовы checkPost () вверху.Приведенный ниже код не требует каких-либо знаний о полях в форме, которая ему отправляется, он просто перебирает все поля и выплевывает их значения.

<?php
// loop through every form field
while( list( $field, $value ) = each( $_POST )) {
   // display values
   if( is_array( $value )) {
      // if checkbox (or other multiple value fields)
      while( list( $arrayField, $arrayValue ) = each( $value ) {
         echo "<p>" . $arrayValue . "</p>\n";
      }
   } else {
      echo "<p>" . $value . "</p>\n";
   }
}
?>

Я хочу изменить этот код таким образомэти переменные, такие как $ email и т. д., будут созданы и им присвоены значения на летуКак, скажем, вы запускаете это в форме, которая имеет «адрес электронной почты» и «имя».Вам не нужно давать php имя переменной $ email или $ name.Он просто перебирает и для «электронной почты» создает и заполняет переменную с именем $ email и т. Д. И т. Д.

Я мечтаю?

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Вы можете использовать ...

extract($_POST, EXTR_SKIP);

... но я не рекомендую .Это распакует ключи массива в область, в которой он находится. Я установил его на , а не перезаписываем существующие переменные.

Вы должны явно определить свои переменные.

1 голос
/ 27 марта 2012
foreach ($_POST as $key=>$value) {
    echo '<p>', htmlspecialchars($key), ' = ', htmlspecialchars($value), '</p>';
}

Я думаю, это то, что ты ищешь в любом случае. По сути, мы просто перебираем все элементы $_POST и отображаем их. Конечно, вы можете делать с ними все, что вам нужно, в цикле.

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