Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 I';我在这张桌子上工作了好几天了_Php_Html - Fatal编程技术网

Php I';我在这张桌子上工作了好几天了

Php I';我在这张桌子上工作了好几天了,php,html,Php,Html,这件事我已经做了好几天了,不知道出了什么问题,这是为了上课。它不断返回“语法错误”意外的文件结尾,我想这意味着我遗漏了一个大括号,但我不知道在哪里?任何帮助都将不胜感激。我有两个文件,我正试图用php制作一个乘法表 第1页: <!DOCTYPE html> <html> <head> <title>Make a Multiplication Table!</title> </head>

这件事我已经做了好几天了,不知道出了什么问题,这是为了上课。它不断返回“语法错误”意外的文件结尾,我想这意味着我遗漏了一个大括号,但我不知道在哪里?任何帮助都将不胜感激。我有两个文件,我正试图用php制作一个乘法表

第1页:

<!DOCTYPE html>
<html>
    <head>
        <title>Make a Multiplication Table!</title>
    </head>
    <body>
        <form action="./timestable.php" method="POST"/>
            <input type="number" value="1" name="a"/>
            <input type="number" value="1" name="b"/>
            <input type="submit"/>
        </form>
    </body>
</html>

<?php

$n = $_POST; // TODO what should $n really be? Replace the 10 with the user-supplied value from the form

// if we don't have a number, redirect back to the form page
if (isSet($n)) {
    header("Location: ./mult_form.php");
    exit;
}

?>

做一个乘法表!

除了10件你可以/应该改变的事情,让我们切入正题。 您从不输出
$output
变量。使用:

echo $output;
就在
$output.=''之后你应该很好


编辑:更正了注释中解释的代码

这是完全更正的第1页:

<?php

if (!isset($_POST['n'])) {
    header("Location: mult_form.php");
    exit;
}

?>
<!DOCTYPE html>
<html>
    <head>
        <title>Make a Multiplication Table!</title>
    </head>
    <body>
        <form action="timestable.php" method="POST"/>
            <input type="number" value="1" name="a"/>
            <input type="number" value="1" name="b"/>
            <input type="hidden" value="<?php echo $_POST['n'];?>" name="n"/>
            <input type="submit"/>
        </form>
    </body>
</html>
请注意,
$output
被初始化为空字符串,因此第一个
=
串联实际上是将字符串连接到字符串,而不是将未定义的值连接到字符串,这可能会搞乱这里正在进行的整个串联过程:)

这应该可以做到

如果这不起作用,请更具体地说,也许用新代码发布另一个问题。这个问题现在应该得到充分的回答


祝你今天愉快

用于($i=0;$i
用于($i=0;$i删除结尾处的./amd/改进您的问题标题,使其能够描述问题。第二个
$output.='';
应该是
$output.='';
是吗?这仍然不起作用?是否还有其他错误我没有看到?让我们看看。在第一个
之后有一个虚假的
语句。您可能还想使用
intval($\u POST['a'])
只是为了安全地读取POST变量。for()的第一个
从0开始,而不是1。这应该是错误的,因为乘法表从1开始。第二个
应该是结束标记(
)。看起来您还需要一个乘法器
$n
。然后您应该在第一页测试
!isset($n)
(所有小写字母和前导字母都不是
)。同时删除重定向中的前导
/
。如果您需要
时间表.php
中的
$n
,则必须将其传递。若要传递,请在表单中添加以下内容:
我刚刚用代码更新了答案。虽然存在一些错误,但目前我所知它没有错误。请查看是否有效,必要时发布新问题萨里。
<?php

if (!isset($_POST['n'])) {
    header("Location: mult_form.php");
    exit;
}

?>
<!DOCTYPE html>
<html>
    <head>
        <title>Make a Multiplication Table!</title>
    </head>
    <body>
        <form action="timestable.php" method="POST"/>
            <input type="number" value="1" name="a"/>
            <input type="number" value="1" name="b"/>
            <input type="hidden" value="<?php echo $_POST['n'];?>" name="n"/>
            <input type="submit"/>
        </form>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <title>Your Table is Ready</title>
    </head>
    <body>
        <table>
            <?php 
            $a = intval($_POST['a']);
            $b = intval($_POST['b']);
            $n = intval($_POST['n']);
            $output = '';
            for ($i = 1; $i <= $a; $i++)
            {
                $output .= '<tr>';
                for ($j = 1; $j <= $b; $j++)
                {
                    $output .= "<td>{$i * $j * $n}</td>";
                }
                $output .= '</tr>';
            }
            echo $output;
            ?>
        </table>
    </body>
</html>