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 :

Traitement d'un formulaire pour insertion en BD. [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 85
    Par défaut Traitement d'un formulaire pour insertion en BD.
    Boujour.

    J'ai un petit souci, je voudrai insérer des données se trouvant dans le formulaire d'une page web.

    Voici le formulaire :
    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
    <FORM ID = "FormCommande" NAME = "FormCommande" METHOD = "GET" ACTION = "TraiteFormulaire.php" ONSUBMIT = "return CheckData()">
     
    		<TABLE>
     
    				<TR>
    					<TD ALIGN = RIGHT>
    						<LABEL>Nom :</LABEL>
    					</TD>
     
    					<TD ALIGN = LEFT>
    						<INPUT TYPE = "text" ID = "Nom" NAME = "Nom">
    					</TD>
     
    					<TD ROWSPAN = 8 VALIGN = CENTER ALIGN = RIGHT WIDTH = 55%>
    						Montant total de la commande :
    						<INPUT TYPE = "text" ID = "Montant" NAME = "Montant" SIZE = "20" READONLY>
    					</TD>
    				</TR>
     
    				<TR>
    					<TD ALIGN = RIGHT>
    						<LABEL>Prénom :</LABEL>
    					</TD>
     
    					<TD ALIGN = LEFT>
    						<INPUT TYPE = "TEXT" ID = "Prenom" Name = "Prenom">
    					</TD>
    				</TR>
     
    				<TR>
    					<TD ALIGN=RIGHT VALIGN=TOP>
    						<LABEL>Adresse :</LABEL>
    					</TD>
     
    					<TD ALIGN = LEFT>
    						<TEXTAREA ROWS=4 COLS=30 ID="Adresse" NAME="Adresse"></TEXTAREA>
    					</TD>
    				</TR>
     
    				<TR>
    					<TD ALIGN=RIGHT VALIGN=TOP>
    						<LABEL>Comment avez-vous connu notre site ?</LABEL>
    					</TD>
     
    					<TD ALIGN = LEFT>
    						<INPUT TYPE="CHECKBOX" ID="PubSite" NAME="PubSite">
    							Publicité sur un autre site
    						<BR>
    						<INPUT TYPE="CHECKBOX" ID="ListeDiffusion" NAME="ListeDiffusion">
    							Par une liste de diffusion
    						<BR>
    						<INPUT TYPE="CHECKBOX" ID="MoteurRecherche" NAME="MoteurRecherche">
    							Moteur de recherche
    						<BR>
    						<INPUT TYPE="CHECKBOX" ID="Autre" Name="Autre">
    							Autre
    					</TD>
    				</TR>
     
    				<TR>
    					<TD ALIGN=RIGHT VALIGN=TOP>
    						<LABEL>Choisissez vos produits :<BR><I>Touche Ctrl enfoncée pour choix multiples</I></LABEL>
    					</TD>
     
    					<TD ALIGN = LEFT>
    						<SELECT SIZE=6 ID="Produits" NAME="Produits" MULTIPLE ONCHANGE = "CalculMontant()">
     
     
     
     
     
    							<?php
     
    								$serveur = "localhost";
    								$utilisateur = "root";
    								$password = "";
    								$maBase = "html";
     
    								mysql_connect($serveur,$utilisateur,$password);
     
    								mysql_select_db($maBase);
     
    								$result = mysql_query("SELECT Code, Designation FROM `References`");
     
    								while ($row = mysql_fetch_array($result))
    								{
    									echo "<OPTION VALUE =  \"" . $row["Code"] . "\">";
    									echo $row["Designation"] . "</OPTION>";
    								}
     
    							?>
     
     
     
    						</SELECT>
    Et voici le fichier qui traite les données du formulaire :
    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
    <!DOCTYPE HTML PUBLIC"~//W3C//DTD HTML 4.0//EN">
     
    <HTML>
    	<HEAD>
    		<TITLE>Réception du bon de commande</TITLE>
    	</HEAD>
     
     
    	<BODY>
    		<?php
    			$serveur = "localhost";
    			$utilisateur = "root";
    			$password = "";
    			$maBase = "html";
     
    			mysql_connect($serveur,$utilisateur,$password);
     
    			mysql_select_db($maBase);
     
    			$query = "INSERT `commandes` VALUES('" . $_GET['Nom'] . "','" . $_GET['Prenom'] . "','";
    			$query .= $_GET['Adresse'] . "'," . $_GET['Montant'] . ");";
     
    			/*$query = "INSERT `commandes` VALUES ('" . $Nom . "','" . $Prenom . "','";
    
    			$query .= $Adresse . "','" . $Montant . ");";*/
     
    			mysql_query($query);
    		?>
    		<FONT COLOR = "SteelBlue" SIZE = 4> <B> La commande a été prise en compte. </B></FONT><BR><BR>
    	</BODY>
    </HTML>
    Le navigateur ne m'affiche pas d'erreurs mais quand je regarde dans la base de données, rien n'a été insérer.

    Merci de bien vouloir m'aider.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Il faut passer mode debug et afficher la requete executer et les erreurs mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($query) or die($query . '<br>' . mysql_error());
    Sinon on n'insere pas dans une requete directement des éléments saisies par un utilisateur sans les avoir controlés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "INSERT `commandes` VALUES('" . mysql_real_escape_string($_GET['Nom']) ....
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 85
    Par défaut
    Merci, la première solution marche.

    Par contre pour la seconde j'ai pas encore essayé parce que j'ai pas trop compris l'utilisation de la fonction en question.

    Justement si tu peux expliquer sa très simplment (car je suis au stade de l'innitiation en php) ce serai sympat.

    Encore une fois merci pour la solution.

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

Discussions similaires

  1. Formulaire pour insertion dans une bdd
    Par cobolons dans le forum Langage
    Réponses: 6
    Dernier message: 17/04/2009, 18h59
  2. [HTML 4.0] Formulaire pour insertion dans une bdd
    Par cobolons dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/04/2009, 08h53
  3. Plein ecran pour le traitement d'un formulaire
    Par gui8676 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/12/2007, 11h28
  4. [MySQL] aide pour un formulaire d'insertion
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/10/2007, 13h32
  5. [Conception] Formulaires identiques pour INSERT et UPDATE
    Par MiJack dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 16/06/2006, 11h34

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