Skip to main content

CRUD, Undefined array key PHP [duplicate]

Hey i have a problem in my code i dont understand why i have searched everywhere with no results. I added well enctype="multipart/form-data" in the form,

My error is :

Warning: Undefined array key "fichier" in F:\3_Application_XAMPP\htdocs\PR_DATA\V2\backend\save.php on line 9

Warning: Trying to access array offset on value of type null in F:\3_Application_XAMPP\htdocs\PR_DATA\V2\backend\save.php on line 9

Warning: Undefined array key "fichier" in F:\3_Application_XAMPP\htdocs\PR_DATA\V2\backend\save.php on line 11

Warning: Trying to access array offset on value of type null in F:\3_Application_XAMPP\htdocs\PR_DATA\V2\backend\save.php on line 11

Database info

save.php :

    <?php
include 'database.php';

if(count($_POST)>0){
    if($_POST['type']==1){
        $mandataire=$_POST['mandataire'];
        $entreprise=$_POST['entreprise'];
        $description=$_POST['description'];
        $nomfichier = $_FILES['fichier']['name'];
        $destinationfichier = 'upload/'. $nomfichier;
        $tmpFichier = $_FILES['fichier']['tmp_name'];
        $taille = $_FILES['fichier']['size'];
        $extension = pathinfo($nomfichier, PATHINFO_EXTENSION);

        if (!in_array($extension, ['zip', 'pdf', 'docx'])) {
            echo "Votre fichier doit être un .zip, .pdf ou .docx";
        } elseif ($taille > 100000000) {
            echo "Fichier trop grand !";
        } else {
            if (move_uploaded_file($tmpFichier, $destinationfichier))
            {
                $sql = "INSERT INTO tbldata(tblmandataire_manId, tblentreprise_entId, daDescription, daFichierAdmin, daTailleFichier) VALUES('$mandataire', '$entreprise','$description', '$nomfichier', '$taille')";
                

                if (mysqli_query($conn, $sql))
                {
                    echo json_encode(array("statusCode"=>200));
                    echo "Fichier téléchargé avec succès ! Mandat ajouté avec succès !";
                }
            } 
                else
                {
                    echo "Échec du téléchargement du fichier.";
                    echo "Erreur: " . $sql . "<br>" . mysqli_error($conn);
                }
        }
    }
    mysqli_close($conn);

}

index.php :

    <!-- Ajouter un mandat -->
<div id="addMandat" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <form id="mandat_form" enctype="multipart/form-data">
                <div class="modal-header">                      
                    <h4 class="modal-title">Ajouter un mandat</h4>
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                </div>
                <div class="modal-body">                    
                    <div class="form-group">
                        <label>Mandataire</label><br/>
                        <select id="mandataire" name="mandataire">
                            <?php
                            $resultat = mysqli_query($conn,"SELECT * FROM tblmandataire");
                            while($row = mysqli_fetch_array($resultat))
                            { ?>
                                <option value="<?php echo $row["manId"]; ?> "><?php echo $row["manNom"]; echo '&nbsp;'; echo $row["manPrenom"]; ?></option>
                            <?php } ?>
                      </select>

                    </div>

                    <div class="form-group">
                        <label>Entreprise</label><br/>
                        <select id="entreprise" name="entreprise">
                            <?php
                            $resultat = mysqli_query($conn,"SELECT * FROM tblentreprise");
                            while($row = mysqli_fetch_array($resultat))
                            { ?>
                                <option value="<?php echo $row["entId"]; ?>"><?php echo $row["entNom"]; ?></option>
                            <?php } ?>
                      </select>

                    </div>
                    <div class="form-group">
                        <label>Description</label>
                        <input type="text" id="description" name="description" class="form-control" required>
                    </div>
                    <div class="form-group">
                        <label>Document administratif (.zip, .pdf ou .docx)</label>
                        <input type="file" id="fichier" name="fichier" class="form-control" required>
                    </div>                  
                </div>
                <div class="modal-footer">
                    <input type="hidden" value="1" name="type">
                    <input type="button" class="btn btn-default" data-dismiss="modal" value="Annuler">
                    <button type="button" class="btn btn-success" id="btn-add">Ajouter</button>
                </div>
            </form>
        </div>
    </div>
</div>

ajax.js :

$(document).on('click','#btn-add',function(e) {
    var data = $("#mandat_form").serialize();
    $.ajax({
        data: data,
        type: "post",
        url: "backend/save.php",
        success: function(dataResult){
                var dataResult = JSON.parse(dataResult);
                if(dataResult.statusCode==200){
                    $('#addMandat').modal('hide');
                    alert('Mandat ajouté avec succès !'); 
                    location.reload();                      
                }
                else if(dataResult.statusCode==201){
                   alert(dataResult);
                }
        }
    });
});


source https://stackoverflow.com/questions/70635801/crud-undefined-array-key-php

Comments

Popular posts from this blog

Prop `className` did not match in next js app

I have written a sample code ( Github Link here ). this is a simple next js app, but giving me error when I refresh the page. This seems to be the common problem and I tried the fix provided in the internet but does not seem to fix my issue. The error is Warning: Prop className did not match. Server: "MuiBox-root MuiBox-root-1" Client: "MuiBox-root MuiBox-root-2". Did changes for _document.js, modified _app.js as mentioned in official website and solutions in stackoverflow. but nothing seems to work. Could someone take a look and help me whats wrong with the code? Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console