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 :

variable de session (synchronisation)


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut variable de session (synchronisation)
    Bonsoir,

    J'ai un formulaire dont je vérifie les champs dans la même page, pour la majorité des champs ça marche bien mais j'ai un problème pour vérifier le captcha. En effet, dans mon formulaire j'affiche l'image via un fichier php externe qui marche très bien, et dans ce fichier je mets le code du captcha dans une variable de session. Le problème c'est que lorsque j'affiche le code du captcha transmis, il me donne celui de la fois d'avant ( c'est à dire le code du captcha de la fois précedente, car il change à chaque actualisation. Je crois savoir que c'est à cause que les variables de session doivent exister avant leur création, car pour résoudre ce problème , il est possible de vérifier le captcha dans une autre page après le formulaire, mais cela ne m'interesse pas. Si quelqu'un connait l'astuce, j'en serais reconnaissant . Si ça peut aider, voici mon code :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    <?php
    session_start();
    ?>
    <html>
    <body>
    <?php
    if(empty($_POST["valider"])) //Si le bouton valider à été cliqué
    {	
    ?>
    <form action="<? echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="f1" >
    <table border="0" cellpadding="5" cellspacing="0" width="137">
    	<tr>
    		<td>Nom:</td>
    		<td><input type="text" name="nom" size="20"></td>
    	</tr>
    	<tr>
    		<td>Pr&eacute;nom:</td>
    		<td><input type="text" name="prenom" size="20"></td>
    	</tr>
      <tr>	
        <td>Email:</td>
    		<td><input type="text" name="email" size="25"></td>
    	</tr>
    	<tr>
    		<td>Objet</td>
    		<td><input type="text" name="objet" size="25"></td>
    	</tr>
    	<tr>
    		<td>Votre message</td>
    		<td><textarea rows="12" name="msg" cols="40"></textarea></td>
    	</tr>
    	<tr>
    		<td>CV:</td>
    		<td><input type="file" name="cv" value="ffff.pdf" size="40"></td>
    		</tr>
    		<tr>
    	<td>Lettre de motivation:</td>
    		<td><input type="file" name="lm" size="40"></td>
      </tr>
    	<tr>
    		<td><img src="captcha.php" /></td>
          <td><input type="text" name="codesaisie" /></td>
    	</tr>
      <tr>
      	<td></select> <input type="submit" value="Envoyer" name="valider"></td></div>
    	</tr>
    </table>
    </form>
    <p><center><font color="red">Veuillez remplir le deux champs</font></center></P>	
    <?php
    $codeVrai = $_SESSION['captcha'];
    }
    else
    {
    ?>
    <form action="<? echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="f1" >
    <table border="0" cellpadding="5" cellspacing="0" width="137">
    	<tr>
    		<td>Nom:</td>
    		<td><input type="text" name="nom" value="<?php echo $_POST['nom'] ?>" size="20"></td>
    	</tr>
    	<tr>
    		<td>Pr&eacute;nom:</td>
    		<td><input type="text" name="prenom" value="<?php echo $_POST['prenom'] ?>" size="20"></td>
    	</tr>
      <tr>	
        <td>Email:</td>
    		<td><input type="text" name="email" value="<?php echo $_POST['email'] ?>" size="25"></td>
    	</tr>
    	<tr>
    		<td>Objet</td>
    		<td><input type="text" name="objet" value="<?php echo $_POST['objet'] ?>" size="25"></td>
    	</tr>
    	<tr>
    		<td>Votre message</td>
    		<td><textarea rows="12" name="msg" value="<?php echo $_POST['msg'] ?>" cols="40"></textarea></td>
    	</tr>
    	<tr>
    		<td>CV:</td>
    		<td><input type="file" name="cv" value="<?php echo $_FILES['cv']['name'] ?>" size="40"></td>
    		</tr>
    		<tr>
    	<td>Lettre de motivation:</td>
    		<td><input type="file" name="lm" value="<?php echo $_FILES['lm']['name'] ?>" size="40"></td>
      </tr>
    	<tr>
    		<td><img src="captcha.php" /></td>
          <td><input type="text" name="codesaisie" /></td>
    	</tr>
      <tr>
      	<td></select> <input type="submit" value="Envoyer" name="valider"></td></div>
    	</tr>
    </table>
    </form>
    <?php
     
    //récupération et affichage du captcha transmis
    $codeVrai = $_SESSION['captcha'];
    echo $codeVrai;
     
    }
    ?>	
    </body>
    </html>

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par fab76000 Voir le message
    Bonsoir,

    J'ai un formulaire dont je vérifie les champs dans la même page, pour la majorité des champs ça marche bien mais j'ai un problème pour vérifier le captcha. En effet, dans mon formulaire j'affiche l'image via un fichier php externe qui marche très bien, et dans ce fichier je mets le code du captcha dans une variable de session. Le problème c'est que lorsque j'affiche le code du captcha transmis, il me donne celui de la fois d'avant ( c'est à dire le code du captcha de la fois précedente, car il change à chaque actualisation. Je crois savoir que c'est à cause que les variables de session doivent exister avant leur création, car pour résoudre ce problème , il est possible de vérifier le captcha dans une autre page après le formulaire, mais cela ne m'interesse pas. Si quelqu'un connait l'astuce, j'en serais reconnaissant . Si ça peut aider, voici mon code :
    Bonjour, il existe mille façon de gérer les CAPTCHA, pour ma part j'ais un code dans ma page de saisie, et il appelle un php qui fabrique l' image avec la valeur.

    Si tu utilises une session, elle doit étre créée et mis en valeur dans la page de saisie !

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!isset($_SESSION['LeNumero'])) {$_SESSION['LeNumero']=100;$xxx=100;}
         else {$xxx=$_SESSION['LeNumero'];}
     
    /* Puis tu mets la valeur de ton captcha */
    $_SESSION['LeNumero']=$MonCaptcha;

  3. #3
    Membre actif Avatar de fab76000
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 311
    Points : 294
    Points
    294
    Par défaut
    Salut,

    Moi aussi j'utilise le même processus pour mon captcha,
    en fait, il n'y avait pas de réel problème, c'est au niveau de la vé&rificatio net de l'affichage que je croyais que ça collait pas mais en fait si . lol
    Merci quand même Fox.

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par fab76000 Voir le message
    Salut,

    Moi aussi j'utilise le même processus pour mon captcha,
    en fait, il n'y avait pas de réel problème, c'est au niveau de la vé&rificatio net de l'affichage que je croyais que ça collait pas mais en fait si . lol
    Merci quand même Fox.
    Ok et A++
    merci pour ton petit mot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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