/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
post variabler og de nye globals...
Fra : Jesper Brunholm Scha~


Dato : 02-05-02 10:12

Jeg har en stump kode hvor jeg gerne vil have tjekket inputtet, og da alle
variabler skal igennem strip_tags har jeg gjort som følger:

<< kode<<
Foreach ($HTTP_POST_VARS as $Navn => $Indhold) {
$Indhold = strip_tags($Indhold);
}
>> kode>>

problemet er at det tilsyneladende ikke ændrer på indholdet af variablerne
når jeg så senere (da der er globals=on på serveren) anvender en af de
variabler fra POST, nemlig $InBeskrivelse så har den _ikke_ gennemgået en
striptags - det burde da være de samme data-instans som ligger i
$_POST["InBeskrivelse"] som i $InBeskrivelse? - eller er det mig der ikke
har fattet det?

Er der nogen gode idéer til et alternativ?

Jeg overvejer at lave flg i stedet:

Foreach ($HTTP_POST_VARS as $Navn => $Indhold) {
$$Navn = strip_tags($Indhold); #skulle samtidig gøre at variablen med
navnet blev tilgængelig selv om register
# globals er off - har
jeg regnet rigtigt?
}

venligst

Jesper Brunholm



 
 
Christian Joergensen (02-05-2002)
Kommentar
Fra : Christian Joergensen


Dato : 02-05-02 14:11

On Thu, 02 May 2002 11:12:29 +0200, Jesper Brunholm Scharff wrote:

[strip_tags() på $_POST]

> Er der nogen gode idéer til et alternativ?

Jeg ville nok oprette mig et nyt array med de nye variabler:

<?php
foreach ($_POST as $key => $val) $data[$key] = strip_tags($val);
?>

Jeg er ikke meget for blot at have variabelnanvne såsom $InBeskrivelse,
da dette er med til at gøre koden uoverskuelig. Med $_POST, $_GET og
$data er du sikker på hvorfra du har dine værdier, om de er "filtreret",
eller hvad du nu er.

--
Christian Jørgensen | Codito, Ergo Sum
http://www.razor.dk |

Per Thomsen (02-05-2002)
Kommentar
Fra : Per Thomsen


Dato : 02-05-02 16:49


"Jesper Brunholm Scharff" <nospam@brunholm-scharff.dk> wrote in message
news:aar0f5$ccm$1@news.net.uni-c.dk...
> Jeg har en stump kode hvor jeg gerne vil have tjekket inputtet, og da alle
> variabler skal igennem strip_tags har jeg gjort som følger:
>
> << kode<<
> Foreach ($HTTP_POST_VARS as $Navn => $Indhold) {
> $Indhold = strip_tags($Indhold);
> }
> >> kode>>
>
[snip - uddybning]

Du glemmer vist at PHP arbejder med kopier og ikke pointere:

foreach( $HTTP_POST_VARS as $Navn => $Indhold) {
// $Indhold er nu en kopi af det som, $HTTP_POST_VARS[$Navn] peger på
$HTTP_POST_VARS[$Navn] = strip_slashes($Indhold);
// $HTTP_POST_VARS indeholder nu en kopi af $Indhold, hvor slashes er
stripped.
}
Så skulle den vist være der.

MVH Per Thomsen,
http://www.pert.dk/




[5000] Jesper Brunho~ (03-05-2002)
Kommentar
Fra : [5000] Jesper Brunho~


Dato : 03-05-02 08:25

Per Thomsen wrote:
> "Jesper Brunholm Scharff" <nospam@brunholm-scharff.dk> wrote in message
> news:aar0f5$ccm$1@news.net.uni-c.dk...
>
>>Jeg har en stump kode hvor jeg gerne vil have tjekket inputtet, og da alle
>>variabler skal igennem strip_tags har jeg gjort som følger:

> Du glemmer vist at PHP arbejder med kopier og ikke pointere:

ja - det gjorde jeg absolut - da jeg læste linien herover var jeg klar
over hvad mit problem var

> foreach( $HTTP_POST_VARS as $Navn => $Indhold) {
> // $Indhold er nu en kopi af det som, $HTTP_POST_VARS[$Navn] peger på
> $HTTP_POST_VARS[$Navn] = strip_slashes($Indhold);
> // $HTTP_POST_VARS indeholder nu en kopi af $Indhold, hvor slashes er
> stripped.
> }
> Så skulle den vist være der.

jeps - takker!

mvh

Jesper Brunholm


Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408555
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste