1

これがPHPエラーを返す理由について頭を悩ます:未定義のオフセット:1

public function index($hash)
    {   
        //$hash = 44253_13456789
        list($part1,$part2) = explode('_', $hash);

        $id = $part1;

        $tpl_data = array('id' => $id );
        $this->load->view('main/index', $tpl_data);
    }

list() = expand(); でエラーが発生しています。これについての洞察をありがとう。

エラーの URL は次のとおりです。http://www.onlinealbumproofing.com/beta/ipad/index/44253_1368207168

更新しました:

ここにコントローラーコードがあります。

echo $hash;

list($part1,$part2) = explode('_', $hash);

$id = $part1;

$tpl_data = array('id' => $id );
$this->load->view('ipad/index', $tpl_data);

再度更新.... OK、Ajaxリクエストでエラーが発生しているようです

var id = $('body').attr('id');

    $.ajax({
        url: 'ipad/loadImages',
        type: 'POST',
        dataType: 'json',
        data: {id: id},
        success: function(json, textStatus, xhr) {
            for (var i = 0; i < json.images.length; i++) {

                //do something
            }
        }, error: function(json, textStatus) {
            console.log(textStatus);
        }
    });
4

3 に答える 3

2

あなたの問題は、explode() が 1 つの値のみを返すように見えることです。

list() はしようとしています:

 $tmp = explode("_", $hash);
 $part1 = $tmp[0];
 $part2 = $tmp[1]; //Here is your undefined offset.

$hash 値を再確認してください。

于 2013-05-23T15:51:49.113 に答える
0

2これは、爆発関数から返されるトークンがないために発生しています。つまり、入力をチェックして、必要な 2 つのトークンを確実に取得する必要があります。

于 2013-05-23T15:51:48.083 に答える