Ajouter dans une base de donner SQL avec du php

Fermé
Labaste34 Messages postés 1 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 12 mai 2013 - 12 mai 2013 à 17:06
 Utilisateur anonyme - 22 mai 2013 à 10:49
Bonjour,
J'ai un soucis je doit faire en sorte pour un site de voyage la possibilité d'ajouter un nouveau circuit via un formulaire.
Mais se formulaire doit etre relier a une autre page php qui permet de relier a la base de données SQL. Et mon problème est le lien car les infos qui sont sélectionnées dans ce formulaire doivent être directement envoyer dans la base de données.
Donc voici les code:
Le formulaire:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Ajouter un circuit</title>
	</head>
	<body>
		
		<?php
			include('connexion.php');   //exécution du script de connexion à la base de données

			/*création d'une variable contenant la chaîne de caractères correspondant à une requête d'extraction de données. Cette étape est facultative car on peut rédiger la requête directement dans la fonction mysql_query (voir ci-dessous). Cependant, cette technique aura des avantages lorsqu'on passera à des requêtes mélangeant du texte pur et des variables */
			$req="select * from pays";
			
			/* exécution de cette requête avec la fonction mysql_query 
			définition : http://www.manuelphp.com/php/function.mysql-query.php   */
			$res = mysql_query($req); 
			
			/* Remarque : on stocke le jeu d'enregistrements résultant de cette requête dans une variable $res.
			Le résultat ne s'affiche donc pas automatiquement à l'écran, c'est au programmeur de l'exploiter de plusieurs manières différentes en  fonction de ce qu'il veut montrer */
		?>
		<form method="POST" action="ajouterCircuit.php">
			<table border=0>
				<tr>
					<td>Quelle est le pays de destination?</td>
				
					<td>
						<?php
							include('accueil.php');   //exécution du script de connexion à la base de données
							$req="select * from PAYS Order by idpays"; // requête 
							$res = mysql_query($req);				
						?>
						<select name="pays" id="idpays">
							<?php
								$ligne=mysql_fetch_array($res);
								while($ligne !=false)
									{
							?>
								<option value="<?php echo $ligne['idpays']; ?>"><?php echo $ligne['nomPays'];?> </option>
							<?php
								$ligne=mysql_fetch_array($res);
									}
							?>   
						</select>
					</td>
				</tr>
				<tr>
					<td> Nom du circuit:</td>
					<td>
						<input type="text" name="nomCircuit" value=""/>
					</td>
				</tr>
				<tr>
					<td> Prix du circuit:</td>
					<td>
						<input type="text" name="prix" value="">
					</td>
				</tr>
				<tr>
					<td> date de départ</td>
					<td>
						<input type="text" name="dateDep" value=""/>
					</td>
				</tr>
				<tr>
					<td> date d'arrivée</td>
					<td>
						<input type="text" name="dateArr" value=""/>
					</td>
				</tr>
				<tr>
					<td> Descriptif:</td>
					<td>
						<textarea type="text" name="Renseignement" rows="4" cols="30">Mettez ici le descriptif du circuit</textarea>
					</td>
				</tr>
				<tr>
					<td>Libellé du circuit:</td>
					<td>
						<textarea type="text" name="Libelle" rows="3" cols="20">Mettez ici le libellé du circuit</textarea>
					</td>
				</tr>
				<tr>
					<td align="center">
						<input type="submit" value="Envoyer" />
					</td>
					<td align="center">
						<input type="submit" value="Annuler" />
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>


La Base de données:
CREATE DATABASE FREE_WILD ;

use FREE_WILD;

-- --------------------------------------------------------

-- Structure de la table 'PAYS'
-- 

CREATE TABLE if not exists PAYS (
  idpays integer NOT NULL auto_increment,
  nomPays varchar(30) NOT NULL,
  PRIMARY KEY  (idpays)


) ;

INSERT INTO PAYS VALUES (1, "maroc");
INSERT INTO PAYS VALUES (2, "tunisie");
INSERT INTO PAYS VALUES (3, "algerie");
-- --------------------------------------------------------

-- 
-- Structure de la table 'CIRCUIT'
-- 

