Comment faire passer une variable dans une page sans submit

Résolu
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour

Une dernière petite amélioration a mon bon de commande
je souhaiterais ajouter des codes promo dans mon bon de commande

la seule manière que j'ai trouvé
c'est donc de crée un petit formulaire sur le code html
du style tout simple

<form action="panier.php" method="POST">
    <input type="text" name="promo">
    <input type="text" name="ristourne">
    <input type="submit" name="submit">
</form>


et sur panier.php récupérée les variables php et les convertir en JavaScript

<?php 
// recuperation au propre des variables
$promo = !empty($_POST['promo']) ? $_POST['promo'] : NULL;
$ristourne = !empty($_POST['ristourne']) ? $_POST['ristourne'] : NULL;

//test affichage
echo "promo: ".$promo;
echo "ristourne: ".$ristourne;
?>


<script type="text/javascript">
//affectation des variables en javascript
 var ristourne = <?php echo json_encode($ristourne); ?>;
 var promo = <?php echo json_encode($promo); ?>;
 
 //test affichage
  alert(ristourne + ", " + promo);
</script>


je m'épate cela fonctionne ...

Mais mon problème est que lorsque le client clic sur le bouton submit il est redirigé vers panier.php

alors que je souhaiterais qu'il reste sur le formulaire après avoir rempli le form

Mais es ce possible puisque ce sont deux langages diffèrent

