Page 1 sur 2

Qui peut m'expliquer les fonctions et leur utilisation?

Posté : 22 juin 2006, 20:45
par coxine
Voilà, j'ai réalisé pour apprendre et progresser un catalogue et un panier.
Or je me rends compte que mes pages ne sont pas "clean" question code, y a plein de conditions partout.
J'aimerais pouvoir alléger mon code, et utiliser des fonctions que j'aurais paramétré dans d'autres fichiers à qui je ferais appel par des includes.

Donc voila : par exemple : J'ai cette condition :
//----------------------------------------------------MODIF PANIER
if ($modifPanier=="Recalculer")
{
	for ($i=0;$i<count($liste);$i++)
		{
		$nbi='nb'.$i;
		$liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
		$liste[$i][3]=$liste[$i][1]*$liste[$i][2];
		$dispos=10-$quantite_totale;
		$nbplaces=$liste[$i][1];
		if($liste[$i][1]+$quantite_totale<=10)
			{// si la quantité recalculée est inférieure à 10
			$success1=true;
			$message1="Vous avez réservé <strong>$nbplaces place(s)</strong>,<br/> cliquez sur <strong>Continuer</strong>";//c'est ok
			}
			else{
			$success1=false;
			$message1="Il ne reste que $dispos place(s) disponible(s), veuillez recommencer SVP !";
			// on affiche le nbre de places dispos
			}
		}
	$_SESSION['liste']=$liste;//mAj de la liste
}
Comment modifier la condition "Recalculer" pour la transformer en fonction et comment l'appeler ?
Je crois avoir compris le principe, mais je bloque (CF. mon post sur le tuto de cyrano) sur l'appel des fonctions !
Est ce que je mets comme lien sur le bouton la fonction "recalculer" ?
Bref ! Si vous pouvez m'aider, je vous en remercie !

Posté : 23 juin 2006, 00:13
par alaingpl

Posté : 23 juin 2006, 13:48
par Invité
Merci oui je connais cette adresse, j'y ai fait mes tous premiers pas !

Je reviens car j'ai un peu avancé.
Je suis arrivée à créer mon panier en session.
Dans le tuto de Cyrano, pour l'ajout d'autres produits, on peut faire appel à une fonction.
Cette fonction est donc présente dans un fichier externe.
Comment y faire appel ?
Dans le catalogue, le lien d'ajout d'un article est

Code : Tout sélectionner

<a href="panier2.php?ID_session=<?php echo $row_session['ID_session'];?>&prix=<?php echo $row_session['prix'];?>&qte=1;?>">Réserver</a>
Comment réécrire ? pour appeler cette fonction :
<?php 
/** 
 * Ajout d'un article dans le panier 
 * 
 * @param array $select variable tableau associatif contenant les valeurs de l'article 
 */ 
function ajout($select) 
{ 
    array_push($_SESSION['panier'][ID_session],$select['ID_session']); 
    array_push($_SESSION['panier']['qte'],$select['qte']); 
    array_push($_SESSION['panier']['prix'],$select['prix']); 
} 
?> 
Je pense que dès que j'aurais pigé comment faire appel aux fonctions, je pourrais avancer, mais là je coince :(
Merci de votre aide !!!!

Posté : 23 juin 2006, 14:10
par jojolapine
ben pour faire appel à une fonction tu faits comme ça:
<?php
$resultats_eventuels_si_return_dans_la_fonc=nom_fonction(parametres,...);
?>

Posté : 23 juin 2006, 14:49
par Ryle
Hello :)

Les fonctions sont en php, elles ne peuvent donc être appellées que par php sur le serveur (donc pas de lien depuis un bouton).

L'intérêt d'une fonction est d'externaliser une partie du code - généralement parce que tu l'utilises à divers endroit de ton site et que tu vas pas le retaper à chaque fois ;) Elles sont exécutés uniquement au moment où tu les appelles. Tu peux donc commencer ton script par écrire 3 fonctions et les appeller n'importe où dans le reste du script.

