Probleme variable et pages

Fermé
hubert - 13 juin 2015 à 10:54
 Utilisateur anonyme - 14 juin 2015 à 18:57
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.
A voir également:

4 réponses

Utilisateur anonyme
13 juin 2015 à 11:20
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
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
Utilisateur anonyme
13 juin 2015 à 12:05
/* On affiche la page 1 */

Là tu dois mettre le code pour afficher la page 1
0
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
Utilisateur anonyme
13 juin 2015 à 15:41
Là c'est du JS que je viens de faire, mais la variable vient d'où?
0
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
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
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
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
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
mais cela m'affiche un message d'erreur "PARSE....."
0
Utilisateur anonyme
14 juin 2015 à 18:57
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