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

PHP & Base de données Discussion :

Envoi de donnée formulaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut Envoi de donnée formulaire
    Bonjour à tous, je suis entrain de créer un formulaire pour envoyer des infos dans ma base MySQL, mais je ne comprend pas, aucune ligne ne s'ajoute à ma base, je vous joins mon code.

    Merci d'avance.

    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
    <?php
    // database settings
    $Host = 'localhost';
    $User = 'root';
    $Pass = '';
    $Base = 'intranet';
     
    // mysql table :
    $Table = 'demande_dev';
    ?>
    <FORM METHOD="POST">
    Description:<INPUT TYPE=text NAME=desc><br>
    Type:<INPUT TYPE=text NAME=type><br>
    Developpeur/Utilisateur:<INPUT TYPE=text NAME=devuti><br>
    Priorite:<SELECT name=priorite size=1>
    <OPTION>Haute
    <OPTION>Moyenne
    <OPTION>Faible
    </SELECT>
    <br>
    Etat:<SELECT name=etat size=1>
    <OPTION>Demandée
    <OPTION>En cours
    <OPTION>Réalisée
    </SELECT>
    <br>
    Date(JJ/MM/AAAA):<INPUT TYPE=text NAME=date><br>
    Demandeur:<INPUT TYPE=text NAME=demandeur><br>
    Email:<INPUT TYPE=text NAME=email>
    <INPUT TYPE="submit" value="valider">
    </FORM>
    <br>
     
    <?php
     
    if(isset($_POST['valider'])){
     
            mysql_connect($Host, $User, $Pass);
            mysql_select_db($Base);
            $description = trim($_POST['desc']);
            $type = trim($_POST['type']);
            $devuti = trim($_POST['devuti']);
            $priorite = trim($_POST['priorite']);
            $etat = trim($_POST['etat']);
            $date = trim($_POST['date']);
            $demandeur = trim($_POST['demandeur']);
            $mail = trim($_POST['email']);
     
            mysql_query("INSERT INTO $Table('description', 'priorite', 'etat', 'date', 'demandeur', 'maildemandeur') VALUES ('".$description."', '".$type."', '".$devuti."', '".$priorite."', '".$etat."', '".$date."', '".$demandeur."', '".$mail."')");
            mysql_close();
    }
    ?>

  2. #2
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    ton code corrigé:

    il manque bcp de "
    type=text => type="text"
    name=dec => name="desc"

    il manque une valeur dans les tag option et la fermeture:
    <OPTION value='Haute'>Haute</option>

    if(isset($_POST['valider'])) test si une variable nommée valider est postée mais ton submit n'a pas de nom
    <INPUT TYPE="submit" value="valider" name="valider">

    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
    <?php
    // database settings
    $Host = 'localhost';
    $User = 'root';
    $Pass = '';
    $Base = 'intranet';
     
    // mysql table :
    $Table = 'demande_dev';
    ?>
    <FORM METHOD="POST">
    Description:<INPUT TYPE="text" NAME="desc"><br>
    Type:<INPUT TYPE="text" NAME="type"><br>
    Developpeur/Utilisateur:<INPUT TYPE="text"NAME="devuti"><br>
    Priorite:<SELECT name="priorite" size="1">
    <OPTION value='Haute'>Haute</option>
    <OPTION value='Moyenne'>Moyenne</option>
    <OPTION value='Faible'>Faible</option>
    </SELECT>
    <br>
    Etat:<SELECT name="etat" size="1">
    <OPTION value='Demandée'>Demandée</option>
    <OPTION value='En cours'>En cours</option>
    <OPTION value='Réalisée'>Réalisée</option>
    </SELECT>
    <br>
    Date(JJ/MM/AAAA):<INPUT TYPE="text" NAME="date"><br>
    Demandeur:<INPUT TYPE="text" NAME="demandeur"><br>
    Email:<INPUT TYPE="text" NAME="email">
    <INPUT TYPE="submit" value="valider" name="valider">
    </FORM>
    <br>
     
    <?php
     
    if(isset($_POST['valider'])){
     
            mysql_connect($Host, $User, $Pass);
            mysql_select_db($Base);
            $description = trim($_POST['desc']);
            $type = trim($_POST['type']);
            $devuti = trim($_POST['devuti']);
            $priorite = trim($_POST['priorite']);
            $etat = trim($_POST['etat']);
            $date = trim($_POST['date']);
            $demandeur = trim($_POST['demandeur']);
            $mail = trim($_POST['email']);
     
            mysql_query("INSERT INTO $Table('description', 'priorite', 'etat', 'date', 'demandeur', 'maildemandeur') VALUES ('".$description."', '".$type."', '".$devuti."', '".$priorite."', '".$etat."', '".$date."', '".$demandeur."', '".$mail."')");
            mysql_close();
    }
    ?>

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    Merci pour ta réponse, cela ne devait pas aider! Mais helas toujours pas de ligne dans ma table..

    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
    <?php
    // database settings
    $Host = 'localhost';
    $User = 'root';
    $Pass = '';
    $Base = 'intranet';
     
    // mysql table :
    $Table = 'demande_dev';
    ?>
    <FORM METHOD="POST">
    Description:<INPUT TYPE="text" NAME="desc"><br>
    Type:<INPUT TYPE="text" NAME="type"><br>
    Developpeur/Utilisateur:<INPUT TYPE="text"NAME="devuti"><br>
    Priorite:<SELECT name="priorite" size="1">
    <OPTION value='Haute'>Haute</option>
    <OPTION value='Moyenne'>Moyenne</option>
    <OPTION value='Faible'>Faible</option>
    </SELECT>
    <br>
    Etat:<SELECT name="etat" size="1">
    <OPTION value='Demandée'>Demandée</option>
    <OPTION value='En cours'>En cours</option>
    <OPTION value='Réalisée'>Réalisée</option>
    </SELECT>
    <br>
    Date(JJ/MM/AAAA):<INPUT TYPE="text" NAME="date"><br>
    Demandeur:<INPUT TYPE="text" NAME="demandeur"><br>
    Email:<INPUT TYPE="text" NAME="email">
    <INPUT TYPE="submit" value="valider" name="valider">
    </FORM>
    <br>
     
    <?php
     
    if(isset($_POST['valider'])){
     
            mysql_connect($Host, $User, $Pass);
            mysql_select_db($Base);
            $description = trim($_POST['desc']);
            $type = trim($_POST['type']);
            $devuti = trim($_POST['devuti']);
            $priorite = trim($_POST['priorite']);
            $etat = trim($_POST['etat']);
            $date = trim($_POST['date']);
            $demandeur = trim($_POST['demandeur']);
            $mail = trim($_POST['email']);
     
            mysql_query("INSERT INTO $Table(description, priorite, etat, date, demandeur, maildemandeur) VALUES ($description, $type, $devuti, $priorite, $etat, $date, $demandeur, $mail)");
            mysql_close();
    }
    ?>

  4. #4
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    vérifie ta requête SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO $Table(description, priorite, etat, date, demandeur, maildemandeur) VALUES ('$description', '$type', '$devuti', '$priorite', '$etat', '$date', '$demandeur', '$mail')"
    tu essaye d’insérer 8 valeurs dans 6 colonnes !!!

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Par défaut
    Merci, mon dieu c'etait tellement bete, j'ai regardé à tout sauf à ça !

  6. #6
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    tu peux modifier ton code pour voir les éventuels message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		$sql="INSERT INTO $Table(description, type, devuti, priorite, etat, date, demandeur, maildemandeur) VALUES ('$description', '$type', '$devuti', '$priorite', '$etat', '$date', '$demandeur', '$mail');";
    		var_dump($sql);		//affiche la requête
            if(mysql_query($sql))
            { 
    			echo "ok"; //si tout va bien
            }else{
    			echo "pas ok :".mysql_error (); //si erreur dans mysql_query
    		}
    n'oublie pas de mettre des quotes pour les valeurs '$description'

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Quelques remarques quand même.
    Citation Envoyé par patrickbaras
    il manque bcp de "
    type=text => type="text"
    name=dec => name="desc"
    Même si le conseil est correct et permet d'obtenir un code HTML plus "propre" et plus lisible, entourer les valeurs d'attributs de quotes n'est pas obligatoire en HTML si cette valeur est alphanumérique.

    Citation Envoyé par patrickbaras
    il manque la fermeture:
    <OPTION value='Haute'>Haute</option>
    Là encore, même si je suis de ceux qui trouvent cela moche et peu rigoureux, la fermeture de balise <option> n'est pas obligatoire en HTML.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  8. #8
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    Donc l'on peut écrire les attributs sans quote pour des valeurs alphanumériques, j'ignorai cette nouvelle règle (le w3C recommande pourtant l'inverse http://www.w3.org/TR/REC-html40/intr...t.html#h-3.2.2), désolé pour les remarques, mais je crois que je vais continuer a mettre des quotes et fermer mes balises <option>, je trouve cela plus clair et plus propre.
    il faut quand même des quotes si il y a des espaces sinon je vois mal comment faire la différence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input valeur=name name=id id=type type=text class="class1 class2 class3" />

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envois des données formulaire dans BDD
    Par DripKi_13 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 08/12/2014, 14h49
  2. [MySQL] Envoi de données formulaire dans bd
    Par loopback dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/11/2007, 22h18
  3. Réponses: 1
    Dernier message: 26/11/2006, 10h57
  4. [AJAX] AJAX et envoie de données d'un formulaire
    Par gunderam dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2006, 18h17
  5. [SQL] Pb Sql lors de l envoie des données via un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2006, 14h18

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