Quand je dis "externaliser", ca peut tout aussi bien être dans un autre fichier que placée en haut de ta page pour éviter de surcharger le code à l'endroit où tu l'appel. Dans tous les cas, pour pouvoir appeler une fonction, il faut que ton script la voit (si elle est dans le même fichier ca ne pose pas de problème, si elle est dans un autre, il faut que tu faces un include, require, etc. du fichier dans ton script pour que php puisse la trouver). Après ca fonctionne exactement comme les fonctions prédéfinies de php (date(), strlen(), ereg() ...) :)

Le principe de la fonction est de réaliser un traitement à partir des paramètres éventuels que tu lui passes en entrée (ouais parce qu'une fonction c'est très individualiste.. c'est à toi de lui donner les valeurs dont elle a besoin pour s'exécuter et elle va faire son traitement dans son coin), et qui éventuellement va te retourner un résultat (ce n'est pas obligé).

Par exemple tu peux avoir besoin sur différentes pages d'une fonction d'addition (ouais, je sais quand tu veux additionner des nombres tu le fais de tête ou tu utilises le "+" et ca marche très bien, mais si tu me gache mes exemples en plus de me traiter de mamouth, ca va mal se passer ;)).

Tu vas donc créer une fonction dans un fichier à part que tu vas inclures dans toutes les pages où tu en as besoin, et ainsi pouvoir l'appeller :

fonction-plus.inc.php
/**
 * fonction d'addition de deux nombre afin de connaitre le total de leur somme si on les ajoutes l'un à l'autre ou le contraire
 * parametre $premiereValeur : premier nombre de mon addition
 * parametre $deuxiemeValeur : second nombre de mon addition
 * valeur de retour : le total 
 */
function plus($premiereValeur, $deuxiemeValeur) {
  $resultat = $premiereValeur + $deuxiemeValeur; // calcul la somme, mais on pourrait lui donner tout un tas d'autres choses à faire si on était un peu moins paresseux...
  return $resultat; // valeur de retour
}
tes-differents-scripts.php
include "fonction-plus.inc.php"; // va chercher le fichier avec ma super fonction de la mort !!
$valeurRetourneeParLaFonction = plus ( 4896534.78649, 4568.135454 ) ; // on la ramene moins avec son calcul de tête maintenant hein ?! ;)
echo $valeurRetourneeParLaFonction; // t'as pas trouvé plus long comme nom de variable à retaper ?!
Voilà qui devrait te donner un (bonne ?) approche.. ensuite tu peux définir le nombre et le type de paramètres dont tu as besoin, si certains ont des valeur par défaut, ce que va retourner la fonction, si elle retourne quelque chose, tu peux y mettre du html (avec des ?> html <? ) qui ne sera appelé que lorsque tu appelleras la fonction, etc. :)

Posté : 24 juin 2006, 10:50
par Invité
oui merci Ryle,
Je comprends l'approche, l'utilité ->simplifier le code, éviter les boucles de conditions !
Mais je n'arrive tjs pas à mettre en pratique dans un lien
Là je suis sur le panier...
J'affiche le tableau multidimensionnel sur la page.
Donc je vois bien que le panier a été créé en session...
Mais je ne vois pas comment utiliser cette fonction :
function ajout($select) 
{ 
    $ajout = false; 
    if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false) 
    { 
        if(!verif_panier($select['id'])) 
        { 
            array_push($_SESSION['panier']['ID_session'],$select['id']); 
			array_push($_SESSION['panier']['qte'],$select['qte']); 
			array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
			array_push($_SESSION['panier']['date_debut'],$select['date_debut']);
			array_push($_SESSION['panier']['horaires'],$select['horaires']);
			array_push($_SESSION['panier']['intitule'],$select['intitule']);
			array_push($_SESSION['panier']['prix'],$select['prix']);  
            $ajout = true; 
        } 
        else 
        { 
            $ajout = modif_qte($select['id'],$select['qte']); 
        } 
    } 
    return $ajout; 
} 
C'est à dire sur la page catalogue le lien que j'ai fait est :

Code : Tout sélectionner

