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 :

Liste déroulante provenant de la bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Liste déroulante provenant de la bdd
    Bonjour, débutante en php, j'aurais besoin d'aide.
    Je dois réaliser un formulaire en php dans lequel vient s'insérer deux listes déroulantes provenant d'une BDD.
    Je m'explique : j'ai une BDD avec une table de salles de réservation, une table produits : les produits étant les périodes ou une salle peut être réservée, et une table avec les promos.
    Le formulaire d'ajout de produits doit être sous la forme suivante :
    choisir une salle parmi la liste suivante : là la liste déroulante doit apparaitre
    date d'arrivée :
    date de départ :
    attribution d'un code promo : là la liste déroulante doit apparaitre.

    J'ai réussi à faire le formulaire, les listes déroulantes apparaissent bien mais au lieu d'avoir les infos j'ai des tirets
    Pouvez-vous m'aider, je bloque depuis plusieurs jours

    voici mon 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
    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
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    <?php
    require_once("inc/init.inc.php");
     
     
     
    // prépa affichage des salles existantes
    	if(!isset($_GET['action'])) {
    		$requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle"); 
     
    		$salles_existantes ='';
    		while($affiche = $requete->fetch_assoc()) {
    		$salles_existantes .= '<option value="' . $affichage['id_salle'] . '">' . $affichage['id_salle'] . ' - ' . $affichage['ville'] . ' - ' . $affichage['adresse'] . ' - ' . $affichage['cp'] .  ' - ' . $affichage['titre'] . ' - ' . $affichage['capacite'] . ' - ' . $affichage['categorie'] . ' - ' . '</option>';
     
     
    		} 
    	}
     
     
    	// prépa affichage des codes promos existants
     
    	if(!isset($_GET['action'])) {
    		$requete = executeRequete ("SELECT id_promo, code_promo, reduction FROM promotion"); 
     
    		$promos_existantes = '';
    		while($affiche = $requete->fetch_assoc()) {
    			$promos_existantes .= '<option value="' . $affichage['id_promo'] . '">' . $affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' - reduction : ' . $affichage['reduction'] . '</option>';
    		}
    		$promos_existantes .= '<option value=""> pas de promotion </option>'; 
    	}  
     
    	// dans le cas où on ajoute on demande la vérification des champs avec POST
     
    	if(isset($_POST['ajouter'])) {
     
    		if (empty($_POST['date_arrivee'])) {
    			$msg .='<div class="erreur"> Veuillez entrer une date d\'arrivée </div>';
    		}  elseif(!empty($_POST['date_arrivee']) && strtotime(convertirDate($_POST['date_arrivee'])) <= time()) {
    			$msg.= '<div class="erreur"> Veuillez entrer une date d\'arrivée supérieure à la date d\'aujourd\'hui </div>';
    		}
    		if (empty($_POST['date_depart'])) {
    			$msg .='<div class="erreur"> Veuillez entrer une date de départ </div>';
    		}  elseif (!empty($_POST['date_depart']) && strtotime(convertirDate($_POST['date_depart']))< strotime(convertirDate($_POST['date_arrivee']))) {
    			$msg.= '<div class="erreur"> Veuillez entrer une date de départ supérieure ou égale à la date d\'arrivée </div>';
    		}
    		if (empty($_POST['prix'])) {
    			$msg.= '<div class="erreur"> Veuillez entrer un prix</div>';	
    		}	
     
     
    	// envoie du produit dans la BDD
     
    		if(empty($msg)) {	
    			$date_arrivee = convertirDate($_POST['date_arrivee']);
    			$date_depart = convertirDate($_POST['date_depart']);
     
     
    			if (!isset($_GET['action'])) {					
    				executeRequete("INSERT INTO produit (date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]',0)");
    				$msg .= '<div class="validation"> Le nouveau produit est créé !</div>';
     
    				} else {
    					executeRequete("REPLACE INTO produit (id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$_GET[id_produit]',$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]','$_POST[etat]')");
    					$msg .= '<div class="validation"> Le produit est modifié !</div>';
    				}
    		} 
     
     
    // remplissage des champs du formulaire 
     
    	extract($_POST);
     
    } else { // fin du if isset ajouter  
    		$date_arrivee = '';
    		$date_depart = '';
    		$prix = '';
    		$etat= 0;
     
    }
     
    // cas de la modification d'un produit		
    	if (isset($_GET['action']) && $_GET['action'] == 'modifier_produit' ) {
    	$titre_menu = 'Modifier';
    	$requete = executeRequete("SELECT id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat FROM produit WHERE id_produit = '$_GET[id_produit]'");
    	$affichage = $requete->fetch_assoc();
     
    	extract($affichage);
    	$date_arrivee = convertirDateEurope($date_arrivee);
    	$date_depart = convertirDateEurope($date_depart);
     
    	// remplissage du formulaire correspondant à salle du produit modifié
     
    	$requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle");
    	$salles_existantes = '';
     
    	while ($affichage = $requete->fetch_asso()) {
    		if ($affichage['id_salle'] ==$id_salle) {
    			$selected = 'selected';
    		} else {
     
    			$selected = '';
    		}
     
    		$salles_existantes .= '<option value="' . $affichage['id_salle'] . '" ' . $selected . '>' . $affichage['id_salle'] . ' - ' . $affichage['titre'] . ' - '. $affichage['adresse'] . ' - ' . $affichage['ville'] . '- '. $affichage['capacite'] . '-'. $affiche['categorie'] . '-' . '</option>';
     
    	}
     
    // remplissage du formulaire avec promo produit modifié
    	$requete = executeRequete("SELECT id_promo, code_promo, reduction FROM promotion");
     
    	$promos_existantes = '';
    	while ($affichage = $requete->fetch_asso()) {
    		if ($affichage['id_promo'] == $id_promo) {
    			$selected = 'selected';
    		} else {
     
    			$selected = '';
    		} 
     
    		$promos_existantes .= '<option value="' . $affichage['id_promo'] . '" ' . $selected . '>'.$affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' -  reduction : '. $affichage['reduction'] . '</option>';
     
    	}
    	if ($id_promo == 0) {
     
    		$selected = 'selected';
    		} else {
     
    			$selected = '';
    		} 
     
    	$promos_existantes .= '<option value=""' . $selected . '>pas de promotion </option>';
     
    	} else {
    		$titre_menu = 'Ajouter';
     
    	}
     
    // affichage commun
    require_once("inc/header.inc.php");
    require_once("inc/menu.inc.php");
    ?>
     
     
    			<h1>Gestion des produits</h1>
    			<div class="liens">
    				<p><a href="gestion_produits.php?action=affichage">AFFICHAGE DES PRODUITS</a></p>
    			</div>
    			<div class="liens">
    				<p><a href="gestion_produits_ajouter.php">AJOUTER UN PRODUIT</a></p>
    			</div>
    				<?php echo $msg; ?>
     
     
    			<div id="gestionproduits">
     
     
     
    				<form method="POST" enctype="multipart/form-data">
    				<h2>AJOUTER UN PRODUIT</h2>
    				<label for="salle"> Choisir une salle parmi les salles existantes </label>
    				<select id="salle" name="id-salle">
    				<?php echo $salles_existantes; ?>
    				</select><br>
    				<label for="date_arrivee">Date d'arrivée</label>
    				<input id="date_arrivee" type="date" name="date_arrivee" placeholder="jj-mm-aaaa" value="<?php echo $date_arrivee; ?>"><br>
    				<label for="date_depart">Date de départ</label>
    				<input id="date_depart" type="date" name="date_depart" placeholder="jj-mm-aaaa" value="<?php echo $date_depart; ?>"><br>
    				<label for="prix">Prix</label>
    				<input id="prix" type="text" name="prix" value="<?php echo $prix; ?>"><br>
    				<label for="id_promo">Attribution d'une remise parmi les codes promos existants</label>
    					<select id="id_promo" name="id_promo">
    					<?php echo $promos_existantes; ?>
    					</select>
    				<input type="hidden" name="etat" value="<?php echo $etat; ?>"><br>
    				<button id="ajouter" type="submit" value="ok" name="ajouter"><?php echo $titre_menu; ?></button></p>
    				</form>
     
    			</div>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis $affiche sur la ligne du while et $affichage à l'intérieur.
    Quand tu développes, affiche toutes les erreurs PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut liste déroulante ok mais envoi en bdd ne fonctionne pas
    Merci à force de regarder le code je ne voyais pas l'erreur, effectivement maintenant j'ai bien les listes déroulantes.
    Problème : quand je fais ajouter, le navigateur me donne une page blanche et rien ne s'inscrit en base pourtant dans le code j'ai bien mis l'action d'aller inscrire le nouveau produit dans la bdd.
    Où est le problème ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par ann10 Voir le message
    Où est le problème ?
    Bonne question...

    J'ai une autre question : Où est le code ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Le code est dans mon premier message puisque la validation ajout du produit fait partie du formulaire avec les listes dėroulantes.

  6. #6
    Invité
    Invité(e)
    Par défaut
    fetch_asso() ????

    IL FAUT CONSULTER UN OPHTALMO !

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Encore une fois, il faut activer les erreurs quand on développe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Invité
    Invité(e)
    Par défaut
    Astuce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		if ($affichage['id_promo'] == $id_promo) {
    			$selected = 'selected';
    		} else {
     
    			$selected = '';
    		}
    Ces conditions s'écrivent en 1 seule ligne, grâce à l'opérateur ternaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		$selected = ($affichage['id_promo'] == $id_promo)? ' selected="selected"' : '';

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    J'ai mis mes lunettes, fait les modifs mais toujours page blanche dans navigateur quand je clique sur bouton ajouter.
    J'ai une fonction debug dans mon fichier fonctions.inc.php mais elle ne m'indique rien, le navigateur donne inlassablement une page blanche.
    pour info mon site est hébergé chez OVH.
    J'ai une autre page dans mon site pour ajouter une salle et cela fonctionne bien, j'ai comparé les codes et je ne vois toujours pas où cela bloque.
    Dur, dur le php pour une débutante !!!

    voici ma fonction debug dans mon fichier functions.inc.php :

    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
    function executeRequete($maRequete) {
    	global $mysqli; 
    	$resultat = $mysqli->query($maRequete);
    	if(!$resultat) { 
    		die("Erreur sur la requête SQL. <br>Message : " . $mysqli->error . '<br>Code : ' . $arg); 
    	}
    	return $resultat; 
    	}
     
    /*-------------------------------------------
    /              FONCTION DEBUG
    /------------------------------------------*/
    function debug($var, $mode = 1) {
    	echo '<div style="background: #2ae484; font-weight: bold; font-size: 14px;">';
    		if($mode == 1) {
    			echo '<pre>'; print_r($var); echo '</pre>';
    		} else {
    			echo '<pre>'; var_dump($var); echo '</pre>';
    		}
    	echo '</div>';
    	echo '<hr>';	
    }

  10. #10
    Invité
    Invité(e)
    Par défaut
    affiche les erreurs en phase de TEST avec (en haut de page) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php error_reporting(E_ALL); 	?>
    + MONTRE ton NOUVEAU code "CORRIGE" !!

    Sinon, comment veux-tu qu'on sache si tu as bien pris en compte toutes les corrections ??

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Nouveau code corrigé :

    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
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    <?php
    require_once("inc/init.inc.php");
     
    error_reporting(E_ALL);
     
    // vérification des droits à accéder à cette page
    if (!utilisateurAdmin()) {
    		header("location:index.php");
    		exit();
    }
     
     
     
    // prépa affichage des salles existantes
    	if(!isset($_GET['action'])) {
    		$requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle"); 
     
    		$salles_existantes ='';
    		while($affichage = $requete->fetch_assoc()) {
    		$salles_existantes .= '<option value="' . $affichage['id_salle'] . '">' . $affichage['id_salle'] . ' - ' . $affichage['ville'] . ' - ' . $affichage['adresse'] . ' - ' . $affichage['cp'] .  ' - ' . $affichage['titre'] . ' - ' . $affichage['capacite'] . ' - ' . $affichage['categorie'] . ' - ' . '</option>';
     
     
    		} 
    	}
     
     
    	// prépa affichage des codes promos existants
     
    	if(!isset($_GET['action'])) {
    		$requete = executeRequete ("SELECT id_promo, code_promo, reduction FROM promotion"); 
     
    		$promos_existantes = '';
    		while($affichage = $requete->fetch_assoc()) {
    			$promos_existantes .= '<option value="' . $affichage['id_promo'] . '">' . $affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' - reduction : ' . $affichage['reduction'] . '</option>';
    		}
    		$promos_existantes .= '<option value=""> pas de promotion </option>'; 
    	}  
     
    	// dans le cas où on ajoute on demande la vérification des champs avec POST
     
    	if(isset($_POST['ajouter'])) {
     
    		if (empty($_POST['date_arrivee'])) {
    			$msg .='<div class="erreur"> Veuillez entrer une date d\'arrivée </div>';
    		}  elseif(!empty($_POST['date_arrivee']) && strtotime(convertirDate($_POST['date_arrivee'])) <= time()) {
    			$msg.= '<div class="erreur"> Veuillez entrer une date d\'arrivée supérieure à la date d\'aujourd\'hui </div>';
    		}
    		if (empty($_POST['date_depart'])) {
    			$msg .='<div class="erreur"> Veuillez entrer une date de départ </div>';
    		}  elseif (!empty($_POST['date_depart']) && strtotime(convertirDate($_POST['date_depart']))< strotime(convertirDate($_POST['date_arrivee']))) {
    			$msg.= '<div class="erreur"> Veuillez entrer une date de départ supérieure ou égale à la date d\'arrivée </div>';
    		}
    		if (empty($_POST['prix'])) {
    			$msg.= '<div class="erreur"> Veuillez entrer un prix</div>';	
    		}	
     
     
    	// envoie du produit dans la BDD
     
    		if(empty($msg)) {	
    			$date_arrivee = convertirDate($_POST['date_arrivee']);
    			$date_depart = convertirDate($_POST['date_depart']);
     
     
    			if (!isset($_GET['action'])) {					
    				executeRequete("INSERT INTO produit (date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]',0)");
    				$msg .= '<div class="validation"> Le nouveau produit est créé !</div>';
     
    				} else {
    					executeRequete("REPLACE INTO produit (id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$_GET[id_produit]',$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]','$_POST[etat]')");
    					$msg .= '<div class="validation"> Le produit est modifié !</div>';
    				}
    		} 
     
     
    // remplissage des champs du formulaire 
     
    	extract($_POST);
     
    } else { // fin du if isset ajouter  
    		$date_arrivee = '';
    		$date_depart = '';
    		$prix = '';
    		$etat= 0;
     
    }
     
    // cas de la modification d'un produit		
    	if (isset($_GET['action']) && $_GET['action'] == 'modifier_produit' ) {
    	$titre_menu = 'Modifier';
    	$requete = executeRequete("SELECT id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat FROM produit WHERE id_produit = '$_GET[id_produit]'");
    	$affichage = $requete->fetch_assoc();
     
    	extract($affichage);
    	$date_arrivee = convertirDateEurope($date_arrivee);
    	$date_depart = convertirDateEurope($date_depart);
     
    	// remplissage du formulaire correspondant à salle du produit modifié
     
    	$requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle");
    	$salles_existantes = '';
     
    	while ($affichage = $requete->fetch_assoc()) {
    		if ($affichage['id_salle'] ==$id_salle) {
    			$selected = ($affichage['id_salle'] == $id_salle)? ' selected="selected"' : '';
    		}
     
    		$salles_existantes .= '<option value="' . $affichage['id_salle'] . '" ' . $selected . '>' . $affichage['id_salle'] . ' - ' . $affichage['titre'] . ' - '. $affichage['adresse'] . ' - ' . $affichage['ville'] . '- '. $affichage['capacite'] . '-'. $affiche['categorie'] . '-' . '</option>';
     
    	}
     
    // remplissage du formulaire avec promo produit modifié
    	$requete = executeRequete("SELECT id_promo, code_promo, reduction FROM promotion");
     
    	$promos_existantes = '';
    	while ($affichage = $requete->fetch_assoc()) {
    		if ($affichage['id_promo'] == $id_promo) {
    			$selected = ($affichage['id_promo'] == $id_promo)? ' selected="selected"' : '';
    		} 
     
    		$promos_existantes .= '<option value="' . $affichage['id_promo'] . '" ' . $selected . '>'.$affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' -  reduction : '. $affichage['reduction'] . '</option>';
     
    	}
    	if ($id_promo == 0) {
     
    		$selected = 'selected';
    		} else {
     
    			$selected = '';
    		} 
     
    	$promos_existantes .= '<option value=""' . $selected . '>pas de promotion </option>';
     
    	} else {
    		$titre_menu = 'Ajouter';
     
    	}
     
    // affichage commun
    require_once("inc/header.inc.php");
    require_once("inc/menu.inc.php");
    ?>
     
     
    			<h1>Gestion des produits</h1>
    			<div class="liens">
    				<p><a href="gestion_produits.php?action=affichage">AFFICHAGE DES PRODUITS</a></p>
    			</div>
    			<div class="liens">
    				<p><a href="gestion_produits_ajouter.php">AJOUTER UN PRODUIT</a></p>
    			</div>
    				<?php echo $msg; ?>
     
     
    			<div id="gestionproduits">
     
     
     
    				<form method="POST" enctype="multipart/form-data">
    				<h2>AJOUTER UN PRODUIT</h2>
    				<label for="salle"> Choisir une salle parmi les salles existantes </label>
    				<select id="salle" name="id-salle">
    				<?php echo $salles_existantes; ?>
    				</select><br>
    				<label for="date_arrivee">Date d'arrivée</label>
    				<input id="date_arrivee" type="date" name="date_arrivee" placeholder="jj-mm-aaaa" value="<?php echo $date_arrivee; ?>"><br>
    				<label for="date_depart">Date de départ</label>
    				<input id="date_depart" type="date" name="date_depart" placeholder="jj-mm-aaaa" value="<?php echo $date_depart; ?>"><br>
    				<label for="prix">Prix</label>
    				<input id="prix" type="text" name="prix" value="<?php echo $prix; ?>"><br>
    				<label for="id_promo">Attribution d'une remise parmi les codes promos existants</label>
    					<select id="id_promo" name="id_promo">
    					<?php echo $promos_existantes; ?>
    					</select>
    				<input type="hidden" name="etat" value="<?php echo $etat; ?>"><br>
    				<button id="ajouter" type="submit" value="ok" name="ajouter"><?php echo $titre_menu; ?></button></p>
    				</form>
     
    			</div>
     
    			</article><!-- fin article -->
    	</div> <!-- fin principale -->
     
    	<hr />
     
     
     
     
    <?php
     
    require_once("inc/footer.inc.php");
    ?>

  12. #12
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Corrige déjà ton formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<form method="post">
    ...
    				<input id="ajouter" type="submit" value="<?php echo htmlspecialchars($titre_menu); ?>" name="ajouter" /></p>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ann10 Voir le message
    Dur, dur le php pour une débutante !!!
    ton code ne ressemble en rien à celui d'une débutante.
    Donc :
    • soit tu l'as copié-collé... et tu ne le maîtrises pas
    • soit... ?

    J'ai du mal à croire que tu l'aies sucé de ton pouce !

    Cela dit, ce n'est pas normal que tu aies une page blanche si l'affichage d'erreur est activé (sur TOUTES les pages !).

    Le B.A.BA du débogage :
    • affiche les variables, requêtes,...
    • vérifie où le code passe (dans quels if / while / ...)

    ... jusqu'à trouver le bout de code qui pose problème

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Voilà, j'ai corrigé le code du formulaire (voir ci-dessous). Cette fois je n'ai pas de page blanche quand je clique sur ajouter mais je reste sur ma page ajout de produit, mon message "le produit est ajouté" ne s'affiche pas et le produit n'est toujours pas entré dans la BDD.


    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
    <div id="gestionproduits">
     
     
     
    				<form method="post" enctype="multipart/form-data">
    				<h2>AJOUTER UN PRODUIT</h2>
    				<p><label for="salle"> Choisir une salle parmi les salles existantes </label>
    				<select id="salle" name="id-salle">
    				<?php echo $salles_existantes; ?>
    				</select><br>
    				<label for="date_arrivee">Date d'arrivée</label>
    				<input id="date_arrivee" type="date" name="date_arrivee" placeholder="jj-mm-aaaa" value="<?php echo $date_arrivee; ?>"><br>
    				<label for="date_depart">Date de départ</label>
    				<input id="date_depart" type="date" name="date_depart" placeholder="jj-mm-aaaa" value="<?php echo $date_depart; ?>"><br>
    				<label for="prix">Prix</label>
    				<input id="prix" type="text" name="prix" value="<?php echo $prix; ?>"><br>
    				<label for="id_promo">Attribution d'une remise parmi les codes promos existants</label>
    					<select id="id_promo" name="id_promo">
    					<?php echo $promos_existantes; ?>
    					</select>
    				<input type="hidden" name="etat" value="<?php echo $etat; ?>"><br>
    				<button> <input id="ajouter" type="submit" value="<?php echo htmlspecialchars($titre_menu); ?>" name="ajouter" /></button></p>
     
    				</form>
     
    			</div>

  15. #15
    Invité
    Invité(e)
    Par défaut
    On ne peut pas le faire à ta place :
    Citation Envoyé par jreaux62 Voir le message
    Le B.A.BA du débogage :
    • affiche les variables, requêtes,...
    • vérifie où le code passe (dans quels if / while / ...)

    ... jusqu'à trouver le bout de code qui pose problème

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    SI je suis débutante, seulement 15 jours de cours en php !
    Oui évidemment je me suis "inspirée" de code, non je ne maitrise pas TOUT PUISQUE JE DEBUTE !!!!
    Si je m'adresse à un forum c'est que je n'ai pas trouvé la solution toute seule.

  17. #17
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as rien corrigé : il y a toujours les <button> et toujours le enctype du <form>

    A quoi correspondent les if(!isset($_GET['action'])) { qu'il y a un peu partout dans ton code ?

    Le problème c'est que ton objectif n'est pas en adequation avec tes connaissances.
    Il faudrait que tu maîtrises la construction et le traitement d'un formulaire HTML et que tu saches faire le debugage basique en PHP pour pouvoir voir immédiatement à quel étape le script coince.
    En dehors du fait que ça ne fonctionne pas, aucune de tes requêtes ne prend en compte les problèmes de sécurité et ton script est donc très exposé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    bon mon code est bon, l'erreur provenait d'une faute de frappe, maintenant tout marche bien, heureusement que j'ai trouvé, par relation, un VRAI BON DEV, qui en quelques minutes a trouvé.
    Salut

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/12/2009, 15h37
  2. [MySQL] liste déroulante + MAJ de la BDD
    Par yaboki dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 02/12/2008, 23h14
  3. [DOM] vider une liste déroulante et encodage sur bdd
    Par comcom94 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/11/2008, 09h25
  4. Réponses: 4
    Dernier message: 13/07/2007, 12h15
  5. [MySQL] Liste déroulante provenant d'une table
    Par richton95 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/11/2005, 10h07

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