пытаясь получить вывод формы по запросу - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь получить значения из формы, но по запросу.Ниже приведен только код PHP, поскольку я знаю, что форма HTML верна, поскольку она отлично работала, когда я не поместил функцию isset() в PHP.

<?php

    if (isset($_POST["submit"]))
    {
        $fname = $_POST['firstname'];
        $emailstr = $_POST['email'];
        $postaddrstr =$_POST['postaddr'];
        $favsportstr =$_POST['favsport'];
        $emailliststr =$_POST['emaillist'];
    }
?>

Я считаю, что ошибка лежит где-то вчасть ниже, поскольку я получаю неопределенное сообщение переменной для $ val и преобразование массива в строку в цикле foreach.

<section id="output">
    <?php
        if (isset($_POST["submit"]))
        {
            echo "<h2>The following information was received from the form:</h2>";
            echo "<p><strong>First Name:</strong>   $fname </p>";

            echo "<p><strong>Email = </strong>   $emailstr </p>";
            echo "<p><strong>Post Address = </strong>   $postaddrstr </p>";
            echo "<p><strong>Your Favourit Sport:</strong> 
            foreach($favsportstr as $val) {
                $val 
            }";
            echo "<p><strong>Email list = </strong>   $emailliststr </p>";
        }
    ?>
</section>

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вот откуда ваша ошибка:

echo "<p><strong>Your Favourit Sport:</strong> 
            foreach($favsportstr as $val) {
                $val 
            }";

Просто измените ее на это, и все будет в порядке:

echo "<p><strong>Your Favourit Sport:</strong>"; 
            foreach($favsportstr as $val) {
                echo $val; 
            }

Причина в том, что вы не можете поставить циклвнутри заявления эха.Поместите эхо внутри петли, а не внутри эхаоператор 'echo' предназначен только для вывода на печать.Он не будет поддерживать какую-либо обработку, он просто напечатает все внутри.Он может выводить только значения переменных, когда они помещены в двойные кавычки.Как это: echo "$var";

0 голосов
/ 28 мая 2018

Нельзя писать циклы внутри echo изменить следующую строку:

 echo "<p><strong>Your Favourit Sport:</strong> 
 foreach($favsportstr as $val) {
       $val 
 }";

на

 echo "<p><strong>Your Favourit Sport:</strong> ";
 foreach($favsportstr as $val) {
      echo $val;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...