Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 注意:未定义索引_Php_Oracle - Fatal编程技术网

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

这是我的代码,我在edit.php中使用它来编辑我的数据库,但是当我直接在浏览器中打开这个页面时,我得到了错误
注意:未定义的索引: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 checkingpass
OPRID
设置为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