【问题标题】:Why is my php code not giving me the right text field name为什么我的 php 代码没有给我正确的文本字段名称
【发布时间】:2015-08-18 16:00:05
【问题描述】:

我正在尝试制作一个存储和检索比赛信息的 Web 应用程序。我正在使用 php 函数和索引循环动态创建文本输入。

代码如下:

<?php
    function table_head()
    {
        if ( func_num_args() > 0 )
        {
            $args = func_get_args();
            foreach($args as $value)
            {
                echo "<th>" . $value . "</th>";
            } 
        }
    }


    function display_fields()
    {
        $i = 0;
        $a = 19;
        $name="hi";
        while($i++ < $a)
        {
            array_push($numbers,$i);
            if($i==1)
            {  
                $name = "time";
            } else if($i > 1 && $i < 19){
                $name = "lap" + strval($i);
            } else {
                $name = "avgspd";
            } 
            echo "<td><input type='text' size='7' name='" . $name . "'/></td>";
        }   
    }   

echo "<form action='' method='POST'>";
    echo "<table><tr>";
    table_head("Time","lap1","lap2","lap3","lap4","lap5","lap6","lap7","lap8","lap9","lap10","lap11","lap12","lap13","lap14","lap15","lap16","lap17","Avg Spd");
    echo "</tr><tr>";
    display_fields();
    echo "</tr></table><br><input type='submit'/></form>";

?>

为什么文本字段的名称被称为“1”、“2”等而不是“lap1”、“lap2”?
有没有办法解决这个问题?如果有怎么办?

这是浏览器(Safari 8.0.7 OS X 版本)显示的源代码:

<form action='' method='POST'>
    <table>
        <tr>
            <th>Time</th>
            <th>lap1</th>
            <th>lap2</th>
            <th>lap3</th>
            <th>lap4</th>
            <th>lap5</th>
            <th>lap6</th>
            <th>lap7</th>
            <th>lap8</th>
            <th>lap9</th>
            <th>lap10</th>
            <th>lap11</th>
            <th>lap12</th>
            <th>lap13</th>
            <th>lap14</th>
            <th>lap15</th>
            <th>lap16</th>
            <th>lap17</th>
            <th>Avg Spd</th>
        </tr>
        <tr>
            <td><input type='text' size='7' name='time'/></td>
            <td><input type='text' size='7' name='2'/></td>
            <td><input type='text' size='7' name='3'/></td>
            <td><input type='text' size='7' name='4'/></td>
            <td><input type='text' size='7' name='5'/></td>
            <td><input type='text' size='7' name='6'/></td>
            <td><input type='text' size='7' name='7'/></td>
            <td><input type='text' size='7' name='8'/></td>
            <td><input type='text' size='7' name='9'/></td>
            <td><input type='text' size='7' name='10'/></td>
            <td><input type='text' size='7' name='11'/></td>
            <td><input type='text' size='7' name='12'/></td>
            <td><input type='text' size='7' name='13'/></td>
            <td><input type='text' size='7' name='14'/></td>
            <td><input type='text' size='7' name='15'/></td>
            <td><input type='text' size='7' name='16'/></td>
            <td><input type='text' size='7' name='17'/></td>
            <td><input type='text' size='7' name='18'/></td>
            <td><input type='text' size='7' name='avgspd'/>
            </td>
        </tr>
    </table><br><input type='submit'/>
</form>

注意:我通过 safari 的 web 检查器找到的这段代码都在一行上,我将其格式化为这样便于您检查代码。

【问题讨论】:

    标签: php html input naming


    【解决方案1】:

    应该是

    $name = "lap" . strval($i);
    

    PHP 使用. 连接字符串,而不是+

    【讨论】:

    • 谢谢。对于大多数连接,我记得.,但是后来我想到了python 一些原因!
    • 我试过了。当我这样做时,它说你必须等待 10 分钟。
    猜你喜欢
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 2022-09-29
    • 2021-02-05
    • 2019-03-12
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    相关资源
    最近更新 更多