Bonsoir,

Voilà , je dois finir mon site WEB pour lundi et il me reste deux problème à résoudre :

J'explique rapidement le principe de mon site qui est basé sur la course à pied :

Il y a deux types de comptes qui sont :

Organisateur : Organise une course à pied.
Coureur : Participe aux courses à pied préalablement créés par les organisateurs.

Lorsqu'un coureur désire participer à une course, il doit payer le tarif de celle-ci :

http://www.noelshack.com/2015-24-1434152676-capture.png

Il accède aux informations de la course :

http://www.noelshack.com/2015-24-143...9-capture2.png

Une fois qu'il clique sur valider, une page Paypal s'ouvre avec le nom et le tarif de la course le problème est que, même si le coureur paye, il ne s'inscrit pas dans la base de données en tant que participant à la course en question tandis que si j'enlève le code permettant d’accéder à la page de paiement, le coureur s'inscrit bien dans la base de données, voici le code :


Code php : 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
<?php
	//Le visiteur ne peut pas accéder à cette page.
	session_start();
	if($_SESSION["role"] == "Organisateur" || $_SESSION["role"] == "Coureur")
	{
		//Code HTML
	}
	else
	{
		header('Location: index.php'); 
	}
?>
 
 
<?php include("commun/page.php"); ?>
<?php include("commun/menu.php"); ?>
<?php include("bdd/connexionBD.php"); ?>
 
<?php
	//Pour que les accents apparaissent.
	mysqli_query($connexion, "SET NAMES 'utf8'"); 
	mysqli_query($connexion, "SET CHARACTER SET 'utf8'");
