2017-06-24 13 views
-1

お知らせ:未定義のインデックス:Cでのキー:\ xamppの\ htdocsに\イオン-API \ライン22未定義のインデックス:キーのPHPのエラー

上の管理-data.phpそれはライン22は誤りであると言います、しかし、私はまだ2をイオン性新しい

$key = strip_tags($_REQUEST['key']); 

イムを解決するために把握カント、イムは、ちょうどこのエラー

<?php 
    header('Access-Control-Allow-Origin: *'); 

    // Define database connection parameters 
    $hn  = 'localhost'; 
    $un  = 'root'; 
    $pwd  = 'password'; 
    $db  = 'todo'; 
    $cs  = 'utf8'; 

    // Set up the PDO parameters 
    $dsn = "mysql:host=" . $hn . ";port=3306;dbname=" . $db . ";charset=" . $cs; 
    $opt = array(
      PDO::ATTR_ERRMODE   => PDO::ERRMODE_EXCEPTION, 
      PDO::ATTR_DEFAULT_FETCH_MODE > PDO::FETCH_OBJ, 
      PDO::ATTR_EMULATE_PREPARES => false, 
         ); 
    // Create a PDO instance (connect to the database) 
    $pdo = new PDO($dsn, $un, $pwd, $opt); 

    // Retrieve specific parameter from supplied URL 
    $key = strip_tags($_REQUEST['key']); 
    $data = array(); 


    // Determine which mode is being requested 
    switch($key) 
    { 

     // Add a new record to the technologies table 
     case "create": 

     // Sanitise URL supplied values 
     $name  = filter_var($_REQUEST['name'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW); 
     $description = filter_var($_REQUEST['description'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW); 

     // Attempt to run PDO prepared statement 
     try { 
      $sql = "INSERT INTO technologies(name, description) VALUES(:name, :description)"; 
      $stmt = $pdo->prepare($sql); 
      $stmt->bindParam(':name', $name, PDO::PARAM_STR); 
      $stmt->bindParam(':description', $description, PDO::PARAM_STR); 
      $stmt->execute(); 

      echo json_encode(array('message' => 'Congratulations the record ' . $name . ' was added to the database')); 
     } 
     // Catch any errors in running the prepared statement 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 

     break; 



     // Update an existing record in the technologies table 
     case "update": 

     // Sanitise URL supplied values 
     $name   = filter_var($_REQUEST['name'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW); 
     $description = filter_var($_REQUEST['description'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW); 
     $recordID  = filter_var($_REQUEST['recordID'], FILTER_SANITIZE_NUMBER_INT); 

     // Attempt to run PDO prepared statement 
     try { 
      $sql = "UPDATE technologies SET name = :name, description = :description WHERE id = :recordID"; 
      $stmt = $pdo->prepare($sql); 
      $stmt->bindParam(':name', $name, PDO::PARAM_STR); 
      $stmt->bindParam(':description', $description, PDO::PARAM_STR); 
      $stmt->bindParam(':recordID', $recordID, PDO::PARAM_INT); 
      $stmt->execute(); 

      echo json_encode('Congratulations the record ' . $name . ' was updated'); 
     } 
     // Catch any errors in running the prepared statement 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 

     break; 



     // Remove an existing record in the technologies table 
     case "delete": 

     // Sanitise supplied record ID for matching to table record 
     $recordID = filter_var($_REQUEST['recordID'], FILTER_SANITIZE_NUMBER_INT); 

     // Attempt to run PDO prepared statement 
     try { 
      $pdo = new PDO($dsn, $un, $pwd); 
      $sql = "DELETE FROM technologies WHERE id = :recordID"; 
      $stmt = $pdo->prepare($sql); 
      $stmt->bindParam(':recordID', $recordID, PDO::PARAM_INT); 
      $stmt->execute(); 

      echo json_encode('Congratulations the record ' . $name . ' was removed'); 
     } 
     // Catch any errors in running the prepared statement 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 

     break; 
    } 

?> 
+0

何供給URL – Rahul

+0

です。http:[「キー」] //localhost/ionic-api/manage-data.php が、それは$ _REQUESTなどの主要何であるか、あなたのURLで私にエラー応答 – markiam

+0

を与える – Rahul

答えて

1

をチェックするためのAntスクリプトが書かれている方法は、スイッチは、次に作成するのですし、それを必要とするよう要求キーが存在することを要求する、スコットはあなたがあれば間違いなくチェックする必要が示唆したのと同じようになど を削除キー値は

$default = 'create'; 
$key = isset($_REQUEST['key'])? strip_tags($_REQUEST['key']) : $default; 

それとも鍵が全く一致した場合の値を持っていないならば、あなたが何かを行う、あまりにもあなたのスイッチでデフォルトのアクションを持っている必要がありますのようなものとが存在します。

0

あなたをワットにこだわっPHPが、イムを通じてMySQLへのイオン接続しようとしています

if (isset($_REQUEST['key'])) { 
.... 
関連する問題