Предупреждение: возникла проблема с ненулевым значением c - PullRequest
1 голос
/ 24 апреля 2020

У меня проблема с онлайн-экзаменом, который выполняет эту ошибку: "в /storage/ssd4/822/13313822/public_html/examen/controlador/examenControl.php в строке 11"

ExamenControl . php это:

<?php
session_start();

require_once "../ruta.php";
require_once $_SERVER['DOCUMENT_ROOT'].ruta::ruta. '/Modelo/Beans/examen.php';
require_once $_SERVER['DOCUMENT_ROOT'].ruta::ruta. '/Modelo/Bo/examenBo.php';

switch ($_REQUEST['action']) {    
    case "evalua":
        $examen=new examen();    
        $examen->suma=$_POST['sum']+$_POST['sum2']+$_POST['sum3']+$_POST['sum4']+$_POST['sum5']+$_POST['sum6']+$_POST['sum7']+$_POST['sum8']+$_POST['sum9']+$_POST['sum10'];  
        $examen->r1=$_POST['sum'];
        $examen->r2=$_POST['sum2'];
        $examen->r3=$_POST['sum3'];
        $examen->r4=$_POST['sum4'];
        $examen->r5=$_POST['sum5'];         
        $examen->r6=$_POST['sum6'];         
        $examen->r7=$_POST['sum7'];         
        $examen->r8=$_POST['sum8'];         
        $examen->r9=$_POST['sum9'];         
        $examen->r10=$_POST['sum10'];         
        $examen->id= $_SESSION['idaspirante'];
        $bo=new examenBo();
        $r = $bo->registrarResultadoBo($examen);
        print($r);
        break;
}
?>

Я думаю, что проблема имеет значение, отличное от 0, но я не знаю, как решить. Как можно решить проблему?

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете устранить ошибку, преобразовав свои входные данные в числовые значения c, но будет лучше проверить эти входные данные и вернуть ошибку, если нет нужного типа значений

$examen->suma = floatval($_POST['sum']) + floatval($_POST['sum2']) + floatval($_POST['sum3']) + floatval($_POST['sum4']) + floatval($_POST['sum5']) + floatval($_POST['sum6']) + floatval($_POST['sum7']) + floatval($_POST['sum8']) + floatval($_POST['sum9']) + floatval($_POST['sum10']);
...