Jeff Oien pressed the little lettered thingies in this order...
> I get a 30 timeout on the line indicated when executing this code
> and can't figure it out. Does anyone know why? Thanks.
> Jeff Oien
>
You should pay attention to which variables are in quotes and which are
not. PHP (and every other mature programming language) can behave
unpredictably (well, it's predictable if you know what it's doing, it
probably just isn't how you want it to act) if you get these mixed up. My
guess is that PHP is having a hard time guessing the variable types for
comparison. PHP does a pretty good job of magically guessing the
type, but if you're not careful, you may leave an ambiguous variable type
and it will guess wrong. Generally speaking, strings should be in
quotes and numbers (integers, floats, etc) should not. See:
http://www.php.net/manual/en/language.types.php
And follow below...
>
> if ($missing == "1") {
>
At this point, you have literally told PHP to see if $missing is a string
with a value of one. This is different than an integer with a value of 1.
My guess is that PHP probably correctly guessed what you were trying
to say here despite the fact that it isn't correct (it is correct enough to
not be ambiguous, but that doesn't make it correct).
> echo "
> <html>
> <head>
> <title>Error</title>
> </head>
> <body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#0000ff\"
> vlink=\"#660099\"> <h3>Error</h3>
>
> Required information was missing:
> <ul>";
>
> $z = "1";
>
You have just set $z to a string with the value of 1. Obviously not what
you wanted. If you remove the quotes, $z will be set to the integer 1.
> while ($z <= "$Number_Children") {
You have just told PHP to compare a string with the value of 1 (what
you previously defined as $z) with another string defined by
$Number_Children. Had you either used $z = 1 (no quotes) or $z <=
$Number_Children (no quotes), PHP probably would have correctly
guessed the type of these variables. The way that you made it, the
types are ambiguous and you shouldn't ever expect PHP to guess
correctly.
> >>error> if (${"element2$z"} == "select") {
> echo "<li>Please make a selection for Child $z</li>";
> }
> if ((${"year$z"}).(${"month$z"}).(${"day$z"}) >= 20000401 &&
> (${"year$z"}).(${"month$z"}).(${"day$z"}) >= 19980902) {
> if (${"coopmonth$z"} == "select") {
> echo "<li>Please select coop month to serve for Child $z</li>";
> }
> $z++;
> }
> }
> echo "
> </ul>
> Please use your <a href=\"javascript:history.go(-1);\">Back button</a> and
> try again
> (please do <b>not</b> Reload or Refresh your browser)
> </body>
> </html>
> ";
> exit;
> }
>
I didn't really examine the rest of the code too closely, but I'd be willing
to bet that the code will start working once the types are correct
(remove the quotes from around variables for which you expect integers).
If not, then at least you can rest assured that PHP is using the proper
variable types.
Good luck...
Christopher Ostmo
a.k.a. [EMAIL PROTECTED]
AppIdeas.com
Innovative Application Ideas
Meeting cutting edge dynamic
web site needs since the
dawn of Internet time (1995)
For a good time,
http://www.AppIdeas.com/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]