[ic] Form and set, database access

Alain interchange-users@icdevgroup.org
Mon Jul 8 13:32:00 2002


Hello,
can somebody say me why this code:
<FORM ACTION="[process-target]" METHOD=POST NAME="main">
<INPUT type=hidden NAME="item_id" VALUE="[cgi item_id]">
<INPUT TYPE=hidden NAME=mv_todo VALUE="return">
<input type="hidden" name="mv_nextpage" value="@@MV_PAGE@@">
<input type="hidden" name="mv_session_id" value="[data session id]">

[loop list="1..10" ranges=1]
				<select name="genres" size="5">
				[query list=1 prefix=inner sql="SELECT *
                                  FROM genres
                                  "]
     				<option value="[inner-param genre_id]"
				>[inner-param genre_nom]
				[/query]
                                 </select>
[/loop]


[set name="OK"]
    [flag type=write tables="produits_genres"]
    [perl tables="produits_genres" global=1]
    my @genres = split /\0/, $CGI->{genres};
    my @ids = split /\0/, $CGI->{ids};
    my $sku = $CGI->{item_id};
    my $i = 0;
    my $numelements = scalar (@genres);
    $Tag->query({sql => "delete from produits_genres where sku = '$sku'"});
    while ( $i < $numelements)
    {
    $Tag->query({sql => "insert into produits_genres (genre_id,sku) 
values ('@genres[$i]','$sku')"});
    $i++;
    }
    return;
    [/perl]
[/set]


<input type="submit" name="mv_check" value="OK">
</form>

write this error in the error.log:
127.0.0.1 TEg2rbzU:127.0.0.1 - [08/juillet/2002:19:31:42 +0200] 
sexycatalogue /cgi-bin/sexycatalogue/process.html Safe: no access for 
database products at /usr/lib/interchange/lib/Vend/Data.pm line 906.
 >
 >
 >    my @genres = split /\0/, $CGI->{genres};
 >    my @ids = split /\0/, $CGI->{ids};
 >    my $sku = $CGI->{item_id};
 >    my $i = 0;
 >    my $numelements = scalar (@genres);
 >    $Tag->query({sql => "delete from produits_genres where sku = 
'$sku'"});
 >    while ( $i < $numelements)
 >    {
 >    $Tag->query({sql => "insert into produits_genres (genre_id,sku) 
values ('@genres[$i]','$sku')"});
 >    $i++;
 >    }
 >    return;
 >
 >

When I use seti in stead of set my database is updated without trouble.

Help would be realy appreciated.

Thanks

Alain