10 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour
    Tu veux donc les envoyer vers la page panier. PHP sans quitter la page où tu te trouves ?
    Donc tu veux faire de l'Ajax ...
    0
  2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour jordane
    merci pour la reponse

    oui c'est bien ca

    as tu un tuto pour le faire en ajax a tout hassard
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Ben tu reprends l'un des dix, ou trente dernier codes que nous avons déjà vu ensemble et tu auras déjà de bonnes bases ......

      Mais.. je ne comprends pas vraiment ce que tu veux faire...

      La page dans laquelle se trouve ton formulaire se nomme comment ?
      Tu dis vouloir les envoyer dans le fichier panier.php pour ensuite les convertir en javascript ... pour en faire quoi dans panier.php ?
      Car si tu ne vas pas dans cette page..le javascript ne te seras pas utile...
      Et si tu veux juste récupérer les variables directement dans la page où tu te trouves pour les utiliser dans ton js .. pas besoin de php ni d'ajax ... il te suffit de lire le contenu de tes champs en javascript .... comme dans les codes précédents que tu nous as montré ...

      En gros, sur chaque INPUT tu ajoutes un ID
       <input type="text" name="promo" id="promo">
      

      (NB: ID qui n'existerait pas déjà dans la page bien entendu... )

      Et puis en js, il te suffit de faire
      var promo = document.getElementById('promo').value;
      


      bien sûr, il faudra virer le action du form et changer le bouton en BUTTON au lieu de SUBMIT et y attacher un ONCLICK qui déclenchera le traitement des données....
      1
  3. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    mer ci pour ton aide jordane
    c'est vrai que des exemples il y en a ...

    ce que je veux faire c'est pouvoir donner l occasion d utiliser un code promo ou une ristourne que je vais pouvoir déduire du total de mon panier

    pour l instant la page ou ce trouve mon formulaire s appelle
    https://phil.pecheperle.be/test-commande-ok-v2.php

    ma page panier s'appelle panier.js actuellement mais je suppose que dés que j aurais un peu de php a l'intérieur je devrais l appeler panier.php

    donc l'idée est que le client puisse appliquer un code promo dans le formulaire html et que ce code promo
    puisse se déduire directement du montant du paniertotal dans le fichier que j'appelle pour l'instant panier.js

    Donc j'avais eu l'idée que le client entre un code promo dans le html qui sera reconnu dans panier.js et qu'il puisse se déduire du total du bon de commande

    je pense que ton idée est la solution
    je la teste cet après midi

    encore une fois merci beaucoup
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Et tes codes promos tu les gèrent comment ?
      Comment tu les generes ? Comment tu vérifies qu'ils sont valides ?
      Essyer de faire tout le js avant d'avoir réfléchit et mis en place le code côté serveur et base de données est une très très très mauvaise idée...
      Tu vas soit coder une usine à gaz inmaintebable soit ne pas du tout y arriver...
      1
  4. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    en fait
    mon idée était la suivante
    dans mon code javascript

    j'aurais pu avoir des codes promo valables pour 24h00 par exemple pour certains clients
    que j'aurais teste avec des conditions

    imaginons que j'ai un client qui s appelle Alain , je pouvais lui dire entre le code promo "Alain45478545"
    si il se trompe , lui afficher un message que le code n 'est pas bon

    imaginons que je veux faire bénéficier plusieurs utilisateurs avec des coupons différents(que je modifierais moi même dans le code après 24h00

    j'aurais fait un truc du style

    variable récupérée ="Alain45478545" pour Alain
    ou
    variable récupérée ="pierre45478545" pour pierre

    promo1=variable récupérée

    ensuite je passe dans des if

    if promo1 =Alain45478545
    alors promotion=10%
    else if promo1=pierre45478545
    alors promotion =20%
    else
    erreur du code promo ou pas de promo disponible
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    cela fait bien 10fois que je recommence mon message
    je vais essayer d poster différemment
    désole pour le manque d explication

    mon idée est de géré cela avec des conditions
    par exemple

    du style
    if
    variable recuperee ="promojean123"
    alors var promo =10%

    else si
    variable recuperee ="promojalain4544123"
    alors var promo=20%

    code pas bon , ou pas de code
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Gérer avec des conditions où ça dans le JavaScript ?
      Ça veut dire que n'importe qui qui regarderai le code source de ta page pourrais trouver les codes de réduction sans aucun souci...
      Autant les appliquer systématiquement sans utiliser de bon promo...
      1
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    oui dans le javascript

    ah bon , ok ben alors j'abandonne l idée car cela était mon plan

    je vais donc passer cette folie a bien plus tard ...

    Merci jordane
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      mais tu sais... en fait c'est comme ton panier ....
      Vu qu'il est en javascript ... on peut éditer le code depuis son navigateur internet ..... et y mettre ce qu'on veut avant d'envoyer le paiment à paypal ..

      En gros.. je pourrais très bien aller sur ton site .. modifier le prix des produits, le montant total du panier... et finalement commander tous tes produits .. et ne me facturer 0 euros... (ou 1 euros à la limite... pour que paypal prenne le payement.. )
      1
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ah bon
    ben dis donc ...alors la je reste cloué à ma chaise ...
    Mais bon ce bon de commande n est vraiment mis a disposition pour mes membres et ensuite je contrôle tout manuellement si commande il y a ...

    donc pour le code promo cela pourrait se faire comme je l'avais pensé alors ?puisque je contrôle tout ...et que seul les inscrits peuvent passer commande ...

    de toute façon le jour ou cela devient trop commercial , on ne sait jamais hein ...je prendrais woocommerce
    puisque mon autre site est en wordpress
    0
  9. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    jordane mes messages ne passent plus
    même que du texte
    0
    1. bazfile Messages postés 58526 Date d'inscription   Statut Modérateur Dernière intervention   20 281
       
      0
      1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > bazfile Messages postés 58526 Date d'inscription   Statut Modérateur Dernière intervention  
         
        merci mais malheureusement cela était un autre message

        ah bon
        ben dis donc ...alors la je reste cloué à ma chaise ...
        Mais bon ce bon de commande n est vraiment mis a disposition pour mes membres et ensuite je contrôle tout manuellement si commande il y a ...

        donc pour le code promo cela pourrait se faire comme je l'avais pensé alors ?puisque je contrôle tout ...et que seul les inscrits peuvent passer commande ...

        de toute façon le jour ou cela devient trop commercial , on ne sait jamais hein ...je prendrais woocommerce
        puisque mon autre site est en wordpress
        1
  10. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci
    mais je ne comprends pas pourquoi certains messages ne se poste plus
    encore un a l instant
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      certains mots sont boqués par le robot
      1
  11. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ah bon
    ben dis donc ...alors la je reste cloué à ma chaise ...
    Mais bon ce bon de commande n est vraiment mis a disposition pour mes membres et ensuite je contrôle tout manuellement si commande il y a ...

    donc pour le code promo cela pourrait se faire commercial je l'avais pensé alors ?puisque je contrôle tout ...et que seul les inscrits peuvent passer commande ...

    de toute façon le jour ou cela devient trop commercial , on ne sait jamais hein ...je prendrais woocommerce
    puisque mon autre site est en
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      c'est toi qui décides....
      1