我正在尝试从提交请求中获取表单中的值。 Bellow只是PHP代码,因为我知道HTML表单是正确的,因为当我没有将isset()
函数放入PHP时,它完美地工作。
<?php
if (isset($_POST["submit"]))
{
$fname = $_POST['firstname'];
$emailstr = $_POST['email'];
$postaddrstr =$_POST['postaddr'];
$favsportstr =$_POST['favsport'];
$emailliststr =$_POST['emaillist'];
}
?>
我认为错误位于下面的部分,因为我在$ fore获得了一个未定义的变量消息,并且在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>
答案 0 :(得分:0)
您无法在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;
}
答案 1 :(得分:0)
这是您的错误来源:
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'语句仅用于打印输出。它不会支持任何处理它只会打印其中的所有内容。它只能在双引号之间输出变量值。像这样:echo "$var";