<a href="panier2.php?ID_session=<?php echo $row_session['ID_session'];?> &date_debut=<?php echo $row_session['date_debut'];?> &horaires=<?php echo $row_session['horaires'];?>&prix=<?php echo $row_session['prix'];?> &intitule=<?php echo $row_session['intitule'];?> &ID_cours=<?php echo $row_session['ID_cours'];?> &ajoutPanier=AJOUTER"><strong> R&eacute;server</strong></a>
Où insérer la fonction ajout ??? ça doit être tellement évident que je ne vois pas !
:roll: ](*,)
:lol:

Posté : 24 juin 2006, 10:51
par coxine
Oups c'est moi l'invité !
Pas réveillée ce matin !!
Merci Ryle....
J'adore tes explications ! :oops:

Posté : 24 juin 2006, 13:14
par Ryle
L'utilisation de la fonction ne se fait pas au niveau de ton lien mais au niveau de php. Ton lien va uniquement servir à appeller un script php qui va récupérer les différents paramètres que tu lui passes et faire appel à ta fonction :)

Ce qu'il faut donc voir c'est que fait ta fonction, quels sont les paramètres qu'il faut lui passer et qu'est ce qu'elle va te répondre
/**
 * A première vue, c'est une fonction pour ajouter des éléments dans ton pannier
 * paramètre $select : c'est un tableau associatif contenant les valeur "id", "qte", etc. Il faut donc au préalable avoir préparé ce tableau à partir des éléments que tu as récupéré via ton lien :)
 * valeur de retour : vrai si tout c'est bien passé, et faux en cas de problème. Tu peux ainsi t'assurer que tout à bien marché en récupérant et testant le résultat de ta fonction :)
 */
