|
Posted by Jochem Maas on 08/02/05 00:09
Jack Jackson wrote:
> AAarg.
>
>
> Okay, thanks to all of you I've decided that any field name I need to
> see will be sent to $_SESSION['required_fields'] and basta.
>
> Then after the submit button is pressed, I am doing this:
>
>
>
> reset($_SESSION['required_fields']);
reset is not required when using foreach. and given that you have probably
not looped that item
> foreach ($_SESSION['required_fields'] as $fieldname)
> {
> if (!isset($_POST[$fieldname]) || empty($_POST[$fieldname]))
> {
> $message[$fieldname]=1;
> include_once(QUESTIONS . 'q.inc');
> }
> }//error check
>
>
you may be getting into trouble because of php's typecasting - try using
fielnames that are strings that do not auto cast to integers (which can be
used as array keys for indexed arrays) e.g. "cb1" instead of "1"
>
> And this is *almost* working: it seems to crap out after the first loop
> through the $_SESSION['required_field'] array.
>
> The array says:
>
> Array ( [required_fields] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4
> [4] => 1 [5] => 2 [6] => 3 [7] => 4 [8] => 1 [9] => 2 [10] => 3 [11] =>
> 4 ) )
>
> $_POST says:
>
> Array ( [action] => [process]process [1] => [2] => 68 [3] => [4] => )
that does not look like valid output from var_dump() neither does the output you
show for $_SESSION['required_field'].
>
> So you see, there's an answer specified for the value of question [2].
>
> But $messages says only:
>
> $message: array(1) { [1]=> int(1) }
>
>
> Why is it dying after the first loop through?
is it? (use print_r() or var_dump() inside the loop to see what is happening)
NOT SO SUBTLE HINT: USE echo, print_r() and var_dump() until either you fingers or
your eyes start to bleed ;-) if you still haven't figured it out by then it's
time to see a doctor -
>
> Thanks in advance
>
Navigation:
[Reply to this message]
|