Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
Html 为什么我会得到未定义的索引?_Html_Codeigniter_Firefox_Undefined Index - Fatal编程技术网

Html 为什么我会得到未定义的索引?

Html 为什么我会得到未定义的索引?,html,codeigniter,firefox,undefined-index,Html,Codeigniter,Firefox,Undefined Index,我正在使用CodeIgniter开发一个应用程序。在我的应用程序中,当我在Firefox10.0中提交表单时,我遇到了这个错误 Message: Undefined index: adcopy_response 但是当我在IE 9中提交表单时。我的应用程序运行良好。IE中未发现任何错误。任何一个都可以。我的HTML代码是 <table> <form action="" method="post">

我正在使用CodeIgniter开发一个应用程序。在我的应用程序中,当我在Firefox10.0中提交表单时,我遇到了这个错误

Message: Undefined index: adcopy_response
但是当我在IE 9中提交表单时。我的应用程序运行良好。IE中未发现任何错误。任何一个都可以。我的HTML代码是

                <table>
                <form action="" method="post">
                    <tr id="row">
                        <td><b>Title:</b></td>
                        <td>
                            <input type="text" style="width:450px;" name="title" value="" />

                        </td>
                    </tr>

                    <tr id="row">
                        <td><b>Description:</b></td>
                        <td>
                            <textarea style="width:450px;" name="desc" cols="35" rows="10"></textarea>
                        </td>
                    </tr>


                    <tr id="row">
                        <td><b>URL:</b></td>
                        <td>
                            <input type="text" style="width:450px;" name="url" value="" />
                        </td>
                    </tr>

                    <tr id="row">
                        <td><b>Category:</b></td>

                        <td>
                            <select name="cat">
                                <option value="">Select Category</option>
                                <option value="ajax-tutorials">AJAX Tutorials</option><option value="asp-tutorials">ASP Tutorials</option><option value="asp.net-tutorials">ASP.NET Tutorials</option><option value="codeigniter-tutorials">CodeIgniter Tutorials</option><option value="css-tutorials">CSS Tutorials</option><option value="html-tutorials">HTML Tutorials</option><option value="javascript-tutorials">JavaScript Tutorials</option><option value="jquery-tutorials">jQuery Tutorials</option><option value="ms-sql-tutorials">Ms SQL Tutorials</option><option value="mysql-tutorials">MySQL Tutorials</option><option value="php-tutorials">PHP Tutorials</option><option value="programming-tutorials">Programming Tutorials</option><option value="wordpress-themes">Wordpress Themes</option><option value="wordpress-tutorials">WordPress Tutorials</option><option value="xml-tutorials">XML Tutorials</option>                                </select>

                        </td>
                    </tr>

                    <tr id="row">
                        <td><b>Prove you're not a robot</b></td>
                        <td>
                            <script type="text/javascript" src="http://api.solvemedia.com/papi/challenge.script?k=hse4RWPEOMayq3QzRQiUZTnTtVkI8Jmf"></script>

<noscript>
    <iframe src="http://api.solvemedia.com/papi/challenge.noscript?k=XXXX" height="300" width="500" frameborder="0"></iframe><br/>
    <textarea name="adcopy_challenge" rows="3" cols="40"></textarea>
    <input type="hidden" name="adcopy_response" value="manual_challenge"/>
</noscript>                            </td>

                    </tr>

                    <tr id="row">
                        <td>
                                                                <input type="hidden" name="ok" value="1" />
                                                            <input type="hidden" name="by" value="seekphp" />
                            <input type="submit" name="submit" value="Submit Tutorial" />
                        </td>
                    </tr>
                </form>

            </table>
当我打印r($\u POST); 我得到了以下信息

Array ( [title] => test title [desc] => test desc [url] => test url [cat] => javascript-tutorials [adcopy_challenge] => 2@hse4RWPEOMayq3QzRQiUZTnTtVkI8Jmf@Szx1Cc29gNUENU8bgrSwY39APTC4lJjoCYJjyXvIJi2gPnq5tZIMpr0JgoGocL4bVHKrYt6Zyx3w-DAv2nYsjYiaeT-0C9Ec297zPussZKqXHDAdWTWT7ZcC1MklNV75-TPQzGDGu0yUgkDQWcRup.sNAOGBvK0cXCac1RzQ7T6adyI4bmcrNTpt7ANEEq2-1QcBgS8Uky6FxFHeFyGMDgzlJvqGyrBJfDRBNwroHBUXGHC1Jza9b54IS1.0E9kwlqZUOeBX9EomSEVcgrS6gA [ok] => 1 [by] => seekphp [submit] => Submit Tutorial ) 1
即使您认为您知道
$\u POST
数组中应该包含什么,如果您想避免注意,也不要假设它。Codeigniter有一个Input类,可以简化这一过程:

$_POST['doesnt exist']; // generates undefined index notice
$this->input->post('doesnt exist'); // returns FALSE, no notice
最重要的是,您在
标记中有输入,因此浏览器可能不会发送值

但是当我在IE9中提交表单时,它运行良好,没有发现错误


很可能是您关闭了javascript,或者IE出现了错误(很可能)。

我认为
$\u POST[“adcopy\u response”]
正在Captcha模型上使用,但它不在
$\u POST
最后,我通过删除
标签解决了问题。只有在浏览器中禁用脚本时,
中的代码才能工作。禁用浏览器中的脚本,然后运行它将非常有效。

自发猜测:有问题的表单字段位于
部分。如果Javascript处于活动状态,两个浏览器中的一个不会提交其中的字段。否则,您可以将其缩小到相关的代码部分,并包含一些您尝试过的调试信息吗?@deceze我已经更新了问题并粘贴了打印($\u POST)调试信息是的,再次查看,您的HTML对于嵌套在
中的
(可能更多)是无效的。在这种情况下,不同的浏览器行为不一样。
$_POST['doesnt exist']; // generates undefined index notice
$this->input->post('doesnt exist'); // returns FALSE, no notice