相关疑难解决方法(0)

使用PHP"注意:未定义的变量","注意:未定义的索引"和"通知:未定义的偏移量"

我正在运行PHP脚本,并继续收到如下错误:

注意:未定义的变量:第10行的C:\ wamp\www\mypath\index.php中的my_variable_name

注意:第11行的未定义索引:my_index C:\ wamp\www\mypath\index.php

第10行和第11行看起来像这样:

echo "My variable value is: " . $my_variable_name;
echo "My index value is: " . $my_array["my_index"];
Run Code Online (Sandbox Code Playgroud)

这些错误消息的含义是什么?

他们为什么突然出现?我曾经使用这个脚本多年,我从来没有遇到任何问题.

我该如何解决?

这是一个一般参考问题,供人们链接到重复,而不是一遍又一遍地解释这个问题.我觉得这是必要的,因为关于这个问题的大多数现实世界的答案都非常具体.

相关元讨论:

php arrays variables warnings undefined-index

1119
推荐指数
20
解决办法
163万
查看次数

$ _REQUEST有安全问题吗?

我的心腹正在学习PHP,
他给我发了他的PHP代码,
我发现他在代码中使用$ _REQUEST.

我读过的教科书说
$ _REQUEST有安全问题所以
我们最好使用$ _POST.

所以我回答了心腹,
我们最好使用$ _POST.

这个可以吗?

php security

18
推荐指数
3
解决办法
4702
查看次数

为什么我应该使用$ _GET和$ _POST而不是$ _REQUEST?

除了$_REQUEST从cookie读取的事实,是否有任何理由我应该使用$_GET$_POST不是$_REQUEST?这样做的理论和实践原因是什么?

php security

8
推荐指数
3
解决办法
4553
查看次数

保护我的网站

我正在用w3af审核我的网站.

它说它在我的网站上发现了几个问题,但我怀疑情况确实如此.

其中一个问题是:

URL:http:// localhost/en/login容易受到跨站点请求伪造.它允许攻击者在将数据发送到服务器时将方法从POST交换到GET.

我很确定它不容易受到csrf攻击,因为我在我的表单中使用了crsf保护(带有令牌的字段被检查).

所以我想知道这条消息是关于什么的:

它允许攻击者在将数据发送到服务器时将方法从POST交换到GET.

我不在乎攻击者是否可以切换POSTGET或做到我?

如果我能这样做,请解释我为什么这样做?怎么被利用?

php security

8
推荐指数
1
解决办法
329
查看次数

如何在PHP中将变量作为$ _POST键传递?

如何在PHP中将变量作为$ _POST数组键值传递?还是不可能?

$test = "test";
echo $_POST[$test];
Run Code Online (Sandbox Code Playgroud)

谢谢

php variables

6
推荐指数
3
解决办法
6万
查看次数

HTML表单不使用PHP将数据发送到MySQL

我有一个HTML格式的表单,但它的设置并不像我想的那样正常.我将发布代码形式的HTML(PHP)文件和PHP将其发送到数据库.

<form action="upload.php" method="POST">
    <!-- Name input-->
    <div class="form-group">
      <label class="control-label" for="name">Name</label>
      <div class="">
        <input id="name" name="name" placeholder="First and Last Name" class="form-control input-md" type="text" required>
      </div>
    </div>
    <div class="form-group">
        <label class=" control-label" for="supportingDoc">Upload Supporting Documentation</label>
        <div class="">
            <input id="supportingDoc" name="supportingDoc" class="input-file" type="file" style="margin-top: .5em; margin-left: 4em;">
        </div>
    </div>
    <hr>
      <!-- Submit -->
      <div class="form-group">
        <label class="control-label" for="submit"></label>
        <div class="">
          <button value="Submit" type="submit" id="submit" name="submit" class="btn btn-danger" style="border-radius: 25px;">Submit</button>
        </div>
      </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的SQL/PHP

<?php
    $servername = "localhost";
    $username = "xxx";
    $password …
Run Code Online (Sandbox Code Playgroud)

html php mysql mysqli

6
推荐指数
1
解决办法
788
查看次数

带有CodeIgniter的Facebook PHP-SDK没有返回$ _REQUEST ['signed_request']

class Example extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }

    function index()
    {

        $this->load->library('facebooklib');

        $user = $this->facebooklib->getUser();

        if ($user) {
            try {
                $data['user_profile'] = $this->facebooklib->api('/me');
            } catch (FacebookApiException $e) {
                $user = null;
            }
        }

        var_dump($_REQUEST);

        if ($user) {
            $data['logout_url'] = $this->facebooklib->getLogoutUrl();
        } else {
            $data['login_url'] = $this->facebooklib->getLoginUrl();
        }

        $this->load->view('view',$data);
    }
}
Run Code Online (Sandbox Code Playgroud)

