---
title: "Problem igen, galna funktioner och sånt..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16608-problem-igen-galna-funktioner-och-sånt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "oelbal"
published: "2002-01-23T17:37:00.000Z"
updated: "2002-01-24T13:18:00.000Z"
replies: 3
views: 175
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/16608-problem-igen-galna-funktioner-och-sånt"
---

# Problem igen, galna funktioner och sånt...

## #1 — oelbal, 2002-01-23T17:37Z

Nu blir jag galen. Fullständigt.
Detta har varit uppe i en tråd förut, där vi kom fram till en lösning, men det krånglar, så jag skulle vilja ha några spontana förslag på en ny lösning istället.

Jag har ett formulär som skickar ett antal variabler med $HTTP_POST_VARS. Nu vill jag att funktionen kollaVariabler() skall ta emot \_ALLA\_ $HTTP_POST_VARS och testa dem med htmlspecialchars().
Alltså, som en liten funktion för att filtrera det som elaka användare kan tänkas skicka. Jag skrev ner lite för att illustrera:

```
<?
if (isset($HTTP_POST_VARS['submit']))
{
kollaVariabler();
}
else
{
  ?>
  <html>
  <body>
  <form action="test3.php" method="post">
  <input type="text" name="var1"><br>
  <input type="text" name="var2"><br>
  <input type="submit" name="submit"><br>
  </form>
  </body>
  </html>
  <?
}

function kollaVariabler()
{
  global $HTTP_POST_VARS;
  while ($each_var = each($HTTP_POST_VARS))
  {
    htmlspecialchars($each_var[1]);
  }
  echo $HTTP_POST_VARS['var1'];
  echo $HTTP_POST_VARS['var2'];
}
?>
```

Om jag anger \<html\> och \<body\> i de båda rutorna så borde sidan echo'a ut & lt; html & gt; osv? Inte heller ' eller " konverteras...
Finns det någon som oooorkar ta sig tid att svara?

\[Redigerat av oelbal den 23 jan 2002\]

Permalänk: https://www.webforum.nu/p/16608

## #2 — SPiN, 2002-01-23T19:22Z

Ah! Du kan inte anropa de globala associativa arrayerna om du vill få dem konverterade. Du får göra en egen global array. Eftersom att du lägger in varje värde från forumuläret i den temporära variabeln på by value-sätt, så kommer inte orginalvärdena att ändras när variablen formateras.

```
funktion kollaVariabler () {
&nbsp; &nbsp; global $postVärden;

&nbsp; &nbsp; while ( $värde = each ( $HTTP_POST_VARS ) ) {
&nbsp; &nbsp; &nbsp; $postVärden[] = htmlspecialchars ( $värde[ 1 ] );
&nbsp; &nbsp; }
}
```

Ett tips: Istället för att sätta en variabel till global, så att du kan använda samma variabel överallt, låt funktionen returnera en variabel/array istället. Mycket bättre. :)

Permalänk: https://www.webforum.nu/p/326019

## #3 — oelbal, 2002-01-24T13:00Z

Tack SPiN!

Dina förklaringar slår det mesta, det är alltid skoj att lära sig nått nytt...

Permalänk: https://www.webforum.nu/p/326020

## #4 — SPiN, 2002-01-24T13:18Z

Var sin ko! :D

Jag lovar att det är minst lika kul om man lyckas banka lite vett i någon annans huvud också! :D ;)

Permalänk: https://www.webforum.nu/p/326021

---

Tråden på webben: https://www.webforum.nu/amne/php/16608-problem-igen-galna-funktioner-och-sånt
