Php 注意:未定义索引
这是我的代码,我在edit.php中使用它来编辑我的数据库,但是当我直接在浏览器中打开这个页面时,我得到了错误Php 注意:未定义索引,php,oracle,Php,Oracle,这是我的代码,我在edit.php中使用它来编辑我的数据库,但是当我直接在浏览器中打开这个页面时,我得到了错误注意:未定义的索引:OPRID 但现在我已经打开了这条路径的页面 Optr_Edit.php?OPRID=<?=$objResult["OPRID"];?> Optr_Edit.php?OPRID= 是对是错。。。告诉我 <? include ('connection.php'); $strSQL = "SELECT * FROM OPERATOR WHERE O
注意:未定义的索引:OPRID
但现在我已经打开了这条路径的页面
Optr_Edit.php?OPRID=<?=$objResult["OPRID"];?>
Optr_Edit.php?OPRID=
是对是错。。。告诉我
<?
include ('connection.php');
$strSQL = "SELECT * FROM OPERATOR WHERE OPRID = '".$_GET["OPRID"]."' ";
$objParse = oci_parse ($ora_conn, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
$objResult = oci_fetch_array($objParse);
if(!$objResult)
{
echo "Not found OPRID=".$_GET["OPRID"];
} else {
....
?>
当从另一个html表单调用php模块时,
$GET包含CGI参数。如果直接打开php文件,则不会有任何参数,除非使用mypage.php?OPRID=XX提供这些参数
http://www.yourdomain.com/path/edit.php?OPRID=hello
使用此URL,$\u GET[“OPRID”]
将包含“hello”。如果您没有通过类似的URL传入任何内容,即http://www.yourdomain.com/path/edit.php
则不会设置$\u GET[“OPRID”]
。GET
参数是URL中的参数
例如:
?OPRID=test
现在,您可以通过$\u get
字典获取值“test”:
print $_GET["OPRID"];
输出将是
试验
你必须这样称呼它:
edit.php?OPRID=<your value here>
请确保从$\u GET中转义这些值,因为攻击者可以轻松键入:
edit.php?OPRID=1"or"1"="1
或者更糟。了解更多信息:您可以使用内置函数filter\u input()
使用此函数,您将不会记录错误或通知,并且您的变量将始终有一个值并被清除
编辑:
而不是使用
$\u GET[“OPRID”]
你可以用几次
$oprid=filter\u input(input\u GET,'oprid')代码>
在你的剧本里。在这一行之后,您有一个变量$oprid
,如果$\u GET
中的索引oprid
未设置,则该变量的定义值将为null
摘自php.net:
返回值:
成功时请求的变量的值,如果筛选器失败则为FALSE,如果未设置变量名称变量则为NULL。如果使用“过滤器失败时为空”标志,如果未设置变量,则返回FALSE;如果过滤器失败,则返回NULL。url中是否有名为OPRID的字段?错误显示没有类似于$\u GET[“OPRID”]的值
在直接加载脚本时,尝试将isset checkingpassOPRID
设置为url中的get参数。最可能的情况是,$\u get[“OPRID”]
未设置..请解释您的ans..现在查看我的编辑页面..从外观上看,您混淆了哪个页面是哪个页面。假设您发布的代码是用于edit.php
访问该页面时,您应该具有edit.php?OPRID=value
。这就是你们正在做的吗?所以我在这里做的…如何使用这里的函数告诉我..你好..现在看到我的代码。。
if(isset($_GET['OPRID']))
{
//DO STUFF
}
else
{
//ECHO: NO OPRID FOUND
}
edit.php?OPRID=1"or"1"="1