IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

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


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Copier donnees d'un formulaire dans 2 table BD et envoi mail
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <?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");  
        }
    }
     
    ?>

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Bonjour,

    A priori, votre première requête ne s'exécute pas correctement, et vu que c'est la condition pour qu'il passe à la seconde requête, il faudrait voir ce qui ne va pas dans la première requête.

    Pensez à afficher les erreurs SQL, de cette façon on verra ce qui ne va pas
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_run = mysqli_query($connection, $query) or trigger_error("Query Failed! SQL: $query - Error: ".mysqli_error($connection), E_USER_ERROR);

    En tout cas, y'a des gros problèmes car vous ne vérifiez absolument pas les données que vous insérez.
    D'une part, ça peut générer une erreur mais c'est surtout un énorme trou de sécurité !!
    Le plus propre selon moi est d'utiliser des requêtes préparées. Dans ce cas-ci, utilisez mysqli_prepare()

    Il faudrait également la structure et les index des tables concernées vu que si le format n'est pas respecté ou qu'il y un problème d'index, il y a potentiellement une erreur à ce niveau.

    Pour ce qui est de l'envoi d'email, c'est tout simplement la fonction mail() (attention qu'en localhost c'est un peu compliqué à utiliser et il faut passer par un SMTP)

Discussions similaires

  1. [AC-2010] Copier plusieurs enregistrement d'un sous formulaire dans une table
    Par bvalenza dans le forum Access
    Réponses: 11
    Dernier message: 02/03/2018, 23h23
  2. Réponses: 3
    Dernier message: 21/05/2007, 13h49
  3. Réponses: 3
    Dernier message: 06/11/2006, 09h14
  4. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 11h45
  5. Réponses: 8
    Dernier message: 21/04/2006, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo