首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何更改数组中的值?

如何更改数组中的值?
EN

Stack Overflow用户
提问于 2019-05-21 03:29:12
回答 2查看 59关注 0票数 1

我有下面的代码(其中我只能使用HTML和PHP),它的目标是根据在表单上执行的操作更改每个单元格的字母,并显示在同一页面上;问题是它没有实现其目标,它尝试了几种方法,但都没有奏效;有人能帮我吗?

代码1: index.php

代码语言:javascript
复制
<body>
    <center>
        <?php
            require('action.php');

            tables();
            actions();

            echo '<form>';
            echo '<label>Row: <input  name="row" method="post"></label><br/>';
            echo '<label>Place: <input name="place" method="post"></label><br/>';

            echo '<br/>Operation: <select name="select">';
            echo '<option>reserve</option>';
            echo '<option>buy</option>';
            echo '</select>';
            echo '<button type="submit" name="btn" formmethod="post">send</button>';
            echo '</form>';
        ?>
    </center>
</body>

代码2: tables.php

代码语言:javascript
复制
<?php
    function tables(){
        $seating = array(
            array('', 1, 2, 3, 4, 5),
            array(1, 'L', 'L', 'L', 'L', 'L'),
            array(2, 'L', 'L', 'L', 'L', 'L'),
            array(3, 'L', 'L', 'L', 'L', 'L'),
            array(4, 'L', 'L', 'L', 'L', 'L'),
            array(5, 'L', 'L', 'L', 'L', 'L')
        );
        echo '<table style="border: 1px solid black;">';
        for ($i=0; $i < 6; $i++) {
            echo '<tr>';
            for ($j=0; $j < 6; $j++) {
                echo '<td>'.$seating[$i][$j].'</td>';
            }}
        echo '</tr>';
        echo '</table>';
    }
?>

代码3: action.php

代码语言:javascript
复制
<?php

    require('tablas.php');

    function actions(){
        if(isset($_POST["btn"])){
            if ($_POST["select"]=="reserve") {
                    $asientos[$_POST["row"]][$_POST["place"]]="R";
            }elseif ($_POST["select"]=="buy") {
                    $asientos[$_POST["row"]][$_POST["place"]]="L";
            }
        }
    }
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-21 05:02:46

您有一个没有method的表单,所以它缺省为GET,但您使用的是POST。您在按钮中有某种方法,但这是不正确的:

代码语言:javascript
复制
<!-- This: -->
<button type="submit" name="btn" formmethod="post">send</button>

<!- Should be: -->
<form method="post">
    <button type="submit" name="btn">send</button>
</form>

下面是更多的代码审查,我将对其进行几次编辑,因为您的代码有改进的空间:

  • 不使用<center>。这是过时的,尝试<div style="text-align: center">
  • Your,而表单现在是一个回声在PHP。它很混乱,这样你就会错过代码着色的好处,比如答案。您可以这样做:

?>你的其他输入在这里<?php

  • 函数不应该回显信息,相反,它应该构建一些html并返回该信息。这将创建更易管理的代码,在其中您可以更好地控制发生的事情。

函数表(){ $resulthtml = '';$resulthtml.= '';for ($i=0;$i < 6;$i++) { $resulthtml.= ''.$i.'';} return $resulthtml;} echo tables();

我将把它留在这里,因为这不是一个审查网站,但上面提到的建议应该有助于使您的代码更干净,更容易理解,并通过扩展更容易调试。

票数 1
EN

Stack Overflow用户

发布于 2019-05-21 04:55:15

我在action.php中看到的一个拼写错误是:

require('tablas.php');

应该是: require('tables.php');

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56227027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档