Copier donnees d'un formulaire dans 2 table BD et envoi mail

Résolu
oliviernapoleon Messages postés 22 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour
je suis entraine de mettre en place un formulaire qui me permettra d'enregistrer les données dans deux tables de la mm BD et les envoyer les mm données par mails a X et Y (X et Y sont des personnes ).

1 - lorsqu'on clique sur le bouton enregistrer du formulaire -----> les données (n_sav, date_appel..........., nom_technicien, contrat) sont envoyés vers les tables réception et rapports ensuite les mm données sont envoyés par mail vers le nom_technicien et nom_responsable.

2 - mon soucis est que les données n'arrivent pas vers la table RAPPORTS mais la table réception reçois les données

3 - je ne sais pas comment faire pour les envois de mail

aide moi svp

voici le code :

<?php

session_start();

$connection = mysqli_connect("localhost","root","","adminpanel") or die("Erreur de connexion.");

if(isset($_POST['save_btn']))
{
    $n_sav = $_POST['n_sav']; 
    $date_appel = $_POST['date_appel'];
    $nom_client = $_POST['nom_client'];
    $n_contrat = $_POST['n_contrat'];
    $contact = $_POST['contact'];
    $messages = $_POST['messages'];
    $repere = $_POST['repere'];
    $nombre_panne = $_POST['nombre_panne'];
    $nom_responsable = $_POST['nom_responsable'];
    $nom_technicien = $_POST['nom_technicien'];
    $contrat = $_POST['contrat'];
    
    $query = "INSERT INTO reception (n_sav,date_appel,nom_client,n_contrat,contact,messages,repere,nombre_panne,nom_responsable,nom_technicien,contrat) VALUES ('$n_sav','$date_appel','$nom_client','$n_contrat','$contact','$messages','$repere','$nombre_panne','$nom_responsable','$nom_technicien','$contrat')";
    
    $query_run = mysqli_query($connection, $query);
    
    if($query_run) {

        $query2 = "INSERT INTO rapports (n_sav,date_appel,nom_client,n_contrat,contact,messages,repere,nombre_panne,nom_responsable,nom_technicien,contrat) VALUES ('$n_sav','$date_appel','$nom_client','$n_contrat','$contact','$messages','$repere','$nombre_panne','$nom_responsable','$nom_technicien','$contrat')";
        
        $result = mysqli_query($connection, $query2);

        $_SESSION['success'] = "Panne enregistrée";
        header("Location: reception.php");
    }else{
        $_SESSION['status'] = "Panne non enregistrée";
        header("Location: reception.php");  
    }
}

?>

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    la première chose à faire, me semble-t-il, est de tester si la seconde insertion se passe bien.
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Commence par désactiver les lignes de redirection afin de pouvoir visualiser les éventuelles erreurs.
    Active ensuite l'affichage des erreurs PHP. ( voir le contenu de ce lien : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code )

    Modifie également un peu ton code pour intercepter les éventuelles erreurs mysqli
    en utilisant, pour tes requêtes, la forme :
    $result = mysqli_query($connection, $query2);
    if ($result) {
        printf("Message d'erreur : %s\n", mysqli_error($connection));
    }
    


    0
  3. oliviernapoleon Messages postés 22 Statut Membre
     
    bjr merci pour ta réponse mais j'ai essayer separement c'est a dire :
    <?php
    
    session_start();
    
    $connection = mysqli_connect("localhost","root","","adminpanel") or die("Erreur de connexion.");
    
    if(isset($_POST['save_btn']))
    {
        $n_sav = $_POST['n_sav']; 
        $date_appel = $_POST['date_appel'];
        $nom_client = $_POST['nom_client'];
        $n_contrat = $_POST['n_contrat'];
        $contact = $_POST['contact'];
        $messages = $_POST['messages'];
        $repere = $_POST['repere'];
        $nombre_panne = $_POST['nombre_panne'];
        $nom_responsable = $_POST['nom_responsable'];
        $nom_technicien = $_POST['nom_technicien'];
        $contrat = $_POST['contrat'];
        
        $query2 = "INSERT INTO rapports (n_sav,date_appel,nom_client,n_contrat,contact,messages,repere,nombre_panne,nom_responsable,nom_technicien,contrat) VALUES ('$n_sav','$date_appel','$nom_client','$n_contrat','$contact','$messages','$repere','$nombre_panne','$nom_responsable','$nom_technicien','$contrat')";
            
            $query_run= mysqli_query($connection, $query2);
        
        if($query_run) {
    
           
            $_SESSION['success'] = "Panne enregistrée";
            header("Location: reception.php");
        }else{
            $_SESSION['status'] = "Panne non enregistrée";
            header("Location: reception.php");  
        }
    }
    
    ?>
    
    


    c'est toujours la mm chose
    il n'arrive pas a copier dans la table rapports
    jajoute :
    $id_reception = $_POST['id_reception'];

    et
    $query2 = "INSERT INTO rapports (id_reception,n_sav,date_appel,nom_client,n_contrat,contact,messages,repere,nombre_panne,nom_responsable,nom_technicien,contrat) VALUES ('$id_reception ','$n_sav','$date_appel','$nom_client','$n_contrat','$contact','$messages','$repere','$nombre_panne','$nom_responsable','$nom_technicien','$contrat')";

    toujours pareil
    dit moi ou se trouve mon erreur
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Tant que tu n'auras pas viré les redirections et activé l'affichage des erreurs PHP .. tu ne trouveras pas
      Appliques ce que je t'ai déjà répondu dans mon premier message et reviens nous voir ensuite avec le résultat.....
      Sans ça;.. aucune aide supplémentaire ne te sera apporté.
      0