CREATE TABLE if not exists CIRCUIT (
  idcircuit int NOT NULL auto_increment,
  nomCircuit varchar(30) NOT NULL ,
  libCircuit varchar(300) NOT NULL ,
  imageCircuit varchar(50) NOT NULL ,
  prix varchar(6) NOT NULL,
  dateDep varchar(20) NOT NULL,
  dateArr varchar(20) NOT NULL,
  idpays int NOT NULL ,

  PRIMARY KEY  (idcircuit),
  FOREIGN KEY (idpays) REFERENCES pays(idpays)
) ;

	insert into CIRCUIT values(1, "Circuit aventure", "<br> Au départ d'Agadir, pour les passionés du Sud, <br> circuit en véhicule 4x4, <br>Paysages magnifiques
								et logement en hôtels <br>confortables", "images/circuitaventure.jpg", "590", "05/08/2008", "20/08/2008", 1);
	insert into CIRCUIT values(2, "Circuit désert", "<br>Dromadaires, le bon rythme pour goûter <br>à l'authenticité de la vie nomade, à la <br>beauté du désert 
								et ses couchers de soleil<br> magnifiques, au silence des nuits sahariennes", "images/circuitdesert.jpg", "990", 
								"07/09/2008","23/08/2008", 1);
	insert into CIRCUIT values(3, "Circuit impérial", "<br>Un circuit au cours duquel vous découvrirez<br> la noblesse des villes impériales et le charme <br>
                               	des villes de l'océan", "images/circuitimperial.jpg", "550", "14/07/2008", "29/07/2008", 1); /* Fin des Circuits Maroc */
								
	insert into CIRCUIT values(4, "Circuit la saharienne", "<br>Entre Tozeur et Djerba, dépaysement total.<br>Vous découvrirez en dromadaires et véhicules 
								<br>tout terrain les dunes du sud tunisiens, <br>les oasis du désert, les traditions et l'artisanat.", "images/saharienne_tun.jpg",
								"575", "17/07/2008", "27/07/2008", 2);
	insert into CIRCUIT values(5, "Circuit incontournable", "<br>Les plus grands sites romains de la Tunisie, <br>les ports puniques, les antiques Zaghouan <br>
								et Carthage, Tabarka, l'ancien comptoir phénicien,	<br>sans oublier l'impressionnant rocher du Kef et <br>la visite de superbes
								mosquées.", "images/circuitincontournable_tun.jpg", "620", "07/08/2008", "22/08/2008", 2);
	insert into CIRCUIT values(6, "Circuit couleur de Tunisie", "<br>Un véritable cocktail de couleurs et de senteurs <br>en mini-bus et dromadaires pour tenter 
								d'appréhender <br>la magie tunisienne depuis les sites les plus <br>prestigieux jusqu'au confins des régions <br>pré-sahariennes.",
								"images/circuit_couleur_tun.jpg", "520","06/08/2008","24/08/2008", 2); /* Fin des Circuits Tunisie */
								
	insert into CIRCUIT values(7, "Circuit Essendilène", "<br> Découverte à pied d'Essendilène : sa guelta peuplée de lauriers-roses, <br> sa palmeraie et ses anciens 
								jardins.<br> Les paysages changent d'heure en heure <br> au cours de notre traversée de Tassagaran,<br> Tin-Chera et Tin-Amadal-Satafan 
								pour terminer en apothéose <br>dans le décor lunaire d'Ezawiyet.", "images/Essendilenealg.jpg", "486", "02/08/2008", "11/08/2008", 3);
	insert into CIRCUIT values(8, "Circuit Iherir_tadrart", "<br>Le sable est aussi rouge que les peintures de la région. <br>L'érosion a creusé un passage au coeur 
								de la montagne <br>qui nous permettra de la traverser à pied. <br> Visite des peintures rupestres de Bohedjan <br>datées de la période 
								des Têtes Rondes.", "images/iherir_tadrart_alg.jpg", "990","07/09/2008", "23/08/2008", 3);
	insert into CIRCUIT values(9, "Circuit Oasis saharienne", "<br>Sept merveilles auxquelles nous vous invitons à faire le tour. <br> Un itinéraire typique et une 
								découverte de valeur d'une région <br>réputée par sa richesse naturelle , ses palmeraies, son architecture traditionnelle, <br>
								le tout dans un ensemble géographique évocateur <br> qui porte un nom magique : le Sahara.", "images/oasis_saharienne_alg.jpg",
								 "687", "10/09/2008", "24/09/2008", 3); /* Fin des Circuits Algerie */
	
-- --------------------------------------------------------

CREATE TABLE  if not exists CLIENT (
  idClient int NOT NULL auto_increment,
  motdepasse varchar(20) NOT NULL , 
  nom varchar(50) NOT NULL ,
  prenom varchar(30) NOT NULL ,
  date_naiss varchar(20) NOT NULL ,
  CP varchar(5) NOT NULL ,
  ville varchar(50) NOT NULL ,
  PRIMARY KEY  (idClient)
) ;

-- --------------------------------------------------------

CREATE TABLE if not exists INSCRIRE (
  idclient int NOT NULL,
  idcircuit int NOT NULL ,
  PRIMARY KEY  (idclient,idcircuit),
  FOREIGN KEY (idclient) REFERENCES CLIENT(idclient),
  FOREIGN KEY (idcircuit) REFERENCES CIRCUIT(idcircuit)
) ;

CREATE TABLE if not exists CHAT (
  idchat int NOT NULL auto_increment,
  contenu varchar (400),
  idclient int NOT NULL,
  
  PRIMARY KEY (idchat),
  FOREIGN KEY (idclient) REFERENCES CLIENT (idclient)
  ) ;



Voila et la je crée donc un fichier pour relier le formulaire et la base de données:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Ajoutcircuit</title>
	</head>
				
	<body>

		<?php
			include('connexion.php');   //exécution du script de connexion à la base de données
								 
			//récupération des valeurs des champs:
			//nom:
			 $nomCircuit = $_POST["nomCircuit"] ;
			//prenom:
			$prix = $_POST["prix"] ;
			//adresse:
			$dateDep = $_POST["dateDep"] ;
			//code postal:
			 $dateArr = $_POST["dateArr"] ;
								 
			 //création de la requête SQL:
			$sql = "INSERT  INTO CIRCUIT (nomCircuit, prix,  dateDep, dateArr)
						VALUES ( '$nomCircuit', '$prix', '$dateDep', '$dateArr') " ;
			
			//exécution de la requête SQL:
			 $requete = mysql_query($sql) ;

								?>
</body>

Et je suis bloquer je sais pas trop quoi faire, si vous pouviez m'indiquer quoi faire sans me donner trop d'info car c'est un devoir.
Merci


1 réponse

Utilisateur anonyme
22 mai 2013 à 10:49
Salut salut,

Qu'est ce que ne fonctionne pas exactement , tu as un message d'erreur?
La page ajouterCircuit.php affiche quelque chose ?
Les variable POST sont elles vides?
0