Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2549 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Destruction d'une variable dans une boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Destruction d'une variable dans une boucle

n°1852009
yaotzin
Posté le 17-02-2009 à 09:38:10  profilanswer
 

Bonjour à tous,

 

Je me heurte à un petit problème qui, je pense, ne doit pas être si compliqué que cela.

 

J'ai un script en php qui me permet de constituer une chaine de caractères qui me sert à identifier des internautes venant sur mon site :

 
Code :
  1. $taille = 10;
  2. $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
  3. srand(time());
  4. for ($i=0;$i<$taille;$i++)
  5.     {
  6.     $idsess.=substr($lettres,(rand()%(strlen($lettres))),1);
  7.     }
 

Or ce script se trouve dans une boucle (constitution pour chaque utilisateur).

 


Code :
  1. while($data = mysql_fetch_array($req))
  2.      {
  3.      if($verif>900)
  4.           {
  5.           $taille = 10;
  6.           $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
  7.           srand(time());
  8.           for ($i=0;$i<$taille;$i++)
  9.                {
  10.  $idsess.=substr($lettres,(rand()%(strlen($lettres))),1);
  11.  }
  12.           echo $idsess;
  13.           }
  14.      unset($idsess);
  15.      }
 

Le problème c'est que pour 10 utilisateurs par exemple, la valeur idsess reste la même, même en mettant un unset en fin de boucle.

 

En cherchant un peu, j'ai cru comprendre que mon souci était normal (la variable reste définie à l'intérieur de la boucle mais pas à l'extérieur.

 

Quelqu'un sait il comment détruire/réinitialiser cette variable à l'intérieur de la boucle ?

 

Merci.


Message édité par yaotzin le 17-02-2009 à 09:45:02
mood
Publicité
Posté le 17-02-2009 à 09:38:10  profilanswer
 

n°1852024
kao98
...
Posté le 17-02-2009 à 10:10:39  profilanswer
 

Vérifie plutôt la valeur de ton nombre aléatoire. J'aurais plutôt tendance à dire qu'il prend toujours la même suite de nombre.
 
Pis bon, dans ce cas, j'ai l'impression qu'un idsess = ""; serait largement suffisant.


Message édité par kao98 le 17-02-2009 à 10:11:57

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1852025
fluminis
Posté le 17-02-2009 à 10:16:30  profilanswer
 

Le probleme vient du srand(time());
 
Il faut que tu le fasses 1 seule fois en haut de ton script.
Dans ton cas, le script met surement moins d'une second pour s'executer, time() a donc la meme valeur entre deux appels...

Message cité 1 fois
Message édité par fluminis le 17-02-2009 à 10:17:05

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1852030
kao98
...
Posté le 17-02-2009 à 10:28:55  profilanswer
 

fluminis a écrit :

Le probleme vient du srand(time());
 
Il faut que tu le fasses 1 seule fois en haut de ton script.
Dans ton cas, le script met surement moins d'une second pour s'executer, time() a donc la meme valeur entre deux appels...


+1
c'est là ou je voulais en venir.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1852119
yaotzin
Posté le 17-02-2009 à 13:00:41  profilanswer
 

En effet, cela fonctionne maintenant.
 
Au temps pour moi pour la conservation des variables dans les boucles...
 
Merci Messieurs !

n°1852126
kao98
...
Posté le 17-02-2009 à 13:39:29  profilanswer
 

Suis pas sûr que t'es bien tout compris !
Ca n'a rien à voir avec la "conservation" (on parle de portée) des variables ! Là, c'est plus de l'utilisation de srand / rand qu'il s'agit.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1852300
yaotzin
Posté le 17-02-2009 à 18:37:53  profilanswer
 

Oui oui,
 
J'ai bien compris. Je me suis focalisé sur cette histoire de conservation de valeur des variables, alors que le problème venait d'ailleurs...
 
Je te dis, le script fonctionne maintenant...
 
Merci encore.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Destruction d'une variable dans une boucle

 

Sujets relatifs
[Javascript] calcul de prix avec multiplicateur variable !!!erreur sur boucle oracle
* Intégrer une variable PHP dans une variable javascript[PHP] Problème lors de création d'un blog Wordpress
[PERL]probleme avec boucle For[PHP] Sécuriser son code et restreindre l'accès à des pages
[résolu] Connexion/déconnexion d'une BDD en PHP, temps d'accèsVariable définie dans php.ini
Erreur dans une variable 
Plus de sujets relatifs à : [PHP] Destruction d'une variable dans une boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR