Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试获取请求的表单输出_Php_Html_Loops - Fatal编程技术网

Php 尝试获取请求的表单输出

Php 尝试获取请求的表单输出,php,html,loops,Php,Html,Loops,我正在尝试从表单中获取值,但应提交请求。下面是PHP代码,因为我知道HTML表单是正确的,因为当我没有将isset()函数放入PHP中时,它工作得非常好 <?php if (isset($_POST["submit"])) { $fname = $_POST['firstname']; $emailstr = $_POST['email']; $postaddrstr =$_POST['postaddr'];

我正在尝试从表单中获取值,但应提交请求。下面是PHP代码,因为我知道HTML表单是正确的,因为当我没有将
isset()
函数放入PHP中时,它工作得非常好

<?php

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

我相信错误在下面的某个部分,因为我在foreach循环中得到$val的未定义变量消息和数组到字符串的转换

<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>

您不能在
echo
中写入循环,请更改以下行:

 echo "<p><strong>Your Favourit Sport:</strong> 
 foreach($favsportstr as $val) {
       $val 
 }";
echo”你最喜欢的运动:
foreach($favsportstr作为$val){
$val
}";

echo“你最喜欢的运动:”;
foreach($favsportstr作为$val){
echo$val;
}

这就是错误的来源:

echo "<p><strong>Your Favourit Sport:</strong> 
            foreach($favsportstr as $val) {
                $val 
            }";
echo”你最喜欢的运动:
foreach($favsportstr作为$val){
$val
}";
只需将其更改为此即可:

echo "<p><strong>Your Favourit Sport:</strong>"; 
            foreach($favsportstr as $val) {
                echo $val; 
            }
echo“你最喜欢的运动:”;
foreach($favsportstr作为$val){
echo$val;
}

原因是不能在echo语句中放入循环。将回音放在回路内部,而不是回路内部回音。”“echo”语句仅用于打印输出。它不支持任何处理,只打印里面的所有内容。它只能在变量值放在双引号之间时输出变量值。像这样:
echo“$var”

echo
之外编写您的
foreach
您的基本语法不正确。你关闭echo,然后运行foreach,echo在里面。foreach循环退出echo,$val将有一个echo。谢谢Smith和R B.
内爆(“,”,$favsportstr)
很适合
['foo','bar']
改为
foo,bar
echo "<p><strong>Your Favourit Sport:</strong>"; 
            foreach($favsportstr as $val) {
                echo $val; 
            }