On Thu, November 3, 2005 10:00 pm, John Taylor-Johnston wrote:
> Patience please :)
>
> See my html below. Basically, if type=checkbox is checked, I'm trying
> to build $to string in mail().
>
>>parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING
>> or T_VARIABLE or T_NUM_STRING line 4
>
> How do I rebuild this peice of code to be register_globals=off
> friendly?
> Just when I thought I was getting good. This keeps up, I'm changing
> back the php.ini myself.

Hang in there!

> John
>
>
>
> 1>for ($i = 1; $i <= $_POST["NMax"]; $i++)
> 2>{
> 3>  $CheckVariable = "\{$_POST['Check$i']}";

You don't want ' around Check$i because $ has no special meaning
inside of ''.  Only \ and ' mean anything special to ''.



> 4>    eval("\$CheckVariable = \"$CheckVariable\";");

Woof.

You could save a WHOLE bunch of trouble making a change (below) and
doing:

$names = $_POST['names'];
$emails = $_POST['emails'];
$checks = isset($_POST['checks']) ? $_POST['checks'] : array();
foreach($names as $i => $name){
  $email = $emails[$i];
  $check = isset($checks[$i]);
  echo "$name: $email ($check)<br />\n";
}

Even so, you sure don't need eval() even if you want to keep
everything else the same:

$name = $_POST["name$i"];
$email = $_POST["email$i"];
//HTTP doesn't send anything for un-checked checkboxes.
$check = isset($_POST["check$i"]);

> 5>  $nameVariable = "\{$_POST['name$i']}";
> 6>    eval("\$nameVariable = \"$nameVariable\";");
> 7>  $emailVariable = "\{$_POST['email$i']}";
> 8>    eval("\$emailVariable = \"$emailVariable\";");
> 9>
> 10>#echo ${"Check$i"};
> 11>#echo "$CheckVariable $emailVariable - $i<br>";
> 12>
> 13>if ($CheckVariable)
> 14>$to .= "\"$nameVariable\" <".$emailVariable.">,";

$to .= "\"$name\" <$email>,";

> 15>
> 16>}
> 17>
> 18>echo $to;
>
>
> <INPUT TYPE="checkbox" NAME="Check1" VALUE="John" CHECKED>"John"

Change this to:
NAME="check[1]"

> <input type="hidden" name="name1" value="John">

NAME="name[1]"

> <input type="hidden" name="email1" value="[EMAIL PROTECTED]">

NAME="email[1]"

> <br>
> <INPUT TYPE="checkbox" NAME="Check2" VALUE="Alessandra"

NAME="check[2]"

> CHECKED>"Alessandra"
> <input type="hidden" name="name2" value="Alessandra">

NAME="name[2]"

> <input type="hidden" name="email2" value="[EMAIL PROTECTED]">

NAME="email[2]"

> <br>
> ...

...

> <input type="hidden" name="NMax" value="29">

You may not even need this any more...

The arrays are going to be as big as they need to be, and no bigger.

Like a woman's skirt should be. :-)

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to