8792 sujets

Développement web côté serveur, CMS

Bonjour tout le monde , je m'explique :

Je fais un site de e-commerce dans lequel on peut selectionner et ajouter des produits a un caddy ou on retrouve le nom du produit la reference et une liste deroulante générée a partir du champ taille de la base de donnée ou on retrouve les tailles disponibles.

Je voudrais que quand l'utilisateur selectionne la taille qu'il veut dans la liste deroulante , qu'il change de page et qu'il revienne sur le caddy ce soit la taille qu'il a selectionnée qui soit en 'selected' , et ce bien sur pour plusieurs lignes .

Voila merci
Tu peut faire ca en PHP.
(tu n'est pas dans la bonne sections)
Alors donc, le plus pratique pour un site d'e-commerce avec panier,
c'est de mettre le panier dans une $_SESSION,
et pour la liste deroulante, des qu'il valide le formulaire,
tu envoie la valeur a la session (
$_SESSION['taille'] = $_POST['taille'] 
).

Apres, il te suffit sur le formulaire de mettre un truc du genre:

<option value="35"<?php if(isset($_SESSION['taille']) and $_SESSION['taille'] == "35") echo " selected="selected"; ?>>35</option>


Voila c'est fait a l'arrache mais est ce que tu as compris le principe ?
Modifié par Mobman02 (03 Jun 2005 - 07:39)
Mobman02 a écrit :
Tu peut faire ca en PHP.
(tu n'est pas dans la bonne sections)
Alors donc, le plus pratique pour un site d'e-commerce avec panier,
c'est de mettre le panier dans une $_SESSION,
et pour la liste deroulante, des qu'il valide le formulaire,
tu envoie la valeur a la session (
$_SESSION['taille'] = $_POST['taille'] 
).

Apres, il te suffit sur le formulaire de mettre un truc du genre:

<option value="35"<?php if(isset($_SESSION['taille']) and $_SESSION['taille'] == "35") echo " selected="selected"; ?>>35</option>


Voila c'est fait a l'arrache mais est ce que tu as compris le principe ?



merci de ta reponse

J'ai compris le principe , mais juste une chose

ceci :
$_SESSION['taille'] = $_POST['taille']


Comment faire pour le placer de facon a ce que des que je selectionne une taille ca l'envoie , car je fais dans mon select un OnChange=submit , mais après ??

Merci
Bon il y a du nouveau mais ca ne marche toujours pas Smiley decu , voila ce que j'ai fait :
$TailleProduit est une chaine de caractere ou sont repertoriées les tailles , par exemple : S,M,L,XL


$tabtaille = explode(",",$TailleProduit);
$result2 = count($tabtaille);
$compteur = 0;


<form method="post" action="panier.php3?action=aff"><select name="taille" onchange='submit()'>

$_SESSION['taille'] = $_POST['taille'];

while($compteur < $result2)
{
if(isset($_SESSION['taille']) and $_SESSION['taille'] == "$tabtaille[$compteur]") $selected = "selected"; else $selected = "";
<OPTION value="$tabtaille[$compteur]" $selected >$tabtaille[$compteur]</OPTION>

$compteur = $compteur + 1;
}
</select></form>


Voila je vous ai dispensé des echo etc..

Donc le probleme a l'heure actuelle , c'est que quand je vais dans la liste deroulante et que je selectionne une taille , le submit se fait , ok , la bonne taille est selectionné , mais quand je change de page et que je reviens sur le caddy , la taille n'a pas été conservée et ce n'est plus la bonne qui est selectionnée.

Autre chose : quand il y a un 2eme article dans le caddy quand je selectionne la taille de l'un , le deuxieme se met a la meme taille.

L'url si vous voulez essayer : http://www.laftershop.com

merci
Modifié par lutin (03 Jun 2005 - 19:23)
lutin a écrit :

<form method="post" action="panier.php3?action=aff"><select name="taille" onchange='submit()'>

$_SESSION['taille'] = $_POST['taille'];

while($compteur < $result2)
{
if(isset($_SESSION['taille']) and $_SESSION['taille'] == "$tabtaille[$compteur]")
$selected = "selected"; else $selected = "";
<OPTION value="$tabtaille[$compteur]" $selected >$tabtaille[$compteur]</OPTION>

$compteur = $compteur + 1;
}
</select></form>


Bon je suis allez sur ton site, je suis tombé sur cette erreur (page panier.php)
Warning: session_start(): Cannot send session
Ca veut dire que ta session ne marche pas,
en faite, tu as surement oublier de mettre session_start() en haut de ta page (ou encore, tu doit crée un repertoire sessions/ avec ton FTP, c'est le cas sur les serveur FREE.FR)

Pour le code de ton <select> j'ai remarquer une erreur:
if(isset($_SESSION['taille']) and $_SESSION['taille'] == [i]"$tabtaille[$compteur]") [/b] Smiley eek C'est quoi ses quotes la ?
la correction complete:

while($compteur < $result2)
{
if(isset($_SESSION['taille']) and $_SESSION['taille'] == $tabtaille[$compteur]) {
$selected = "selected"; 
} else $selected = "";
echo '<OPTION value="'.$tabtaille[$compteur].'" '.$selected.'>'.$tabtaille[$compteur].'</OPTION>';

$compteur = $compteur + 1;
}


Smiley cligne bonne chance
Modifié par Mobman02 (03 Jun 2005 - 20:06)