Garder les valeurs de mes tableaux quand je rafaraichit ma page

Varkan Messages postés 27 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 17 mai 2011 - 15 mai 2011 à 15:42
Varkan Messages postés 27 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 17 mai 2011 - 16 mai 2011 à 08:30
Bonjour à tous !

Je fais actuellement mon Memory, avec différentes tableaux en php qui contiennent des numéros aléatoires et avec cela je met mes images a l'intérieur car celles-ci ont pour nom 1.png 2.png etc.

J'appelle ma fonction php pour le mode facile dans ma page partie.php comme ça :

// Test le niveau, si = à facile : Initialise un tableau en php en 4x4
if ($_SESSION["niveau"] == "facile")
{
    niveau(4,4);
}


Ensuite sur ma page fonction.php j'ai ma fonction qui créé mon tableau html, qui met les images dans les cases et qui créé également un autre tableau contenant les numéro des images afin des les comparer par la suite via les coordonnée [ligne][colonne]

voici la fonction :

function niveau($jmax,$imax)
{
    $_SESSION["j"] = 1; //Ligne
    while($_SESSION["j"] <= $jmax)
    {
        ?>
        <tr>
        <?php
        $_SESSION["i"] = 1; //Colonne
        while($_SESSION["i"] <= $imax)
        {
            $_SESSION["randmax"] = $jmax*$imax; // Donne le nombre de case > le nombre de carte
            $_SESSION["rand"] = rand(1, $_SESSION["randmax"]); // génére un nombre aléatoire
            $inctab = 1; // Variable qui incrémente le dimenssions
            while($inctab <= $imax) //
            {
                if (in_array($_SESSION["rand"], $_SESSION["tblidc"][$inctab]))// Test si la var $rand existe déjà dans la dim.[$inctab]
                {
                    $_SESSION["rand"] = rand(1, $_SESSION["randmax"]); // génére un nouveau nombre aléatoire
                    $inctab = 1; // remettre le tab a 1 pour refaire une vérif.
                }
                else
                {
                   $inctab++;
                }
            }

            // Test si la valeur de $rand est plus grand que $randmax/2 (que le nombre de carte / 2)

            ?><td bgcolor ="#6095E4" width="50" height="50" onClick="Javascript:window.document.location.href='partie.php?colonne=<?php echo $_SESSION["i"];?>&ligne=<?php echo $_SESSION["j"];?>';"><?php
            if ($_SESSION["rand"] <= $_SESSION["randmax"]/2)
            {
                $_SESSION["tblnum"][$_SESSION["j"]][$_SESSION["i"]] = $_SESSION["rand"];
                ?>.png" border="0" onClick=""/><?php
            }
            else //Si le rand est plus grand que $rand, on enlève 8 a celui-ci ce qui nous donne 9-8 1, 10-8 2, 11-8=3, etc...
            {
                $_SESSION["tblnum"][$_SESSION["j"]][$_SESSION["i"]] = $_SESSION["rand"]-($_SESSION["randmax"]/2);
                ?>.png" border="0" onClick=""/><?php
            }
            ?></td>
            <?php
            $_SESSION["tblidc"][$_SESSION["j"]][$_SESSION["i"]] = $_SESSION["rand"]; // Permet de mettre un chiffre aléa. pour chaque case, exemple en 1.1, 1.2, etc. à l'aide des var $j et $i.
            $_SESSION["i"]++;
        }
        ?>
        </tr>
        <?php
        $_SESSION["j"]++;
    }
}


Et avant d'aller sur la page partie.php, je suis dans une page config.php et là j’envoie un paramètre comme ça
header ("Location: partie.php?new=newgame");
qui me permettrait par la suite de tester si dans la page partie.php il existe. si ce paramètre existe, il fait le tableau html et le remplie etc... Sinon (donc quand je rafraichis ma page) il fait rien et mes tableaux reste intactes. Mais je n'arrive pas à placer ce test dans mon code... chaque fois il y a des erreurs par-ci par là.

Je dois garder mes valeurs intactes en cas de rafraichissement car en fait, quand je presse sur une cellules (pour retourner l'image), j’envoie sur la même page via un onclick et en paramètre je met mes coordonnées de la cellule.

Ensuite avec ces coordonnées je pourrais faire les comparaisons du style $_SESSION["tblnum"][ligne][colonne] = $_SESSION["tblnum"][ligne][colonne]
Si oui laisser les image face visible sinon remettre les images face cachées.

Merci d'avance pour votre aide, si vous avez des questions ou que vous n'avez pas tout compris, je répondrais avec plaisir.

1 réponse

Varkan Messages postés 27 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 17 mai 2011
16 mai 2011 à 08:30
C'est fou comment je rage là... je ne comprends pas pourquoi je n'y arrive pas.... pourtant je dois faire un simple test if(isset($_GET["new"]))... mais impossible de le placer je vois vraiment pas... j'ai à chaque fois des erreurs et mes tableaux se vident...
0
Rejoignez-nous