7

私のページに上記のエラーがあります。初めて PHP 5.3 を使用しており、以前にこのコードを使用したことがありますが、この通知は一度もなかったので、何らかのガイダンスを期待していました。私はいくつかの質問を見てきましたが、私のコードに解決策を適用しようとすると、うまくいかないようです。

このコードは、紙のマッシュアップからの PHP ページネーション スクリプトです。そのため、答えを見つけることができれば、このコードを使用していて同じ問題を経験している他の人に役立つかもしれません。

通知を生成しているコードはこれです -

$page = mysql_escape_string($_GET['page']);
if($page){
    $start = ($page - 1) * $limit; 
}else{
    $start = 0; 
    }   

私が読んだことから、 isset を追加することが提案されたため、コードを以下のように変更しましたが、それでも同じエラーが発生します。

$page = mysql_real_escape_string($_GET['page']);
 if(!isset($page)){
    $start = ($page - 1) * $limit; 
}else{
    $start = 0; 
    }   

アドバイスをいただければ幸いです。

ありがとう

スタン

4

7 に答える 7

6

「未定義のインデックス」エラーは基本的に、一致する要素がないインデックスを使用して配列から何かを取得しようとしたことを示しています。

この場合、問題はisset()呼び出しの上の行にあります。配列でインデックス'page'が定義されていません。したがって、最初にが設定されている$_GETかどうかを確認する必要があります。$_GET['page']

if (isset($_GET['page'])) {
  $page = mysql_real_escape_string($_GET['page']);
  // do more stuff
}
于 2012-09-17T23:08:42.517 に答える
1

私はいくつかの問題を抱えています..これは私が持っている最善かつ最短の解決策です..

$page = (isset($_GET["page"]) ? $_GET["page"]:$config["per_page"] ='');

また

$page = (isset($_GET['page'])) ? $_GET['page'] : 0;
于 2015-08-12T18:44:00.733 に答える
0

エラーは最初の行にあります

$page = isset($_GET['page']) ? mysql_real_escape_string($_GET['page']) : 0;
于 2012-09-17T23:08:27.843 に答える
0

コードで、ページが設定されていないかどうかを確認してからページを使用すると、同じ通知が表示されます。単に感嘆符をリモートにします。これを試して:

$page = mysql_real_escape_string($_GET['page']);
 if(isset($page)){
    $start = ($page - 1) * $limit; 
}else{
    $start = 0; 
}
于 2012-09-17T23:09:03.130 に答える
0

あなたのコードではわかりませんが、コードに空の変数があることは間違いありません$_GET['page']<a href="somePage.php?page=4ページネーションを行うとき、リンクのスタイルを使用している場合は、アンカー タグに変数を追加し続ける必要があります。

リンクをチェックして、常にそれを送り返していることを確認してください。

存在しない配列要素にアクセスしようとすると、エラー メッセージundefined indexが表示されます。この場合は、ほぼ確実に$_GET配列です。

于 2012-09-17T23:09:06.480 に答える
-1

このようにすればいい

if(isset($_GET['page']){  
  $page = mysql_real_escape_string($_GET['page']);  
  if(!isset($page)){  
     $start = ($page - 1) * $limit;   
  }else{  
    $start = 0; 
  }   
}

Undefined index: pagearray特定のエラーを指します。indexあなたのコードでは、値を持つ配列pageはある$_GETので、何らかの保護が必要なコードの最初の行にする必要があります。

于 2012-09-17T23:10:54.870 に答える