Как я могу решить неопределенную ошибку индекса для моего кода - PullRequest
0 голосов
/ 13 апреля 2019
"Spend Added Successfully"<br />
<b>Notice</b>:  Undefined index: date in <b>C:\xampp\htdocs\mobile\public\index.php</b> on line <b>17</b><br />
<br />
<b>Notice</b>:  Undefined index: reason in <b>C:\xampp\htdocs\mobile\public\index.php</b> on line <b>18</b><br />
<br />
<b>Notice</b>:  Undefined index: amount in <b>C:\xampp\htdocs\mobile\public\index.php</b> on line <b>19</b><br />

Когда я использую метод post для этого кода, нулевые значения передаются в базу данных mySQL.Чтобы решить эту ошибку, я получил несколько решений, в которых говорится, что нужно использовать функцию isset.При использовании этого я получил неопределенную ошибку переменной.Чтобы решить эту проблему, я сделал переменные глобальными, даже подумав, что не получаю ошибки, но значения Null передаются в мою базу данных.Я не знаю, как решить эту проблему.

Это мой код операций с данными о том, как создать пользователя

 public function createSpending($date, $reason, $amount){

                 $stmt = $this->con->prepare("INSERT INTO spending(date, reason,amount) VALUES (?, ?, ?)");
                 $stmt->bind_param("sss", $date, $reason, $amount);
                 if($stmt->execute()){
                     return Spend_Added; 
                 }else{
                     return Spend_notAdded;
                 }
         }

Это код моей страницы индекса для чтения данных от пользователя.

$app->post('/addSpend', function(Request $request, Response $response){


    $request_data = $request->getParsedBody();
    $date = $request_data['date'];
    $reason = $request_data['reason'];
    $amount = $request_data['amount'];
    $db = new DbOperations; 
    $result = $db->createsSpending($date, $reason, $amount);

    if($result == Spend_Added){

        $response->write(json_encode('Spend Added Successfully'));
        return $response
                    ->withHeader('Content-type', 'application/json')
                    ->withStatus(201);
    }else if($result == Spend_notAdded){

        $response->write(json_encode('Spend Adding Failed'));
        return $response
                    ->withHeader('Content-type', 'application/json')
                    ->withStatus(422);    
    }

});

$app->run();

, когда пользователь передает значения даты, суммы, причины.Эти значения должны быть введены в базу данных.

...