点击登录链接后,我被带到Facebook权限页面,我接受了,并且我返回到没有数据的同一页面.

array(3) {
  ["/example"]=>
  string(0) ""
  ["PHPSESSID"]=>
  string(32) "33a446883d4fb1877fb6dcff6d70799a"
  ["ci_session"]=>
  string(311) "a:4:{s:10:"session_id";s:32:"d8bb3926550e3ec1b9d075b456708e9b";s:10:"ip_address";s:9:"127.0.0.1";s:10:"user_agent";s:120:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19";s:13:"last_activity";i:1336011855;}c874fb95984396f04ab6cc17217102d7"
}
Run Code Online (Sandbox Code Playgroud)

我的$ _REQUEST转储并没有真正显示signed_request,这是一个问题.

php facebook codeigniter facebook-php-sdk

4
推荐指数
1
解决办法
2741
查看次数

是否有一个PHP变量,包括$ _GET和$ _POST的合并?

$ _REQUEST包含我在表格帖子中不需要的cookie.

php

3
推荐指数
1
解决办法
1429
查看次数

将数据发布到没有表单的URL

我正在尝试将数据发布到我的网址,但表单没有识别任何发布的内容.

HTTP://localhost/webpanel/createkeys.php pcname =乔 - 用户名= guessme

所以肯定在下面的代码中应该存储$ post值?

$_POST['pcname'];
$_POST['username'];
Run Code Online (Sandbox Code Playgroud)

但当我加载我发布的网址时,我收到此错误:

致命错误:带有消息'SQLSTATE [23000]的未捕获异常'PDOException':完整性约束违规:1048列'pcname'不能为空'

其余的代码发布在下面,它是一个简短的PHP文件,但无法解决问题.

<?php


// if(!isset($_POST) || empty($_POST['pcname'])) {
//  exit;
// }

$pcname = $_POST['pcname'];
$username = $_POST['username'];

include 'db.php';
$stmt = $connection->prepare('INSERT INTO dummy (pcname, username, privatekey) VALUES (?, ?, ?)');

$stmt->execute([
    $pcname,
    $username,
    $privatekey
]);
Run Code Online (Sandbox Code Playgroud)

php mysql post

3
推荐指数
1
解决办法
551
查看次数

整个$ _REQUEST数组的mysql_real_escape_string(),还是需要遍历它?

有没有更简单的方法来安全地提取除以下之外的提交变量?

if(isset($_REQUEST['kkld'])) $kkld=mysql_real_escape_string($_REQUEST['kkld']);
if(isset($_REQUEST['info'])) $info=mysql_real_escape_string($_REQUEST['info']);
if(isset($_REQUEST['freq'])) $freq=mysql_real_escape_string($_REQUEST['freq']);
Run Code Online (Sandbox Code Playgroud)

(而且:你会isset()在这种情况下使用吗?)

php mysql mysql-real-escape-string

2
推荐指数
1
解决办法
2万
查看次数

初学者到JSON和PHP

抱歉这个简单的问题.

我使用以下代码将JSON对象发布到PHP页面:

    $.get("ProcessName.php", { name: "John" },
        function(data){
            alert("Data Loaded: " + data);
        });
Run Code Online (Sandbox Code Playgroud)

我需要在ProcessName.php中编写什么代码才能让警报显示名称是John?

我意识到我可以在客户端上处理JSON对象,但这是一个简单的例子,可以帮助我理解PHP页面如何读取从客户端发送的JSON对象.我已准备好许多问题和初学者教程,但他们似乎都跳过了这个简单的步骤,或者我可能错过了一些东西.

谢谢,

php jquery

1
推荐指数
1
解决办法
213
查看次数

如何使用php从URL获取id

我的搜索页面上有这个代码:

<a href="detail.php?id=<?php echo $ido;?>"STYLE="TEXT-DECORATION: NONE"><?php echo $nume;?></a>
Run Code Online (Sandbox Code Playgroud)

我也有一个detail.php页面.我需要$ido从URL 获取值,以便我可以在detail.php页面中使用它来从数据库中检索信息.

详细信息页面有一个这样的URL:detail.php?id=17我需要=在这种情况下获取17一个变量之后的值.

php

-2
推荐指数
1
解决办法
6万
查看次数