Probleme variable et pages

hubert -  
 Utilisateur anonyme -
Bonjour, je voudrais savoir comment en fonction de ma var js comment changer de page
j'ai une var comprise entre 0 et 7
je veux que si la variable js est :
<3
>3/<6
>6
m'affiche une page en fonction de si elle est plus petite que 3 .....
merci d'avance n'hésitait pas a me dire si il faut que je m'exprime mieux.

4 réponses

  1. Utilisateur anonyme
     
    Tu peux faire ceci:

    /* Ta variable de 0 à 7 */
    maVar = 0;
    /* Converti pour avoir 1,2 ou 3 */
    page = Math.floor(maVar/3)+1;
    switch(page) {
        case 1:
            /* On affiche la page 1 */
            break;
        case 2:
             /* On affiche la page 2 */
            break;
        case 3:
             /* On affiche la page 3 */
            break;
        default:
             /* La variable page ne vaut pas 1,2 ou 3 donc faire autre chose */
    }
    


    Après comme tu met que du strictement je sais pas à quel moment le chiffre est compris ou non.

    Mais là la page 1 est afficher avec [0,1,2] donc inférieur 3 puis la page 2 [3,4,5] donc supérieur ou égale à 3 mais inférieur à 6, et enfin la page 3 avec [6,7] donc supérieur ou égale à 6.
    0
    1. hubert
       
      et comment je sais quel page il faut que je mette enfin ou est le nom de la page a mettre pour que ce code redirige vers le nom de la page
      0
    2. Utilisateur anonyme
       
      /* On affiche la page 1 */

      Là tu dois mettre le code pour afficher la page 1
      0
  2. hubert
     
    mais en quel language??? parce que je voudrais la rediriger vers une autre page mais avec du html qu'est ce que vous en pensez ?? ou du php
    et est ce que je dois modifier le math.floor pour dire si cela doit etre plus grand que/plus petit que..
    et est ce que si je met:
    /* Ta variable de 0 à 7 */
    var varTotal = <?php echo $_POST['js']; ?>; 
    /* Converti pour avoir 1,2 ou 3 */
    page = Math.floor(varTotal/3)+1;
    switch(page) {
        case 1:
            /* On affiche la page 1 */
            break;
        case 2:
             /* On affiche la page 2 */
            break;
        case 3:
             /* On affiche la page 3 */
            break;
        default:
             /* La variable page ne vaut pas 1,2 ou 3 donc faire autre chose */
    }


    et aussi j'avais demander que ce soit une fonction pour l'appliquer a un bouton
    pour que si la variable est comprise entre tel et tel cela me redirige vers une de ces trois page grace a un bouton .

    Merci d'avance.
    0
  3. Utilisateur anonyme
     
    Là c'est du JS que je viens de faire, mais la variable vient d'où?
    0
    1. hubert
       
      d'un autre page en faite elle récupere la variable d'une autre page a partir de son formulaire et d'un post mais le plus important c'est est ce que cela marcherais si je le marquer avec du php comme ca pour la variable et regarder comme j'ai dit le dernier post .. genre pour quand je clique sur le bouton etc...
      0
    2. hubert
       
      est ce que ceci marcherait :
      /* Ta variable de 0 à 7 */
      var varTotal = <?php echo $_POST['js']; ?>; 
      /* Converti pour avoir 1,2 ou 3 */
      page = Math.floor(varTotal/3)+1;
      switch(page) {
          case 1:
              <?php header('page1.php');?>
              break;
          case 2:
              <?php header('page2.php');?>
              break;
          case 3:
               <?php header('page3.php');?>
              break;
          default:
               /* La variable page ne vaut pas 1,2 ou 3 donc faire autre chose */
      }

      : est ce que ce code vous parait valide ?
      et qu'est ce que vous entendez par "La variable page ne vaut pas 1,2 ou 3 donc faire autre chose" et je n'ai pas compris comment fonctionne cette partie du code
      page = Math.floor(varTotal/3)+1;
      0
  4. Utilisateur anonyme
     
    Pour ça autant faire du Php

    $varTotal = $_POST['js'];
    $page = floor($varTotal/3)+1;
    switch(page) {
        case 1:
            header('page1.php');
            break;
        case 2:
            header('page2.php');
            break;
        case 3:
            header('page3.php');
            break;
    }
    


    Et vu le nom des pages on peut aller plus vite:

    header('page'.floor($_POST['js']/3)+1.'.php');
    


    Mais si on post n'importe quoi le code risque de planter
    0
    1. hubert
       
      oui mais si on fait comme ca le code ne sera jamais éxécute car je disais du js puisque on pouvait faire une "function()" et avoir des répercution sur le formulaire html (pardon de ne pas vous l'avoir dit) car jaimerais faire la liaison avec un bouton
      genre
      if document.getElement....('button')....
      $varTotal = $_POST['js'];
      $page = floor($varTotal/3)+1;
      switch(page) {
      case 1:
      header('page1.php');
      break;
      case 2:
      header('page2.php');
      break;
      case 3:
      header('page3.php');
      break;
      }

      car je ne connais pas trop le php mais du coup j'ai l'impression que ce code irai bien donc est ce qu'on peut faire une fonction en "PHP" ??? et faire le même principe que if document.getElementById.......

      Merci d'avance
      0
    2. hubert
       
      ou alors :
      function redirection(){
      if document.getElementById("b_redirect").checked{
      <?php	$varTotal = $_POST['js'];
      $page = floor($varTotal/3)+1;
      switch(page) {
          case 1:
              header('page1.php');
              break;
          case 2:
              header('page2.php');
              break;
          case 3:
              header('page3.php');
              break;	?>
      0
    3. hubert
       
      mais cela m'affiche un message d'erreur "PARSE....."
      0
    4. Utilisateur anonyme
       
      Du JS lier à du PHP ainsi ne donnera rien, car déjà header vas créer une rediretion directement.

      Je conseille plutôt de faire ça:
      $varTotal = (!empty($_POST['js'])) ? $_POST['js'] : 0 ;
      switch(floor($varTotal/3)+1) {
          case 1:
              $page ='page1.php';
              break;
          case 2:
              $page ='page2.php';
              break;
          case 3:
              $page ='page3.php';
              break;
          default:
          	$page ='page1.php';
      }	
      


      Mettre ce code PHP au début de la page.

      function redirection() {
      	if (document.getElementById("b_redirect").checked) {
      		window.location = "<?php echo $page ?>";
      	};
      }
      

      Et dans une balise script mettre ce code.

      Maintenant ça doit fonctionner sans soucis.
      0