IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

session_id qui change à chaque validation du formulaires


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut session_id qui change à chaque validation du formulaires
    Bonjour,

    je me permets de créer un nouveau post sur un problème rencontré uniquement sur le serveur, mais pas en local (wamp server)

    A chaque fois que je valide ma page, la session_id change, ce qui implique la disparition de mes variables sessions puisqu'une nouvelle session est créer

    j'ai remarqué que lorsque j'ai le morceau de code ci-dessous (en rouge surligné), j'ai le problème, en revanche lorsque je mets en commentaire la partie qui créer les zones input je n'ai plus le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php session_start(); ?>
    <?php 
    code php non incriminé
    ?>
    <html>
    <head>
    <meta name="viewport" content="width=device-width">		
    <link rel="stylesheet" type="text/css" href="file.css">
    <title>Salaire</title>
    <body>
    <form name="menu" id="monForm" method="post" action="Suivimensuel.php">
    //autres codes html non incriminé
    <?php
    $nbJour=$nbjourMoisencours;
    $Startdate=mktime(0,0,0,date("m",$Moisencours),1,date("Y",$Moisencours));
    $i=1;
    $dateprogress = mktime(0,0,0,date("m",$Startdate),1,date("Y",$Startdate));
    while ($i<$nbJour+1){
    $idjour=date("d",$dateprogress).date("m",$dateprogress).date("Y",$dateprogress);				
    echo '<tr>'; 
    echo '<td bgcolor="'.$Couleuroff.'" align="center">';
    echo '<input type="'.hiddentype($off).'" name="DP'.$idjour.'" value="'.$_SESSION['J'.$idjour]['DP'].'" style="width:50px;height:20px">';
    echo '</td>';
     
    echo '<td bgcolor="'.$Couleuroff.'" align="center">';	
    echo '<input type="'.hiddentype($off).'" name="FP'.$idjour.'" value="'.$_SESSION['J'.$idjour]['FP'].'" style="width:50px;height:20px">';
    echo '</td>';
     
    echo '<td bgcolor="'.$Couleuroff.'"></td>';
    echo '<td bgcolor="'.$Couleuroff.'" align="center">';
    echo '<input type="'.hiddentype($off).'" name="DR'.$idjour.'" value="'.$_SESSION['J'.$idjour]['DR'].'" style="width:50px;height:20px">';
    echo '</td>';
     
    echo '<td bgcolor="'.$Couleuroff.'" align="center">';
    echo '<input type="'.hiddentype($off).'" name="FR'.$idjour.'" value="'.$_SESSION['J'.$idjour]['FR'].'" style="width:50px;height:20px">';
    echo '</td>';
    echo '</tr>';
    $i++;
    $dateprogress = mktime(0,0,0,date("m",$dateprogress),date("d",$dateprogress)+1,date("Y",$Startdate));
    
    }
    ?>
    //autres codes html non incriminé
    </form>
    cela fait plus d'une semaine que je bloque, peut être verrez vous ce que je n'arrive plus à voir

    J'attire aussi votre attention sur le fait que j'ai déja fait d'autre site PHP et je n'ai pas ce type de problème,
    merci de votre aide
    Cordialement

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Salut,

    En complétant un peu le code pour le tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?php
        session_start();
        echo session_id();
        function hiddentype(){return 'text';}
    ?>
    <html>
    <head>
    <meta name="viewport" content="width=device-width">		
    <link rel="stylesheet" type="text/css" href="file.css">
    <title>Salaire</title>
    <body>
    <form name="menu" id="monForm" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <table>
    <?php
        foreach($_POST as $sKey=>$sValue)
            $_SESSION[$sKey] = $sValue;
        $nbjourMoisencours = 30;
        $Moisencours = time();
        $Couleuroff = 'red';
        $nbJour = $nbjourMoisencours;
        $off = null;
        $Startdate=mktime(0,0,0,date("m",$Moisencours),1,date("Y",$Moisencours));
        $i=1;
        $dateprogress = mktime(0,0,0,date("m",$Startdate),1,date("Y",$Startdate));
        while ($i<$nbJour+1){
            $idjour=date("d",$dateprogress).date("m",$dateprogress).date("Y",$dateprogress);				
            echo "\n".'<tr>'; 
            echo "\n".'<td>';
            echo "\n".'<input type="'.hiddentype($off).'" name="DP'.$idjour.'" value="'.@$_SESSION['DP'.$idjour].'" style="width:50px;height:20px">';
            echo "\n".'</td>';
     
            echo "\n".'<td>';	
            echo "\n".'<input type="'.hiddentype($off).'" name="FP'.$idjour.'" value="'.@$_SESSION['FP'.$idjour].'" style="width:50px;height:20px">';
            echo "\n".'</td>';
     
            echo "\n".'<td></td>';
            echo "\n".'<td>';
            echo "\n".'<input type="'.hiddentype($off).'" name="DR'.$idjour.'" value="'.@$_SESSION['DR'.$idjour].'" style="width:50px;height:20px">';
            echo "\n".'</td>';
     
            echo "\n".'<td>';
            echo "\n".'<input type="'.hiddentype($off).'" name="FR'.$idjour.'" value="'.@$_SESSION['FR'.$idjour].'" style="width:50px;height:20px">';
            echo "\n".'</td>';
            echo "\n".'</tr>';
            $i++;
            $dateprogress = mktime(0,0,0,date("m",$dateprogress),date("d",$dateprogress)+1,date("Y",$Startdate));
        }
    ?>
    </table>
    <input type="submit" />
    </form>
    </body>
    Il semble bien fonctionner... l'id de session reste le même

    @+

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Alors résolu ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/09/2011, 16h17
  2. Déplacement vers un point aléatoire qui change à chaque tour
    Par Lulou40 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/10/2009, 12h54
  3. Creer un rapport qui change chaque semaine.
    Par amne26 dans le forum IHM
    Réponses: 5
    Dernier message: 03/12/2008, 14h13
  4. [JMeter] Récupration d'une variable qui change à chaque process
    Par vendeeman dans le forum Tests et Performance
    Réponses: 3
    Dernier message: 11/12/2007, 12h00
  5. Slogan qui change chaque mois
    Par Ercohuma59 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 30/08/2007, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo