---
title: "Skickar bla&bla i form (post)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/118859-skickar-bla-bla-i-form-post"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mall"
published: "2004-12-29T10:38:08.000Z"
updated: "2004-12-29T21:45:48.000Z"
replies: 16
views: 527
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/118859-skickar-bla-bla-i-form-post"
---

# Skickar bla&bla i form (post)

## #1 — mall, 2004-12-29T10:38Z

Nar jag forsoket echo det pa naste sida bryts strangen innan &.

WHY!!!???!!!

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

## #2 — silfver, 2004-12-29T10:39Z

Ett tips är att visa lite kod. :) Inom \[php\]-taggen.

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

## #3 — mall, 2004-12-29T10:51Z

```php
<input type="hidden" name="mail_text_send" value="mail&tests">
```

skriver ut "mail" vid

```php
echo $mail_text_send;
```

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

## #4 — Pedda, 2004-12-29T10:56Z

Beror nog på hur register globals är satt i php.ini

Testa detta om du skickar med GET

```php
echo $_GET['mail_text_send'];
```

 
eller detta om du skickar med POST

```php
echo $_POST['mail_text_send'];
```

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

## #5 — dectgap, 2004-12-29T10:56Z

Testa istället med

```
<input type="hidden" name="mail_text_send" value="mail&amp;amp;tests">
```

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

## #6 — Pedda, 2004-12-29T10:59Z

Ah, nu såg jag vad du menade med att det bryts vid &.

Ber om ursäkt.  :r

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

## #7 — mall, 2004-12-29T11:24Z

```php
echo $_GET['mail_text_send'];
echo $_POST['mail_text_send'];
```

funkade inte :(

any other ideas?

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

## #8 — Pedda, 2004-12-29T11:32Z

Har du testat det som dectgap skrev?

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

## #9 — mall, 2004-12-29T11:45Z

```php
value="mail&amp;tests">
```

det gar ej att gora sa. Jag hanmtar string fran en DB och mailar den senare.

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

## #10 — mall, 2004-12-29T12:14Z

ARE DET INGEN SAM KAN DET???

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

## #11 — Pedda, 2004-12-29T12:18Z

Vet inte hur du har gjort när du har sparat till databasen, men ta en titt på [htmlspecialchars](http://se.php.net/manual/sv/function.htmlspecialchars.php)  och [htmlentities](http://se.php.net/manual/sv/function.htmlentities.php)

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

## #12 — Snakes, 2004-12-29T12:32Z

> **dectgap skrev:**
>
> Testa istället med
>
>
> ```
> <input type="hidden" name="mail_text_send" value="mail&amp;amp;tests">
> ```

Jo, jag satt och fundera på det och då kom jag på att det fortfarande finns ett &, dvs texten bryts vid mail ändå.. 
Det betyder också att htmlentities och htmlspecialchars skulle bara göra samma sak som att lägga &amp;amp;. 

Jag tipsar att du ersätter & med ett annat tecken inann du skriver ut den på value, och sedan när du tar emot så ersätter du igen...

Ville bara säga att den inte bryts, utan efter &:et så tror den att tests är en ny input.... alltså om man skulle istället för POST skriva GET i formen, så skulle det se ut så här

index.php?mail_text_send=mail&tests

Vad menas med det ovan? Att mail_text_send är lika med mail och att tests är ett helt nytt värde att ta info från!
Alltså du behöver bara ersätta alla & inte dem andra tecknen!
Japp, det var i stort sätt allt jag hade att säga....

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

## #13 — Peeer, 2004-12-29T16:59Z

> **mall skrev:**
>
> ARE DET INGEN SAM KAN DET???

VARFÖR SKRIVER DU I VERSALER????? Du får gärna vänta lite mer än 29 minuter innan du bumpar tråden.

> **Snakes skrev:**
>
> Jo jag satt och fundera på det och då kom det så att & finns i fortfarande, dvs texten bryts vid mail ändå.. 
> Det betyder också att htmlentities och htmlspecialchars skulle bara göra samma sak som att lägga &amp;amp;.

Que? Varför hålla på och krångla till det med att byta ut tecken mot andra tecken, när det finns en färdig funktion ([htmlentities()](http://se2.php.net/htmlentities)) för att escapa *farliga* htmltecken? Dvs gör som dectgap och Pedda föreslår och kör strängen genom funktionen ovan.

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

## #14 — Matte, 2004-12-29T17:57Z

Som flera påpekat är det en mycket god vana att köra htmlentities() på alla VÄRDEN man lägger in i ett formulär.
Begränsar du värdet med enkelfnuttar bör du dessutom köra htmlentities med ENT_QUOTES.

När du sedan postar formuläret kommer dina specialtecken att göras om till vanliga tecken, &amp;amp; kommer alltså att bli & i skriptet som tar emot formuläret.

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

## #15 — Snakes, 2004-12-29T20:46Z

> **Peeer skrev:**
>
> > **Snakes skrev:**
> >
> > Jo jag satt och fundera på det och då kom det så att & finns i fortfarande, dvs texten bryts vid mail ändå.. 
> > Det betyder också att htmlentities och htmlspecialchars skulle bara göra samma sak som att lägga &amp;amp;.
>
> Que? Varför hålla på och krångla till det med att byta ut tecken mot andra tecken, när det finns en färdig funktion ([htmlentities()](http://se2.php.net/htmlentities)) för att escapa *farliga* htmltecken? Dvs gör som dectgap och Pedda föreslår och kör strängen genom funktionen ovan.

1\. 

> **Snakes skrev:**
>
> Alltså du behöver bara ersätta alla & inte dem andra tecknen!

2\. 

> **Snakes skrev:**
>
> index.php?mail_text_send=mail&tests

Peeer jag menade inte att han skuller ersätta alla tecknen utan jag menade att han skulle ersätta alla & **bara**. Jo, varför förklarar jag i inlägget ovan. Men som sagt: jag kan ha fel, men det förklarar åtminstone varför den bryts vid &!

Läs om vad jag skrev är du snäll!

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

## #16 — Matte, 2004-12-29T20:59Z

Ska du lägga på värdet på en länk, kör det då först genom [urlencode](http://se2.php.net/manual/en/function.urlencode.php).

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

## #17 — Peeer, 2004-12-29T21:45Z

> **Snakes skrev:**
>
> alltså om man skulle istället för POST skriva GET i formen, så skulle det se ut så här
> 
> index.php?mail_text_send=mail&tests

Nej, såhär såg min url ut när jag testade 'index.php?mail_text_send=mail%26tests%3Dgoff'
Dvs ampersand-tecknet har blivit urlencodat till %26

> **Snakes skrev:**
>
> Vad menas med det ovan? Att mail_text_send är lika med mail och att tests är ett helt nytt värde att ta info från!
> Alltså du behöver bara ersätta alla & inte dem andra tecknen!
> Japp, det var i stort sätt allt jag hade att säga....

Så är det inte! Prova följande kod

```
<form action="?" method="post">
<input type="hidden" name="mail_text_send" value="mail&tests=goff">
<input type="submit">
</form>
<?php
print_r($_POST);
?>
```

Som du ser kommer $\_POST (efter att formuläret submittats) endast innehålla ett index, dvs 'mail_text_send' och det kommer ha värdet 'mail&tests=goff'

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

---

Tråden på webben: https://www.webforum.nu/amne/php/118859-skickar-bla-bla-i-form-post
