phpbar.de logo

Mailinglisten-Archive

[php] =?us-ascii?Q?RE=3A_=5Bphp=5D_wie_kann_ich_einen_Stackuberlauf_?= =?us-ascii?Q?verhindern?= =?us-ascii?Q?verhindern?=

[php] =?us-ascii?Q?RE=3A_=5Bphp=5D_wie_kann_ich_einen_Stackuberlauf_?= =?us-ascii?Q?verhindern?= =?us-ascii?Q?verhindern?=

Wolfgang Hauck wbh_(at)_euta.net
Tue, 25 Jul 2000 11:58:40 +0200


ralf schrieb:

> parser stack overflow in > line 15
>
> line 15 ist die --> function catch_one(&$user)
[...]
> wei? jemand wie ich den stack wieder zurucksetze ????
>function catch_one(&$user)
>{
>	srand((int)microtime());

1. srand((int)microtime()) liefert eine Zeitlang immer den gleichen Wert 
zurueck. d.h. deine
function wird bei der ersten Uebereinstimmung immer wieder aufgerufen.
Hier eine Moeglichkeit verschiedene Zufallszahlen zu erzeugen:

  $crypt = (rand()%10000);
  srand((int)microtime() + $crypt);

2. In deinem Falle ist eine rekursive Funktion ueberhaupt nich noetig
Ich wuerde das so loesen:

$count = 1;
while($count < 0) {
  $zufall = rand(100,800);
  $zufall = round($zufall/100);
  $jain = mysql_query("SELECT * FROM $user WHERE indx = '$zufall'");
  $count = mysql_num_rows($jain);
}
.
.
.

Gruss Wolfgang


--
** Durchgehend geoffnet: http://www.php-center.de **
Die PHP-Liste: mailto:php_(at)_php-center.de
http://infosoc.uni-koeln.de/mailman/listinfo/php




php::bar PHP Wiki   -   Listenarchive