function ajout($select) 
{ 
    $ajout = false; // variable qui sera retournée, elle est passée à vrai quand tout a marché
    if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false) 
    { // vérifie en session que le panier n'est pas verrouillé (?)
        if(!verif_panier($select['id'])) // fait appel à la fonction verif_panier() qui doit probablement controler que l'objet n'est pas déjà dans le panier
        { 
            // ajoute tout plein de chose dans la session (à mon avis il te manque un niveau dans ton tableau pour associer la quantité à l'id ... à vérifier  :?: )
            array_push($_SESSION['panier']['ID_session'],$select['id']); 
            array_push($_SESSION['panier']['qte'],$select['qte']); 
            array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
            array_push($_SESSION['panier']['date_debut'],$select['date_debut']); 
            array_push($_SESSION['panier']['horaires'],$select['horaires']); 
            array_push($_SESSION['panier']['intitule'],$select['intitule']); 
            array_push($_SESSION['panier']['prix'],$select['prix']);   
            $ajout = true; 
        } 
        else // si le produit est déjà dans le panier, modifie juste la quantité
        { 
            $ajout = modif_qte($select['id'],$select['qte']);  // fait appel à la fonction modif_qte() qui doit probablement retourner vrai ou faux également
        } 
    } 
    return $ajout; // retourne le résultat du traitement
} 
Ton script doit donc ressembler à un truc du genre (avec tous les tests qui vont bien et que j'ai la flemme de mettre ;)) :
<?php

// récupération des valeur et contruction du tableau $select (c'est peut être fait différement
// je connais pas le tuto, mais l'idée est là :)) 
$select = array(
  "id" => $_GET['ID_session'],
  "qte"=> $_GET['qte'],
  ...
);

$ajoutOk = ajout($select); // ajout dans le panier (avantage, j'ai pas besoin de savoir comment ça fonctionne exactement avec la session, j'appelle juste la fonction et lui laisse faire son boulot ;))
if($ajoutOk) // whooopiiii !!!
  echo "Wouaah !! Votre produit est dans le pannier, va falloir passer à la caisse maintenant !"; 
else // groumpf !!
  echo "Raah s****** de script de m**** qui marche que quand ça lui chante !";

?>

Posté : 24 juin 2006, 13:52
par coxine
whaouw ça y est miss cox comment à piger !
Alors mon panier je l'ai construit sur la base du tuto de cyrano

Donc dans la page panier, j'ai initialisé la construction de ce dernier.
<?php 
/* Démarrage ou prolongation de la session */ 
session_start(); 
require_once('fonctions_panier.php');
require_once('Connections/connexion.php');
/* Article exemple */ 
$select = array(); 
$select['id'] = $_GET['ID_session']; 
$select['qte'] = 1; 
$select['ID_cours'] = $_GET['ID_cours'];
$select['date_debut'] = $_GET['date_debut'];
$select['horaires'] = $_GET['horaires'];
$select['intitule'] = $_GET['intitule'];
$select['prix'] = $_GET['prix']; 

/* On vérifie l'existence du panier, sinon, on le crée */ 
if(!isset($_SESSION['panier'])) 
{ 
    /* Initialisation du panier */ 
    $_SESSION['panier'] = array(); 
    /* Subdivision du panier */ 
    $_SESSION['panier']['ID_session'] = array(); 
    $_SESSION['panier']['qte'] = array(); 
	$_SESSION['panier']['ID_cours'] = array();
	$_SESSION['panier']['date_debut'] = array();
	$_SESSION['panier']['horaires'] = array();
	$_SESSION['panier']['intitule'] = array();
	$_SESSION['panier']['prix'] = array();
} 

/* Ici, on sait que le panier existe, donc on ajoute l'article dedans. */ 
array_push($_SESSION['panier']['ID_session'],$select['id']); 
array_push($_SESSION['panier']['qte'],$select['qte']); 
array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
array_push($_SESSION['panier']['date_debut'],$select['date_debut']);
array_push($_SESSION['panier']['horaires'],$select['horaires']);
array_push($_SESSION['panier']['intitule'],$select['intitule']);
array_push($_SESSION['panier']['prix'],$select['prix']); 
Dans la page fonctions_panier.php
C'est là que je retrouve:
function ajout($select) 
{ 
    $ajout = false; 
    if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false) 
    { 
        if(!verif_panier($select['id'])) 
        { 
            array_push($_SESSION['panier']['ID_session'],$select['id']); 
			array_push($_SESSION['panier']['qte'],$select['qte']); 
			array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
			array_push($_SESSION['panier']['date_debut'],$select['date_debut']);
			array_push($_SESSION['panier']['horaires'],$select['horaires']);
			array_push($_SESSION['panier']['intitule'],$select['intitule']);
			array_push($_SESSION['panier']['prix'],$select['prix']);  
            $ajout = true; 
        } 
        else 
        { 
            $ajout = modif_qte($select['id'],$select['qte']); 
        } 
    } 
    return $ajout; 
} 
J'ai récupéré les variable de cette manière comme je le disais plus haut :

Code : Tout sélectionner

<a href="panier2.php?ID_session=<?php echo $row_session['ID_session'];?> &date_debut=<?php echo $row_session['date_debut'];?> &horaires=<?php echo $row_session['horaires'];?>&prix=<?php echo $row_session['prix'];?> &intitule=<?php echo $row_session['intitule'];?> &ID_cours=<?php echo $row_session['ID_cours'];?> &ajoutPanier=AJOUTER"><strong> R&eacute;server</strong></a>
Est-ce que c'est un bon début ?
Pour afficher le panier (pour le moment j'ai fait un var_dump()) et j'obtiens ce résultat :
:

Code : Tout sélectionner

array(7) { ["ID_session"]=> array(1) { [0]=> string(2) "28" } ["qte"]=> array(1) { [0]=> int(1) } ["ID_cours"]=> array(1) { [0]=> string(1) "3" } ["date_debut"]=> array(1) { [0]=> string(10) "2006-07-01" } ["horaires"]=> array(1) { [0]=> string(13) "10h30 à 13h30" } ["intitule"]=> array(1) { [0]=> string(6) "coucou" } ["prix"]=> array(1) { [0]=> string(6) "100.00" } }
On est d'accord j'ai pas de quantité là ? :-k

(je suis pdr avec tes commentaires !! tu devrais éditer un bouquin :wink

Posté : 24 juin 2006, 15:15
par Ryle
Pour l'instant tu as quasiment tout bon :)

L'intérêt de la fonction ajout() c'est d'enlever ces lignes de ton premier extrait de code :
/* Ici, on sait que le panier existe, donc on ajoute l'article dedans. */ 
array_push($_SESSION['panier']['ID_session'],$select['id']); 
array_push($_SESSION['panier']['qte'],$select['qte']); 
array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
array_push($_SESSION['panier']['date_debut'],$select['date_debut']); 
array_push($_SESSION['panier']['horaires'],$select['horaires']); 
array_push($_SESSION['panier']['intitule'],$select['intitule']); 
array_push($_SESSION['panier']['prix'],$select['prix']); 
Tout ceci peut etre remplacé par l'appel à ajout() qui va également gérer si le produit est déjà dans le panier et dans ce cas uniquement modifier sa quantité :)
include ("fonctions_panier.php ");
$ok = ajout($select);
On est d'accord j'ai pas de quantité là ?
Euh ben non, tu as une quantité de 1, que tu as définies directement en php dans $select['qte'] :
/* Article exemple */ 
$select = array(); 
$select['id'] = $_GET['ID_session']; 
$select['qte'] = 1; 
...
d'où dans ton var_dump le

Code : Tout sélectionner

["qte"]=> array(1) { [0]=> int(1) }
:)

Posté : 24 juin 2006, 15:24
par coxine
merci !
ca y est je pense enfinnnn comprendre l'utilisation de ces fonction, en fait, comme les utiliser dans les variables.
Par exemple pour le $total
/** 
 * Calcule le montant total du panier 
 * 
 * @return Double 
 */ 
function montant_panier() 
{ 
    /* On initialise le montant */ 
    $montant = 0; 
    /* Comptage des articles du panier */ 
    $nb_articles = count($_SESSION['panier']['ID_session']); 
    /* On va calculer le total par article */ 
    for($i = 0; $i < $nb_articles; $i++) 
    { 
        $montant += $_SESSION['panier']['qte'][$i] * $_SESSION['panier']['prix'][$i]; 
    } 
    /* On retourne le résultat */ 
    return $montant; 
} 
Je définie la variable $total comme ça :
<?php $total = montant_panier();?><?php echo $total;?> &euro;
C'est ça prof ?
:lol:
Pfiou, une semaine pour comprendre ! :wink:
Heuuuuu mais j'en fais quoi du $ok = ajout($select) ????? :lol: :?:
D'autre part, si je veux eviter un ajout d'article au panier par F5, j'ai tout intéret à appliquer une méthode post pour récupérer mes variables, n'est-ce pas ?

Posté : 24 juin 2006, 18:14
par Ryle
Toutafé :)

tu peux aussi directement exploiter le résultat de la fonction :
<?php echo montant_panier();?>
Le "$ok = ajout($select)" te permet de mettre à jour le pannier en session, tu peux donc enlever les lignes que je t'ai indiqué et faire l'appel à cette fonction à la place. Quant au $ok, il te permet de savoir si la maj en session s'est bien passée mais tu n'es pas obligée de t'en soucier (ca marchera bien dans 99.9% des fois, et pour le 0.1 qui reste, l'utilisateur verra bien que ca n'a pas été ajouté à son panier)


Pour la double saisie sur le F5, effectivement, en post tu auras un message d'avertissement comme quoi tu es sur le point de reposter les données, ce qui est peut être plus propre que de le faire sans qu'il ne s'en rende compte... Mais du coup il faut que tu remplaces ton lien par un formulaire avec des champs cachés puor passer les valeurs :)

Posté : 24 juin 2006, 22:11
par Blast
Pour la double saisie sur le F5, effectivement, en post tu auras un message d'avertissement comme quoi tu es sur le point de reposter les données, ce qui est peut être plus propre que de le faire sans qu'il ne s'en rende compte...
Et si tu veux vraiment bien faire les choses, tu fais un "redirect" apres ton POST pour éviter l'ajout une seconde fois de l'article si l'utilisateur clique sur "précédent" ou appuie sur F5. (pattern PRG)

Avec cette méthode, le clic sur précédent ne repost pas les données une nouvelle fois et tu n'aura pas le message d'alerte cité ci dessus et ce grace à la spec du protocole http !