?>
 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<link rel="stylesheet" type="text/css" href="style/style.css" />
		<link rel="stylesheet" type="text/css" href="style/menu_coureur.css" />
		<link rel="stylesheet" type="text/css" href="style/menu_organisateur.css" />
		<title> Informations complémentaires </title>
	</head>
 
	<body>
		<center><img src="image/12.png"></center>
 
		<?php
 
			//Permet de récupérer l'id de la course pour afficher les détails de celle ci dans "detail_inscription.php"
			$id_course = $_GET['id_course'];
 
			$requete = "SELECT * FROM `bdd`.`liste_des_courses` WHERE id_course = '$id_course' ";
 
			$req = mysqli_query($connexion, $requete) or die (header('Location: index.php').mysql_error());
 
			if (!isset($_GET['id_course']))	//Isset détermine si une variable est définie et est différente de NULL. 
			{
				header('Location: index.php');
			}
 
			if(mysqli_num_rows($req) == 0)
			{
				header('Location: index.php');
			}
 
 
			//Récupère une ligne de résultat sous forme de tableau.
			$data = (mysqli_fetch_assoc($req));
 
			//On récupère les variables et ...
			$date = $data['date'];
			$nom_course = $data['nom_course'];
			$adresse_course = $data['adresse_course'];
			$cp_course = $data['cp_course'];
			$heure_course = $data['heure_course'];
			$distance_course = $data['distance_course'];
			$distance2 = $data['distance2'];
			$place_disponible = $data['place_disponible'];
			$tarif_course = $data['tarif_course'];
			$description_course = $data['description_course'];
			$email_course = $data['email_course'];
			$telephone_course = $data['telephone_course'];
			$organisateur = $data['organisateur'];
 
			//On les affiches.
			echo 
			'<center> <p id="information">
				Organisateur : '. $organisateur.'<br><br> ',
				'Date : '. $date .'<br><br> ',
				'Nom : '. $nom_course .'<br><br> ',
				'Adresse : '. $adresse_course .'<br><br> ',
				'Code Postal : '. $cp_course .'<br><br>  ',
				'Heure : '. $heure_course .' <br><br>  ',
				'Distance (De VE4 à JU) : '. $distance_course .'<br><br>  ',
				'Distance (De CA à EA) : '. $distance2 .' Km<br><br>  ',
				'Places disponibles : '. $place_disponible .'<br><br>  ',
				'Tarif : '. $tarif_course .' €<br><br>  ',
				'Description : '. $description_course .'<br><br>  ',
				'Email : <a href = mailto:>  '. $email_course .'</a><br><br> ',
				'Téléphone : '. $telephone_course .'<br><br>
			</p></center>';
 
			/* A mettre dans action https://www.paypal.com/cgi-bin/webscr*/
			/* Les variables suivantes doivent être personnalisées selon vos besoins */
			  $email_paypal= 'monmail';/*email associé au compte paypal du vendeur*/
			  $item_numero = $nom_course; /*Numéro du produit en vente*/
			  $tarif_course   = $tarif_course;    /*prix du produit*/
			  $item_nom    = $nom_course; /*Nom du produit*/
			  $url_retour='http://www.memo-web.fr/paypal-remerciement.php';/*page de remerciement à créer*/
			  $url_cancel='http://www.memo-web.fr/paypal-annulation.php'; /*page d'annulation d'achat*/
			  $url_confirmation='http://www.memo-web.net/paypal-confirmation.php';/*page de confirmation d'achat*/
			/* fin déclaration des variables */
 
 
			if($_SESSION["role"] == "Coureur")
			{
 
				echo '
				  <form action="https://www.paypal.com/cgi-bin/webscr" method="POST"> 
					  <input type="hidden" name="cmd" value="_xclick"/>
					  <input type="hidden" name="business" value="'.$email_paypal.'"/>
					  <input type="hidden" name="item_name" value="'.$nom_course.'"/>
					  <input type="hidden" name="item_number" value="'.$item_numero.'"/>
					  <input type="hidden" name="amount" value="'.$tarif_course.'"/>
					  <input type="hidden" name="currency_code" value="EUR"/>
					  <input type="hidden" name="no_note" value="1"/>
					  <input type="hidden" name="no_shipping" value="0"/>
					  <input type="hidden" name="lc" value="FR"/>
					  <input type="hidden" name="notify_url" value="'.$url_confirmation.'"/>
					  <input type="hidden" name="cancel_return" value="'.$url_cancel.'">
					  <input type="hidden" name="return" value="'.$url_retour.'">
					  <br><br><center><p><input value="" type="submit" name="submit_particip" id="submit_particip"></p></center>
				  </form> ';
 
 
				if(isset($_POST['submit_particip']))
				{
					$pseudo = $_SESSION['pseudo'];
 
					$requete = "UPDATE `bdd`.`liste_des_courses` SET place_disponible = place_disponible - 1 WHERE id_course = $id_course";
 
					$req = mysqli_query($connexion, $requete) or die (header('Location: index.php').mysql_error());
 
					//Si tout est correct, on rentre les valeurs dans la base.
				 	$sql = "INSERT INTO `bdd`.`participation_coureurs`
				 			(`id_participation`, `pseudo_participant`, `organisateur`, `date`, `nom_participation_course`, `adresse_participation_course`, `cp_participation_course`, `heure_participation_course`, `distance_participation_course`, `distance2_participation_course`, `tarif_participation_course`, `description_participation_course`, `email_participation_course`, `telephone_participation_course`)
				 			VALUES ('', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 
 
				 	$stmt = mysqli_prepare($connexion, $sql);
 
					mysqli_stmt_bind_param($stmt,'sssssssssssss', $pseudo, $organisateur, $date, $nom_course, $adresse_course, $cp_course, $heure_course, $distance_course, $distance2, $tarif_course, $description_course, $email_course, $telephone_course);
 
					mysqli_stmt_execute($stmt);
 
					$requete = "UPDATE `bdd`.`liste_des_courses` SET nombre_participant = nombre_participant + 1 WHERE id_course = $id_course";
 
					$req = mysqli_query($connexion, $requete) or die (header('Location: index.php').mysql_error());
 
					$requete2 = "UPDATE `bdd`.`participation_coureurs` SET dossard = FLOOR( 1 + RAND( ) * 999 )";
 
					$req2 = mysqli_query($connexion, $requete2) or die (header('Location: index.php').mysql_error());
 
					header('Location: mes_courses.php');
				}
 
			}
		?>
	</body>
</html>

A partir de la ligne 110.

Deuxième problème :

Une fois une course terminé, elle apparait dans une page "classement" :

http://www.noelshack.com/2015-24-1434152975-capture.png

En cliquant sur le bouton "détail" on accèdes donc aux classement des coureurs dans la course :

http://www.noelshack.com/2015-24-1434153072-capture.png

Dans cette page, je n'ai pas la moindre idée de comment affiché les coureurs participant à la course portant comme nom "Course 1" ( http://www.noelshack.com/2015-24-1434152975-capture.png ).

Le code :

Code php : 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
<?php
	//Le visiteur ne peut pas accéder à cette page.
	session_start();
	if($_SESSION["role"] == "Organisateur" || $_SESSION["role"] == "Coureur")
	{
		//Code HTML
	}
	else
	{
		header('Location: index.php'); 
	}
?>
 
<?php include("commun/page.php"); ?>
<?php include("commun/menu.php"); ?>
<?php include("bdd/connexionBD.php"); ?>
 
<?php
	//Pour que les accents apparaissent.
	mysqli_query($connexion, "SET NAMES 'utf8'"); 
	mysqli_query($connexion, "SET CHARACTER SET 'utf8'");
?>
 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title> Classement </title>
		<link rel="stylesheet" type="text/css" href="style/style.css" />
		<link rel="stylesheet" type="text/css" href="style/menu_organisateur.css" />
		<link rel="stylesheet" type="text/css" href="style/menu_coureur.css" />
		<link rel="stylesheet" type="text/css" href="style/tableau_course.css" />
	</head>
	<body>
		<center><img src="image/16.png"></center>
		<table class="tableau_course">
		<thead> <!-- Ensemble de ligne comme "entête" du tableau -->
			<tr>
				<th>Place</th>
				<th>Nom</th>
				<th>Prénom</th>
				<th>Année de naissance</th>
				<th>Dossard</th>
				<th>Catégorie</th>
				<th>Sexe</th>
				<th>Club</th>
				<th>Temps</th>
			</tr>
		</thead>
		<tbody> <!-- Ensemble de ligne comme le "corp" du tableau -->
 
		<?php
 
			$sql = 'SELECT * FROM `bdd`.`inscription` , `bdd`.`liste_des_courses`';
			$sql = mysqli_query($connexion, $sql) or die("erreur sql");
 
			while ($donnees = mysqli_fetch_array($sql))
			{
		?>	
		<?php
			}
		?>

J'ai 4 tables dan ma base de données :

Inscription : Pour l'inscription d'un coureur.
Inscription organisateur : Pour l'inscription d'un organisateur.
liste des courses : La liste des courses créés par les organisateurs.
participation coureur : Table qui associe un coureur à une course.

En gros j'aimerais afficher différents champs de différentes tables seulement pour la course à la quelle les coureurs ont participé.