Modifier la valeur d'une variable en fonction de la checkbox cochée

Eléphanteau du PHP | 10 Messages

08 juin 2009, 11:52

Bonjour,

Alors voilà mon souci :

Je réalise un site web pour commander des choses, j'ai donc un panier.
Ensuite une fois l'achat terminé, sur la page du panier on clique sur commander puis il faut choisir un mode de livraison : (j'ai screené )

http://www2.noelshack.com/uploads/livraison015270.jpg

Ensuite on arrive à une page qui est censée additionner le montant total de la commande + le prix de la livraison.
Voilà le problème :
Je n'arrive pas à additionner au montant de la commande la valeur correspondante à la checkbox cochée (19,25,29 ou 31).
Voilà ce que j'ai fait sur ma page des checkbox :
<?php
session_start();

$totalLiv=$_SESSION['total'];

if(isset($_POST['check0']))
{
$test = $totalLiv+19;
}
else
{
if(isset($_GET['check1']))
{

$test=$totalLiv+25;

}
if(isset($_GET['check2']))
{

$test=$totalLiv+29;

}
if(isset($_GET['check3']))
{
$test=$totalLiv+31;

}
}
$_SESSION['total2']=$test; ?>


Ensuite je récupère ma variable total2 sur la page du montant total :

<?php
$total=$_SESSION['total2'];


echo "<br>"."Montant de la commande et frais de port : ";


echo $total."€"; ?>

Et là, ça n'affiche rien.

Il doit y avoir un problème avec mes tests.C'est la première fois que je programme avec des variables de sessions alors je suis un peu perdu je dois dire.J'ai testé pas mal de truc pourtant.
Si je récupère ma variable $totalLiv à la place de $test ici : $_SESSION['total2']=$test; j'ai bien la valeur de ma commande c'est pour cela que je pense que mes if ne sont pas bons.


Voilà merci d'avoir pris la peine de me lire et je suis à l'écoute de toutes critiques et/ou toutes propositions.

;)
Modifié en dernier par tyrants le 10 juin 2009, 15:47, modifié 2 fois.

Eléphant du PHP | 65 Messages

08 juin 2009, 13:04

Bonjour,

Perso, je n'aurais pas utilisé les input checkbox,
mais plutôt des input radio
avec le même nom (choix par ex.) pour tous les attributs input
pour être sûr d'avoir un choix unique (19,25,29 OU 31).

Ensuite, si j'ai bien compris ta démarche,
ce n'est pas sur la page des checkbox
que tu dois récupérer la case que tu as cochée,
mais sur la page du montant total
où tu vas retrouver
ton montant total dans ta variable de session
et ton choix dans le $_GET['choix'] ou $_POST['choix'] (selon la méthode que tu as choisie dans ton form sur la page de la checkbox(radio)).

Voilà, c'est un peu rapide, mais si ça peut t'aider.
FRED

Eléphanteau du PHP | 10 Messages

08 juin 2009, 13:26

Impeccable, ça marche.
En fait bizarrement je ne pensais pas que l'on pouvait additionner des variables de sessions et des variables récupérées via un formulaire.
Je sais pas pourquoi....logique stupide! ^^


Merci et excellente après-midi à toi.