Voila, si tu veux bien faire les choses, c'est comme ca qu'il faut faire :
PRG : post/redirect/get

Posté : 25 juin 2006, 10:52
par Ryle
Vi en effet Blast a raison, avec un header() pour rediriger vers une autre page (voire la même) après ton traitement, il n'y aurait plus de risque de reposter en actualisant puisque les paramèters auront été réinitialisés :)

(Et du coup tu n'aurais même pas besoin de passer en post, tu pourrais tout laisser dans le lien).

Posté : 25 juin 2006, 13:07
par coxine
Ben pourquoi je ne reçois pas les notifications de messages ?
Bref !
Merci de vos réponses !

Alors oui effectivement je pense (et mercià vous deux) que je ferais un header pour éviter l'incrémentation....

Mais avant cela, il faudrait que j'arrive à le faire fonctionner ce panier et c'est la cata :lol:

1. Je crois que j'ajoute tjs la même référence....
2. l'affichage dans la boucle ne doit pas être correct
3. j'ai ce type de messages d'erreurs
Notice: Undefined index: panier in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 264

Warning: array_search(): Wrong datatype for second argument in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 264

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 21

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 22

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 23

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 24

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 25

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 26

Warning: array_push(): First argument should be an array in d:\programmes\easyphp1-8\www\test\fonctions_panier.php on line 27
:( J'ai initalisé la page panier comme ça :
//* Article exemple */ 
$select = array(); 
$select['id'] = $_GET['ID_session']; 
$select['qte'] = $_GET['qte']; 
$select['ID_cours'] = $_GET['ID_cours'];
$select['date_debut'] = $_GET['date_debut'];
$select['horaires'] = $_GET['horaires'];
$select['intitule'] = $_GET['intitule'];
$select['prix'] = $_GET['prix']; 
$ok = ajout($select);
$ref_article = $select['id'];
/* On vérifie l'existence du panier, sinon, on le crée */ 
if(!isset($_SESSION['panier'])) 
{ 
    /* Initialisation du panier */ 
    $_SESSION['panier'] = array(); 
    /* Subdivision du panier */ 
    $_SESSION['panier']['id_article'] = array(); 
    $_SESSION['panier']['qte'] = array(); 
	$_SESSION['panier']['ID_cours'] = array();
	$_SESSION['panier']['date_debut'] = array();
	$_SESSION['panier']['horaires'] = array();
	$_SESSION['panier']['intitule'] = array();
	$_SESSION['panier']['prix'] = array();
}  
et la fonction ajout comme ça :
function ajout($select) 
{ 
    $ajout = false; 
    if(!isset($_SESSION['panier']['verrouille']) || $_SESSION['panier']['verrouille'] == false) 
    { 
        if(!verif_panier($select['id'])) 
        { 
            array_push($_SESSION['panier']['id_article'],$select['id']); 
			array_push($_SESSION['panier']['qte'],$select['qte']); 
			array_push($_SESSION['panier']['ID_cours'],$select['ID_cours']); 
			array_push($_SESSION['panier']['date_debut'],$select['date_debut']);
			array_push($_SESSION['panier']['horaires'],$select['horaires']);
			array_push($_SESSION['panier']['intitule'],$select['intitule']);
			array_push($_SESSION['panier']['prix'],$select['prix']);  
            $ajout = true; 
        } 
        else 
        { 
            $ajout = modif_qte($select['id'],$select['qte']); 
        } 
    } 
    return $ajout; 
} 
Je récupère comme je le disais hier (pour le moment en méthode GET) les valeurs

Code : Tout sélectionner

<a href="panier2.php?ID_session=<?php echo $row_session['ID_session'];?> &date_debut=<?php echo $row_session['date_debut'];?> &horaires=<?php echo $row_session['horaires'];?>&prix=<?php echo $row_session['prix'];?> &intitule=<?php echo $row_session['intitule'];?> &ID_cours=<?php echo $row_session['ID_cours'];?> &ajoutPanier=AJOUTER"><strong> R&eacute;server</strong></a>
Est-ce que je dois mettre plutôt : &ajout($select)=ok ??