Re: Validation problem with array.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I thought you were using checkboxes based on your true/false. So the user is actually typing in skills?

Not sure where you are going with skill[0], skill[1]. You are creating an associative array when you do that. In and input form, skill[0] and skill[a] are actually no different, aside from the name you are using for that element.


On Oct 20, 2004, at 9:41 AM, Stuart Felenstein wrote:

Brent,
Thank you , I can't do an associative because it part
of a user input form.  The values will be dependent on
the users.  I'm going to try and give each form
element a index number skill[0], skill[1] since the
foreach loop is doing that anyway.

The reason I haven't posted the validation is because
it's part of a class, so what exists in the page is
only part of the code.

Stuart


--- Brent Baisley <brent@xxxxxxxxxxxx> wrote:

I think I might know what you are trying to do. You
want to have a
"name" associated with the skill (or skys or slus).
You can use an
associative array to "name" your array elements. In
your form, you can
change the array to be something like this:
skills[cooking]
skills[flying]
skills[walking]
...

Notice there are no quotes around the skill names.
Now each array
element has an array key that is a name. The
computer doesn't really
care, but it makes it easier for you to read your
code. And you now
have name/value pairs. You can process the array
like this:

$skillNames	= array_keys($skills);
foreach($skillNames as $skill) {
	echo 'Skill: '.$skill.'  Value: '.$skills[$skill].'
<br />';
}

Of course, instead of echoing you would do your
validation or
substitution.

On Oct 20, 2004, at 8:35 AM, Stuart Felenstein
wrote:

After some back and forth posts here I had finally
thought my array issue was over, but!

To review I have 30 form elements on a page
10 are skill[]
10 are sky[]
10 are slu[]

I pass them as session variables

$_SESSION['skills'] = $_POST['skill'];
$_SESSION['skys'] = $_POST['sky'];
$_SESSION['slus'] = $_POST['slu'];

Then when everyting is passed into a database
transaction:

$skills = $_SESSION['skills'];
$skys = $_SESSION['skys'];
$slus = $_SESSION['slus'];

foreach($_SESSION['skills'] as $key => $skill)
{
$query = "INSERT INTO Profiles_skills (ProfileID,
SkilCerts, NumYear, Lused)
VALUES ($LID, '$skill',


{$_SESSION['skys'][$key]},{$_SESSION['slus'][$key]})";
//$result = mysql_query($query);

Here is the problem:

Using
(((isset($_POST["skill[]"]))?$_POST["skill[]"]:"")
.
"",true,true,true,true,"",false,1);

I can't seem to differentiate between the the
elements
because they are all labeled skill[]
So basically validation isn't doing anything .

I'm thinking of finding a better way to validate ,
or
if i change the elements to skill[1], skill[2] ,
what
would that do to my iteration loop ?

Thank you,
Stuart

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


--
Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology
Environments
p: 212.759.6400/800.759.0577

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




--
Brent Baisley
Systems Architect
Landover Associates, Inc.
Search & Advisory Services for Advanced Technology Environments
p: 212.759.6400/800.759.0577

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux