Why are my horizontal photos showing but not the vertical one

Viewed 31

I have an application which allow to add picture. I redefine the size in my php to not have a lots of data in my bdd. But when the picure is an verticale one it doesn't save it in my bdd. And when i read my code, I don't understand why? I think i missed something.

here is my PHP function:

function sauvegarderPrioOngletFenetre()
{

    $response[0] = "erreur1";
    $response[1] = "erreur2";
    if (isset($_POST['id_prio']) && isset($_POST['texte'])) {
        
        $response[0] = "erreur3";
        $response[1] = "erreur4";

        $id_prio = $_POST['id_prio'];
        $id_onglet = $_POST['id_onglet'];
        $texte = $_POST['texte'];
        $position = $_POST['position'];
        $dateid = $_POST['dateid'];
        $image_aide = "";
        $modifimg = "false";
        // ajout de l'image au formulaire

        if(isset($_FILES['photoAideDetail'])){
            //var de l'image
            $img = $_FILES['photoAideDetail']['name'];
            $tmp = $_FILES['photoAideDetail']['tmp_name'];

            
            // Définition de la largeur et de la hauteur maximale
            $width_max = 50000;

            $height_max = 50000;

            // Content type
            if (exif_imagetype($tmp) == IMAGETYPE_JPEG) {
                header('Content-Type: image/jpeg');
            } else if (exif_imagetype($tmp) == IMAGETYPE_PNG) {
                header('Content-Type: image/png');
            } 
            else if (exif_imagetype($tmp) == IMAGETYPE_JPG) {
                header('Content-Type: image/jpg');
            }
            
            // Cacul des nouvelles dimensions
            list($width_orig, $height_orig) = getimagesize($tmp);

            $ratio_orig = $width_orig/$height_orig;

            if ($width_max/$height_max > $ratio_orig) {
                $width_max = $height_max*$ratio_orig;
            } else {
                $height_max = $width_max/$ratio_orig;
            }

            // Redimensionnement
            if (exif_imagetype($tmp) == IMAGETYPE_JPEG) {
                $image = imagecreatefromjpeg($tmp);
            } else if (exif_imagetype($tmp) == IMAGETYPE_PNG) {
                $image = imagecreatefrompng($tmp);
            } else if (exif_imagetype($tmp) == IMAGETYPE_JPG) {
                $image = imagecreatefromjpg($tmp);
            }
            
            $img = imagescale($image, 750);
            imagejpeg($img, "../ImagesPrio/" . $img, 80);
            
            $image_aide = file_get_contents("../ImagesPrio/" . $img);
            $modifimg = "true";
        }

        $dbcontroller = new DBController();
        //si l'id prio est 0 donc c'est une nouvelle prio on fait un insert
        if ($id_prio == 0) {
            $remonte = 1;
            
            $stmt = mysqli_prepare($dbcontroller->getConn(), "INSERT INTO prio(dateid, texte, image_aide, position, id_onglet, remonte) VALUES (?, ?, ?, ?, ?, ?)");
            mysqli_stmt_bind_param($stmt, 'sssiii', $dateid, $texte, $image_aide, $position, $id_onglet, $remonte);
            $data = $dbcontroller->executeQueryMSQL($stmt);

            $id_prio_origin = $stmt->insert_id;
            
            if ($data) {
                $response[0] = "Priorité sauvegardée !";

                //on remonte une prio dans un autre onglet si necessaire
                $stmt2 = mysqli_prepare($dbcontroller->getConn(), "SELECT * FROM onglet WHERE id_onglet = ?");
                mysqli_stmt_bind_param($stmt2, 'i', $id_onglet);
                $data2 = $dbcontroller->executeSelectQueryMSQL($stmt2);
                
                if($modifimg == "true"){
                    if ($data2) {
                        $ongletremonte = $data2[0]['id_remonte_onglet'];
                        $stmt3 = mysqli_prepare($dbcontroller->getConn(), "INSERT INTO prio(dateid, texte, image_aide, position, id_onglet, id_prio_origin, remonte) VALUES (?, ?, ?, ?, ?, ?, ?)");
                        mysqli_stmt_bind_param($stmt3, 'sssiiii', $dateid, $texte, $image_aide, $position, $ongletremonte, $id_prio_origin, $remonte);
                        $data3 = $dbcontroller->executeQueryMSQL($stmt3);
                        
                        if ($data3) {
                            $response[0] = "Priorité sauvegardée et remontée dans un autre onglet 1!";
                        }
                    }
                }elseif($modifimg == "false"){
                    if ($data2) {
                        $ongletremonte = $data2[0]['id_remonte_onglet'];
                        $stmt3 = mysqli_prepare($dbcontroller->getConn(), "INSERT INTO prio(dateid, texte, image_aide, position, id_onglet, id_prio_origin, remonte) VALUES (?, ?, NULL, ?, ?, ?, ?)");
                        mysqli_stmt_bind_param($stmt3, 'ssiiii', $dateid, $texte, $position, $ongletremonte, $id_prio_origin, $remonte);
                        $data3 = $dbcontroller->executeQueryMSQL($stmt3);
                        
                        if ($data3) {
                            $response[0] = "Priorité sauvegardée et remontée dans un autre onglet 2!";
                        }
                    }
                }
            } else {
                $response[1] = "Priorité non sauvegardée";
            }
    } 
    //ob_clean();
    return json_encode($response);
}

and here my Js function

function sauvegarderPrioOngletFenetre(){
//pour charque prio on recupere l'id et le text à inserer en bdd
$("#priorite").find('.prioDiv').each(function() {

    var id_prio = $(this).data("id-prio");
    var id_onglet = $(this).data("id-onglet");
    if(id_onglet == ""){
        id_onglet = document.getElementById("idOG").value;
    }
    var position = $(this).data("position");
    var week = $("#semainePrio").text();
    var jour = $("#selectJourPrio").val();
    var dateid = week + "-D" + jour;
    //A changer pour le pilote
    var texte = "";
    //recupere le texte de la prio
    $(this).find("textarea").each(function() {
       texte = $(this).val();
    });
    //si la prio est vide on la sauvegarde pas
    vide = texte.replace(/\s/g, "");
    if(vide == ""){

    }else{         
        // Methode ajout dans tableau
            var l = new FormData();
            l.append('id_prio',id_prio);
            l.append('texte',texte);
            l.append('position',position);
            l.append('id_onglet',id_onglet);
            l.append('dateid',dateid);
            
            if (document.getElementById(`photoAideDetail${position}`).files.length > 0) {
                l.append('photoAideDetail', jQuery(`#photoAideDetail${position}`)[0].files[0]);

                // jQuery.each(jQuery(`#photoAideDetail${position}`)[0].files, function (i, file) {
                //     l.append('photoAideDetail', file);
                // });
            }


        $.ajax({
            cache:false,
            url: "data/sauvegarderPrioOngletFenetre",
            type: "POST",
            async: false,
            data: l,
            processData: false,
            contentType: false,
            success:function(response, status){
                 console.log(65, response);
                 console.log(66, l.append('photoAideDetail',jQuery(`#photoAideDetail${position}`)));
                 response = JSON.parse(response);  
                if(response[0] == "erreur1" && response[1] == "erreur2"){
                    erreur('Une erreur est survenu lors de la sauvegarde!');
                }else{
                    if(response[0] == "erreur1"){
                        erreur(response[1]);
                    }else{
                        reussite(response[0]);
                    }
                }
            },
            error: function(response, status){
            }
        });
    }

});

}

And in my console ti show me: 65 '["erreur3","Priorit\u00e9 non sauvegard\u00e9e"]' and 66 undefined

Thank you

0 Answers
Related