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

HTML Discussion :

[Form] deux actions dans un formulaire ?


Sujet :

HTML

  1. #1
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut [Form] deux actions dans un formulaire ?
    Hello
    je voudrai savoir si il est possible d'effectuer 2 actions dans un form au clic sur le bouton.
    Par exemple, sur ma page formulaire en html, quand je clic sur "envoyer" j'insère dans ma BDD les données saisies par l'utilisateur, donc j'apelle la page php concerné qui fera l'action, et je voudrai quand meme temps il aille chercher une autre page php qui envoie 1 mail à l'admin du site avec les données saisies.

    mes pages de codes fonctionnent sans problème, le soucis se pose juste au niveau de si oui ou non il y a possibilité d'effectuer ces 2 actions sur le clic.
    Si oui, quelqu'un pourrait il m'indiquer la maniere de faire ?


    ce code la pourrait il fonctionner ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT TYPE="button" ONCLICK="document.forms['1er'].submit();document.forms[2em].submit()">
    où '1er' est la 1ere page apelé et '2em' la seconde
    auquel cas dois-je enlever l'action dans la balise <form> ?
    ou je la laisse et je met juste l'onclick qui pointe sur 1 page ?

    merci d'avance.
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  2. #2
    Membre chevronné Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Par défaut
    Salut

    Ne serait-il pas plus simple de fusionner les 2 actions dans un même fichier si les 2 sont opérationnelles ?!

  3. #3
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    ba j ai essayé, mais n'étant pas un pro du php ... forcément ca marche pas
    ^^
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Il suffit de faire l'insertion, puis l'envoi du mail dans le script PHP
    Aucune difficulté.

  5. #5
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    ba j'ai déja essayé, et je pense que j'ai du mal implémenter les 2 pages, désolé de pas etre aussi bon que toi, d'où ma question ...
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    formulaire.html avec action script.php
    Tu as ton script PHP script.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    tu fais insertions dans la bdd
     
    envoi du mail
    ?>

  7. #7
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    Nan mais prend moi pour une bille aussi ^^ j'ai quand meme un minimum de bases ...
    Comme je l ai deja dit auparavant, je suis loin d'etre une bete en php
    mes 2 scripts fonctionnent impec de façon isolé, mais regroupés ensemble tels quel ... ba la ca passe pas, et je ne m'y connait pas suffisament pour voir et savoir quoi modifier.


    edit : c'est bon j'ai réussi en jouant sur les submit
    merci de votre aide toutefois
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    j'ai quand meme un minimum de bases ...
    et pourtant tu dis ne pas être une bête...

    Pourquoi faire deux scripts distincts pour un formulaire, je ne connais pas ton script, mais à la fin de l'insertion tu rajoutes un envoi de mail et c'est tout.
    Sinon post ton script problèmatique dans le forum approprié, maintenant attention si tu utilises du javascript, celà indique que ca ne fonctionnera pas si JS est désactivé...

  9. #9
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    quand tu joues au foot, tu connais les règles, mais t'es pas un joueur pro pour autant
    mon code est en php
    formulaire en html
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  10. #10
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    mon code est en php
    formulaire en html
    J'avais pas remarqué !
    Juste comme ca :
    Citation Envoyé par blueice
    formulaire.html avec action script.php
    Tu as ton script PHP script.php :
    J'avais donc compris !
    Tu as donc ton formulaire, tu l'envoies à ton script PHP (quoi que, tu pourrais tout faire dans la même page formulaire+script) et dans ta page de script tu fais ton insertion, une fois que c'est fini, tu continues avec l'envoi de l'email...

  11. #11
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    bah peut etre
    pour le moment j'ai gardé le JS pour l'envoi et l'insertion, mais j essais quand meme de forcé tout le php dans la meme page, voir le formulaire en plus, mais avec mon niveau , ca commence a être tendu ^^
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  12. #12
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Tu inséres des données dans une BDD avec du JS ?
    JS est un langage client, il te faut un langage serveur pour faire l'insertion...

  13. #13
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    nan ...
    j ai 2 action en js sur le submit, qui appele chacun 1 script php, l'un insere dans la BDD, l'autre envoie le mail avec les données pour la verification
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  14. #14
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Tu veux pas montrer tes 2 scripts ?
    Je regarderais en fin d'après-midi, je suis en RDV d'ici 10 minutes.

  15. #15
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    si tu veux

    insertion
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    <?php
     
    // On commence par récupérer les champs 
     
    // si on renseigne le champs "societe", alors la variable $soc prendra la valeur de ce champs, sinon elle reste vide. le ['societe'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['societe']))      $soc=$_POST['societe'];
    else      $soc="";
     
    // si on renseigne le champs "activite", alors la variable $act prendra la valeur de ce champs, sinon elle reste vide. le ['activite'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['activite']))      $act=$_POST['activite'];
    else      $act="";
     
    // si on renseigne le champs "code_ape", alors la variable $ape prendra la valeur de ce champs, sinon elle reste vide. le ['code_ape'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['code_ape']))      $ape=$_POST['code_ape'];
    else      $ape="";
     
    // si on renseigne le champs "num_siren", alors la variable $si prendra la valeur de ce champs, sinon elle reste vide. le ['num_siren'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['num_siren']))      $si=$_POST['num_siren'];
    else      $si="";
     
    // si on renseigne le champs "adresse", alors la variable $adr prendra la valeur de ce champs, sinon elle reste vide. le ['adresse'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['adresse']))      $adr=$_POST['adresse'];
    else      $adr="";
     
    // si on renseigne le champs "code_postal", alors la variable $cp prendra la valeur de ce champs, sinon elle reste vide. le ['code_postal'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['code_postal']))      $cp=$_POST['code_postal'];
    else      $cp="";
     
    // si on renseigne le champs "ville", alors la variable $vil prendra la valeur de ce champs, sinon elle reste vide. le ['ville'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['ville']))      $vil=$_POST['ville'];
    else      $vil="";
     
    // si on renseigne le champs "nom", alors la variable $no prendra la valeur de ce champs, sinon elle reste vide. le ['nom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['nom']))      $no=$_POST['nom'];
    else      $no="";
     
    // si on renseigne le champs "prenom", alors la variable $pr prendra la valeur de ce champs, sinon elle reste vide. le ['prenom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['prenom']))      $pr=$_POST['prenom'];
    else      $pr="";
     
    // si on renseigne le champs "telephone", alors la variable $tel prendra la valeur de ce champs, sinon elle reste vide. le ['telephone'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['telephone']))      $tel=$_POST['telephone'];
    else      $tel="";
     
    // si on renseigne le champs "fax", alors la variable $fa prendra la valeur de ce champs, sinon elle reste vide. le ['fax'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['fax']))      $fa=$_POST['fax'];
    else      $fa="";
     
    // si on renseigne le champs "website", alors la variable $url prendra la valeur de ce champs, sinon elle reste vide. le ['website'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['website']))      $url=$_POST['website'];
    else      $url="";
     
    // si on renseigne le champs "email", alors la variable $vm prendra la valeur de ce champs, sinon elle reste vide. le ['email'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['email']))      $em=$_POST['email'];
    else      $em="";
     
     
    // On vérifie si les champs sont vides
    // on controlle chaque saisie de référence voir si elles sont vides ou renseignées, c'est a dire toutes celles qui dans la base de données auront une importance pour etre traitée par la suite
    if(empty($soc) OR empty($act) OR empty($ape) OR empty($si) OR empty($adr) OR empty($cp) OR empty($vil) OR empty($no) OR empty($pr) OR empty($tel) OR empty($fa) OR empty($em))
        {
            // on affiche un message de controlle sur la saisie en fonction des champs vides
        echo '<font color="red">Attention, seul le champs <b>Site Internet</b> peut rester vide !</font>';
        }
    // Aucun champ n'est vide, on peut enregistrer dans la table
    else     
        {
        $db = mysql_connect('localhost', 'blabla', 'blabla');  // connexion à la base : ('serveur', 'utilisateur', 'mdp de la base')
        mysql_select_db('blabla',$db);                  // sélection de la base ('nom de la base')
        
        // on regarde si l'url existe déjà en fesant un select sur un champs unique, ou il ne peux pas y avoir 2 fois le meme dans la table
            // le select porte sur le champs siren (numero unique) dans la table demande_tarif de la base de données, on stock le résultat dans la variable $sql
        $sql = "SELECT siren FROM demande_tarif WHERE url='$url'";
            // on execute la requete : si OK, on poursuit, sinon on affiche le message d'erreur SQL
        $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
        
        // va retourner le nombre de lignes du résultat de la requete
        $res = mysql_num_rows($req);
     
        if($res!=0)  // si le numero siren existe déjà, on affiche un message d'erreur
            {
            echo '<font color="red">Désolé, mais ce numero SIREN existe déjà dans notre base.</font>';
            }
        else  //  ou le numero n'existe pas, alors on insère les informations du formulaire dans la table renseignée
            {   
            $sql = "INSERT INTO demande_tarif( societe, activite, ape, siren, adresse, cp, ville, nom, prenom, tel, fax, site, mail) 
                     VALUES('$soc','$act','$ape','$si','$adr','$cp', '$vil', '$no', '$pr', '$tel', '$fa', '$url', '$em')"; // (societe, activite, ...) = nom des champs de la table                             ---------                   ($soc, $act, ...) valeur des variables qui seront stockées dans leur emplacement respectif dans la table
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
            
            // on affiche le résultat pour le visiteur
            echo 'Vos données ont bien été enregistré.';
            }
        mysql_close();  // on ferme la connexion
        } 
    ?>
    envoi mail
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <?php 
     
     
    include("config.php"); // on demande au script d aller se référer à config.php pour prendre en compte les paramètres contenus dans celui-ci
     
    // liste des variables pour le script
    $sujet="Demande de tarifs";
    // on attribue les valeurs des champs aux variables (strip_tags supprime les balises HTML et PHP d'une chaîne, si balises il y a )
    // synthaxe : $variable = $_POST['champ_du_formulaire'];
    $soc = $_POST['societe']; 
    $soc =strip_tags($soc);
    $act = $_POST['activite']; 
    $act =strip_tags($act);
    $ape = $_POST['code_ape']; 
    $ape =strip_tags($ape);
    $si = $_POST['num_siren']; 
    $si =strip_tags($si);
    $adr = $_POST['adresse']; 
    $adr =strip_tags($adr);
    $cp = $_POST['code_postal']; 
    $cp =strip_tags($cp);
    $vil = $_POST['ville']; 
    $vil =strip_tags($vil);
    $no = $_POST['nom']; 
    $no =strip_tags($no);
    $pr = $_POST['prenom']; 
    $pr =strip_tags($pr);
    $tel = $_POST['telephone']; 
    $tel =strip_tags($tel);
    $fa = $_POST['fax']; 
    $fa =strip_tags($fa);
    $url = $_POST['website']; 
    $url =strip_tags($url);
    $em = $_POST['email']; 
    $em =strip_tags($em);
    // le contenu du mail est stocké dans une variable
    // on appelle chaque variable a etre afficher dans le mail
    $corpmail="Une demande de devis vient d'être envoyée .\n
    SOCIETE : $soc 
    ACTIVITE : $act
    CODE APE : $ape 
    NUMERO SIREN : $si 
    ADRESSE : $adr
    CODE POSTAL : $cp
    VILLE : $vil
    NOM : $no
    PRENOM : $pr
    TELEPHONE : $tel
    FAX : $fa
    SITE INTERNET : $url
    EMAIL : $em
    ";
     
    // on vérifie que la personne a bien renseignés tous les champs.
     
    if (empty($soc) OR empty($act) OR empty($ape) OR empty($si) OR empty($adr) OR empty($cp) OR empty($vil) OR empty($no) OR empty($pr) OR empty($tel) OR empty($fa) OR empty($em))
    echo "Vous avez oublié les champs suivants, <a href='$urlsite'>cliquez ici</a> pour les remplir.<br>" ;
         { 
          if(empty($soc))     { echo "Votre société.<br>" ;} 
          if(empty($act))    { echo "L'activité de la société. <br>" ;}
          if(empty($ape))     { echo "Le code APE.<br>" ;}
          if(empty($si))   { echo "Le numéro SIREN.<br>" ;}
          if(empty($adr)) { echo "L'adresse.<br>" ;} 
              if(empty($cp)) { echo "Le code postal.<br>" ;}
              if(empty($vil)) { echo "La ville.<br>" ;}
              if(empty($no)) { echo "Votre nom.<br>" ;}
              if(empty($pr)) { echo "Votre prénom.<br>" ;}
              if(empty($tel)) { echo "Votre téléphone.<br>" ;}
              if(empty($fa)) { echo "Votre fax.<br>" ;}
              if(empty($em)) { echo "Votre email.<br>" ;}
              
    //Si tous les champs sont bien remplis, on vérifie que le format de l'adresse mail est valide
     
          else {
          $pt = strpos($em,".");
          $aro = strpos($em,"@");
              if($pt == '')     {echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";}
              elseif($aro == ''){echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";} 
     
    // Si tout est OK, le mail est envoyé au support technique.
          else {
          mail("$votremail","$sujet","$corpmail","from: //// DEMANDE DE TARIFS /////"); 
          echo "<font face='Arial' color='#7D9729' size='2'>Votre message a bien été envoyé, une réponse vous sera donnée d'ici 24 à 48 heures.<a href='$urlsite'>Retour</a></font> " ;} 
             }
         }
    ?>

    PS : désolé pour les nombreux commentaires et leur approximation, mais le code est destiné sans doute a etre retouché plus tard, mais pas par moi, et la personne qui s'en occupera ne connait rien au php, je dois lui expliquer un peu les bases ^^ c'est pas gagné mdr ;p
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  16. #16
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    le tout compilé en 1 script php (je sais pas si il fonctionne)

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    <?php
     
    include("config.php"); // on demande au script d aller se référer à config.php pour prendre en compte les paramètres contenus dans celui-ci
     
    // On commence par récupérer les champs 
     
    // si on renseigne le champs "societe", alors la variable $soc prendra la valeur de ce champs, sinon elle reste vide. le ['societe'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['societe']))      $soc=$_POST['societe'];
    else      $soc="";
     
    // si on renseigne le champs "activite", alors la variable $act prendra la valeur de ce champs, sinon elle reste vide. le ['activite'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['activite']))      $act=$_POST['activite'];
    else      $act="";
     
    // si on renseigne le champs "code_ape", alors la variable $ape prendra la valeur de ce champs, sinon elle reste vide. le ['code_ape'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['code_ape']))      $ape=$_POST['code_ape'];
    else      $ape="";
     
    // si on renseigne le champs "num_siren", alors la variable $si prendra la valeur de ce champs, sinon elle reste vide. le ['num_siren'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['num_siren']))      $si=$_POST['num_siren'];
    else      $si="";
     
    // si on renseigne le champs "adresse", alors la variable $adr prendra la valeur de ce champs, sinon elle reste vide. le ['adresse'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['adresse']))      $adr=$_POST['adresse'];
    else      $adr="";
     
    // si on renseigne le champs "code_postal", alors la variable $cp prendra la valeur de ce champs, sinon elle reste vide. le ['code_postal'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['code_postal']))      $cp=$_POST['code_postal'];
    else      $cp="";
     
    // si on renseigne le champs "ville", alors la variable $vil prendra la valeur de ce champs, sinon elle reste vide. le ['ville'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['ville']))      $vil=$_POST['ville'];
    else      $vil="";
     
    // si on renseigne le champs "nom", alors la variable $no prendra la valeur de ce champs, sinon elle reste vide. le ['nom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['nom']))      $no=$_POST['nom'];
    else      $no="";
     
    // si on renseigne le champs "prenom", alors la variable $pr prendra la valeur de ce champs, sinon elle reste vide. le ['prenom'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['prenom']))      $pr=$_POST['prenom'];
    else      $pr="";
     
    // si on renseigne le champs "telephone", alors la variable $tel prendra la valeur de ce champs, sinon elle reste vide. le ['telephone'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['telephone']))      $tel=$_POST['telephone'];
    else      $tel="";
     
    // si on renseigne le champs "fax", alors la variable $fa prendra la valeur de ce champs, sinon elle reste vide. le ['fax'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['fax']))      $fa=$_POST['fax'];
    else      $fa="";
     
    // si on renseigne le champs "website", alors la variable $url prendra la valeur de ce champs, sinon elle reste vide. le ['website'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['website']))      $url=$_POST['website'];
    else      $url="";
     
    // si on renseigne le champs "email", alors la variable $vm prendra la valeur de ce champs, sinon elle reste vide. le ['email'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['email']))      $em=$_POST['email'];
    else      $em="";
     
     
    // On vérifie si les champs sont vides
    // on controlle chaque saisie de référence voir si elles sont vides ou renseignées, c'est a dire toutes celles qui dans la base de données auront une importance pour etre traitée par la suite
    if(empty($soc) OR empty($act) OR empty($ape) OR empty($si) OR empty($adr) OR empty($cp) OR empty($vil) OR empty($no) OR empty($pr) OR empty($tel) OR empty($fa) OR empty($em))
        {
            // on affiche un message de controlle sur la saisie en fonction des champs vides
        echo '<font color="red">Attention, seul le champs <b>Site Internet</b> peut rester vide !</font>';
        }
    // Aucun champ n'est vide, on peut enregistrer dans la table
    else     
        {
        $db = mysql_connect('localhost', 'blabla', 'blabla');  // connexion à la base : ('serveur', 'utilisateur', 'mdp de la base')
        mysql_select_db('blabla',$db);                  // sélection de la base ('nom de la base')
        
        // on regarde si l'url existe déjà en fesant un select sur un champs unique, ou il ne peux pas y avoir 2 fois le meme dans la table
            // le select porte sur le champs siren (numero unique) dans la table demande_tarif de la base de données, on stock le résultat dans la variable $sql
        $sql = "SELECT siren FROM demande_tarif WHERE url='$url'";
            // on execute la requete : si OK, on poursuit, sinon on affiche le message d'erreur SQL
        $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
        
        // va retourner le nombre de lignes du résultat de la requete
        $res = mysql_num_rows($req);
     
        if($res!=0)  // si le numero siren existe déjà, on affiche un message d'erreur
            {
            echo '<font color="red">Désolé, mais ce numero SIREN existe déjà dans notre base.</font>';
            }
        else  //  ou le numero n'existe pas, alors on insère les informations du formulaire dans la table renseignée
            {   
            $sql = "INSERT INTO demande_tarif( societe, activite, ape, siren, adresse, cp, ville, nom, prenom, tel, fax, site, mail) 
                     VALUES('$soc','$act','$ape','$si','$adr','$cp', '$vil', '$no', '$pr', '$tel', '$fa', '$url', '$em')"; // (societe, activite, ...) = nom des champs de la table                             ---------                   ($soc, $act, ...) valeur des variables qui seront stockées dans leur emplacement respectif dans la table
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
            
            }
        mysql_close();  // on ferme la connexion
        } 
    // liste des variables pour le script
    $sujet="Demande de tarifs";
    $corpmail="Une demande de devis vient d'être envoyée .\n
    SOCIETE : $soc 
    ACTIVITE : $act
    CODE APE : $ape 
    NUMERO SIREN : $si 
    ADRESSE : $adr
    CODE POSTAL : $cp
    VILLE : $vil
    NOM : $no
    PRENOM : $pr
    TELEPHONE : $tel
    FAX : $fa
    SITE INTERNET : $url
    EMAIL : $em
    ";
     
     
    // on vérifie que le format de l'adresse mail est valide
     
     
          $pt = strpos($em,".");
          $aro = strpos($em,"@");
              if($pt == '')     {echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";}
              elseif($aro == ''){echo " Votre adresse email est invalide<br><a href='$urlsite'>Retour</a>";} 
     
    // Si tout est OK, le mail est envoyé.
          else {
          mail("$votremail","$sujet","$corpmail","from: //// DEMANDE DE TARIFS /////"); 
          echo "<font face='Arial' color='#7D9729' size='2'>Votre message a bien été envoyé, une réponse vous sera donnée d'ici 24 à 48 heures.<a href='$urlsite'>Retour</a></font> " ;} 
             }
         
    ?>

    Apres essai, ca fonctionne pas
    je met le code du formulaire au cas ou :
    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
    <form method="POST" action="compil.php">
    <center>
    societe
      <input type="text" name="societe" size="20"><br /> 
      activite
      <input type="text" name="activite" size="20" ><br>
    code APE
    <input type="text" name="code_ape" size="20" maxlength="4"><br /> 
    numero SIREN
    <input type="text" name="num_siren" size="20" maxlength="9"><br>
    adresse
    <input type="text" name="adresse" size="20"><br />
    code postal
    <input type="text" name="code_postal" size="20" maxlength="5"><br>
    ville
    <input type="text" name="ville" size="20" ><br>
    nom
    <input type="text" name="nom" size="20"><br>
    prenom
    <input type="text" name="prenom" size="20"><br>
    telephone
    <input type="text" name="telephone" size="20" maxlength="13"><br>
    fax
    <input type="text" name="fax" size="20" maxlength="13"><br>
    site
    <input type="text" name="website" size="20"><br>
    email
    <input type="text" name="email" size="20"><br><br />
    <input type="submit" value="Envoyer" name="envoyer">
    </center>
    </form>
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  17. #17
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Où sont les accolades pour les if(isset ? dans l'insertion SQL ?

  18. #18
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    les acolades ?
    j 'ai pris un script sur le net puis modifié, mais je n'ai pas touché aux if isset
    ue dois je faire ?
    (désolé du retard vacances vacances ;p)
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

  19. #19
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // si on renseigne le champs "societe", alors la variable $soc prendra la valeur de ce champs, sinon elle reste vide. le ['societe'] correspond au name du champs dans le formulaire mis entre crochets et guillemets pour la synthaxe php.
    if(isset($_POST['societe'])) {
    $soc=$_POST['societe']; }
    else {
    $soc=""; }

    pareil partout...

  20. #20
    Membre émérite Avatar de FraK
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 828
    Par défaut
    ok je vais essayer
    mais sur le script de base, cela marche sans, c'est normal ?
    Infographiste / Webdesigner / Intégrateur (un peu Développeur aussi si on peut dire ;p)
    On me trouve souvent dans la partie Hardware, Systèmes et Logiciels ou encore Webmasters - Développement Web et surtout dans le forum Wordpress.
    »» Mon Blog Musical (drumnbass)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/10/2008, 18h43
  2. Deux actions dans un formulaire ?
    Par Timalounet dans le forum Langage
    Réponses: 1
    Dernier message: 03/04/2007, 18h16
  3. [Formulaire] Mettre deux submit dans un formulaire
    Par sagitarium dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/11/2006, 20h24
  4. deux boutons dans un formulaire
    Par vanou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/06/2006, 08h57
  5. deux boutons dans un formulaire
    Par vanou dans le forum ASP
    Réponses: 5
    Dernier message: 20/06/2006, 08h55

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