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

JavaScript Discussion :

Ma page remplit un champs vide de ma base a son chargement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Par défaut Ma page remplit un champs vide de ma base a son chargement
    Bonjour à tous,

    Je vous expose mon problème:

    - Je suis actuellement en train de créer un site web de vente de guitares en ligne et hors ligne.

    J'ai donc crée une page ajout_guitare.php, qui me permet via un formulaire à remplir d'enregistrer dans ma base de données les guitares une par une.

    Mon probleme est que, à chaque fois que j'ouvre ma page, ou que je l'actualise, une entrée 'vide' est créee dans ma base, comme si je cliquais sur mon boutton submit avec tout mon formulaire de vide, c'est vraiment genant.

    J'ai deja arpenté le web via google, forums ect, et je n'ai rien trouvé a part la solution du onSubmit mais je n'arrive pas a l'appliquer.

    Je vous demande donc un petit coup de main pour m'aider a faire en sorte que les entrees de ma base ne soient remplies que si je clique sur mon bouton submit.

    Merci d'avance, je vous montre le code de ma page:

    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
    <?php
    include("../connexion_bdd.php"); 
    connexion();
            $sql = "INSERT INTO guitares(id_guit, nom_guit, marque_guit, type_guit, gaucher_guit, prix_guit, stock_guit) 
            VALUES('', '$_POST[nom_guit]', '$_POST[marque_guit]', '$_POST[type_guit]', '$_POST[gaucher_guit]', '$_POST[prix_guit]', '$_POST[stock_guit]')";
            @mysql_query($sql) or die(mysql_error());
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<link rel="stylesheet" type="text/css" href="../styles.css" />
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<meta http-equiv="Content-Style-Type" content="text/css" />
    		<meta http-equiv="Content-Language" content="fr" />
    	</head>
    <body>
    	<div id="login">
    	</div>
    	<div id="global">
    		<div id="contenu_droit">
    			<div id="moteur_recherche">
    					<form method="post" action="recherche.php">
    						<center><b>> Rechercher une guitare:</b><br /><br />
    						<input type="text" name="recherche" size="15" id="recherche" /><br /><br />
    						<input type="submit" value="Rechercher" name="rechercher" /></center>
    					</form>
    						<center><p style="font-size:10px;">> <a href="recherche_avancee.php">Recherche avancée</a></p></center>
    			</div>
    				<div id="newsletter">
    					<center><h5>> Newsletter</h5></center>
    					Recevoir les nouveautés sur les différentes gammes Signatures et Editions limitées<br /><br />
    					<center><a href="newsletter_inscription.php">> S'inscrire!</a></center><br />
    				</div>
    					<div id="nouveautes">
    						<center><h5>> Nouveautés</h5></center>
    						><span class="mef_blocks"><a href="">Signatures</a></span><br />
    						><span class="mef_blocks"><a href="">Editions limitées</a></span><br />
    						><span class="mef_blocks"><a href="">Occasions</a></span><br />
    						><span class="mef_blocks"><a href="">Accessoires</a></span><br />
    					</div>
    						<div id="rubriques">
    							<center><h5>> Rubriques</h5></center>
    							><span class="mef_blocks"><a href="">Vendre</a></span><br />
    							><span class="mef_blocks"><a href="">Livre d'or</a></span><br />
    							><span class="mef_blocks"><a href="">Nous contacter</a></span><br />
    							><span class="mef_blocks"><a href="">A propos</a></span><br />
    						</div>
    		</div>
    			<div id="header">
    				<div id="menu">
    					<ul id="menul">
    						<li><a href="../index.php">Accueil</a></li>
    						<li><a href="../signatures.php">Signatures</a></li>
    						<li><a href="../ed_limitees.php">Ed. Limitées</a></li>
    						<li><a href="../accessoires.php">Accessoires</a></li>
    						<li><a href="../nos_magasins.php">Nos magasins</a></li>
    					</ul>
    				</div>
    			</div>
    				<div id="contenu">
    						<div id="listing_contenu">
    							<form method="POST" action="ajout_guitare.php" enctype="multipart/form-data">
    								<legend>Ajout des guitares</legend><br /><br />
    									Nom: <input name="nom_guit" type="text"><br /><br />
    									<?php
                                                                            $req = mysql_query("SELECT * FROM marques");
     
                                                                            echo 'Marque: <select name="marque_guit">';
                                                                            while ($donnees = mysql_fetch_array($req))
                                                                            {
                                                                            ?>
    									<option>
    									<?php 
                                                                            echo $donnees['nom_marques'];
                                                                            ?>
    									</option>
    									<?php
                                                                            }
                                                                            echo '</select><br /><br />';
                                                                            ?>
    									Type: <select name="type_guit">
    													<option value="Signature">Signature</option>
    													<option value="Edition Limitée">Edition Limitée</option>
    												</select><br /><br />
    									Gaucher: <select name="gaucher_guit">
    													<option value="Oui">Oui</option>
    													<option value="Non">Non</option>
    												</select><br /><br />
    									Prix: <input name="prix_guit" type="text"><br /><br />
    									Stock: <select name="stock_guit">
    													<option value="En Stock">En stock</option>
    													<option value="En Rupture de Stock">En rupture de stock</option>
    												</select><br /><br />
    									<center><input type="submit" name="envoi" value="Envoyer" /></center>
    								</legend>
    							</form>	
    						</div>		
    				</div>
    	</div>
    </body>
    </html>

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Ces lignes créent l'enregistrement vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	$sql = "INSERT INTO guitares(id_guit, nom_guit, marque_guit, type_guit, gaucher_guit, prix_guit, stock_guit) 
    	VALUES('', '$_POST[nom_guit]', '$_POST[marque_guit]', '$_POST[type_guit]', '$_POST[gaucher_guit]', '$_POST[prix_guit]', '$_POST[stock_guit]')";
    	@mysql_query($sql) or die(mysql_error());
    En effet, toutes les variables $_POST sont vides puisque tu ne transmets rien à cette page.

    Ces lignes devraient se trouver dans la page ajout_guitare.php

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Par défaut
    Yop,

    Ces lignes sont dans la page ajout_guitare.php. Le 'action' du formulaire plus bas recharge la page avec les données du formulaire, mais il faudrait je pense que je mette une condition avant mon php ou avec un onsubmit du genre : tant que le formulaire n'est pas envoyé ( ou bouton envoyer n'est pas cliqué ), il ne charge rien dans la base, mais je n'arrive pas a trouver la solution

    need un ptit coup de main pour un débutant, peut etre y a t'il une solution plus simple ?

    Merci d'avance


    ( Ou alors je t'ai mal compris Ryan )

  4. #4
    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
    Ce que veut dire ryan, c'est qu'au premier chargement de ta page, le tableau post est vide, mais tu crée quand même ta requête sql et surtout, tu l'envoies.

    Donc, tu crées une ligne vide dans ta base.

    Une solution simple est d'ajouter la (ou les) condition(s) de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if isset $_POST[type_guit]
    par exemple.
    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

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Par défaut
    Oui c'est ce que j'ai fait apres la reponse de Ryan, j'ai tilté quelques minutes apres avoir repondu j'ai reglé mon probleme merci pour vos réponses

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

Discussions similaires

  1. Problème de champ vide dans une base sql
    Par lionel256 dans le forum VB.NET
    Réponses: 13
    Dernier message: 16/04/2008, 17h07
  2. Pb de tri avec champs vide
    Par Invité dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2004, 17h42
  3. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54
  4. [conception] champs vides ou plusieurs tables ?
    Par in dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 17/02/2004, 08h41
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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