---
title: "xhtml och php"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/63962-xhtml-och-php"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Patrik81"
published: "2003-01-06T14:13:42.000Z"
updated: "2003-01-07T13:51:22.000Z"
replies: 11
views: 362
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/html-css/63962-xhtml-och-php"
---

# xhtml och php

## #1 — Patrik81, 2003-01-06T14:13Z

Satt här och fipplade lite med xhtml, som jag är helt ny på, och så satt jag och läste på w3schools där de sa att man skall byta ut name="" mot id="" på input taggar etc.

D.v.s

```
<input type="text" id="fnamn" />
```

istället för det traditionella

```
<input type="text" name="fnamn">
```

men eftersom php använder sig utav name="" för att skapa sina variabler (exempelvis $\_POST\['fnamn'\] ) så blev jag lite nyfiken på om php klarar av id="" med, och ok, nu kör jag en gammal version av php (4.0.6) men om man byter ut alla name="" mot id="" hur skall man då göra?

Det står ju iofs. på w3schools också att man för bakåtkompabilitetens skull skall använda bägge

```
<input type="text" name="fnamn" id="fnamn" />
```

men funkar det om man ska köra strict xhtml?

Bara en tanke...

Kanske mer en php fråga än en xhtml fråga, så det är möjligt att jag postat denna fel, ber om ursäkt om så är fallet.

MVH Patrik

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

## #2 — GunnarD, 2003-01-06T15:04Z

Borde inte vara några problem eftersom PHP inte ser forumlären eller hur variablerna är skapade.

webläsaren skickar ju bara "variabelnamn=värde" till servern oavsett hur ditt formulär ser ut.

Snarare borde det vara problem med äldre versioner av webläsarna.

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

## #3 — Peter S, 2003-01-06T15:06Z

> men funkar det om man ska köra strict xhtml?

Svar: Ja.

Se även <http://www.w3.org/TR/xhtml1/#h-4.10>

 :)

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

## #4 — Patrik81, 2003-01-06T15:19Z

Jag slängde ihop lite kod för att testa det, men det gick inte alltför bra :(

```
<?php
// xhtml test
if(isset($HTTP_POST_VARS['xhtml'])){
	echo("Det funkar fint att sätta id istället för name på input elementen");
} else {
	?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml-strict.dtd">
<html>
<head>
	<title>xhtml test</title>
</head>
<body>
<form action="test.xhtml.php" method="post">
	<input type="text" id="xhtml" /> Skriv något!<br />
	<input type="submit" value="Submit!" />
</form>
</body>
</html>
	<?php
}
?>
```

och det funkade inget vidare med GET heller :(

Men så har jag förstås inte kollat i någon nyare version av php heller... kanske funkar bättre där...

Nåväl, får fortsätta att testa...

MVH Patrik

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

## #5 — Peter S, 2003-01-06T15:39Z

När det gäller XHTML så fungerar det inte p.g.a.:

1\. Du har inte definierat någon charset. Ex:
    \<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /\>

2\. Dina input-taggar måste ligga i exempelvis en \<div\>

Fungerande kod:

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml-strict.dtd">
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>xhtml test</title>
</head>
<body>
<form action="test.xhtml.php" method="post">
	<div><input type="text" id="xhtml" /> Skriv något!<br /></div>
	<div><input type="submit" value="Submit!" /></div>
</form>
</body>
</html>
```

 :)

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

## #6 — GunnarD, 2003-01-06T17:14Z

Här är en variant som går igenom w3c validator

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>xhtml test</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15" />
</head>
<body>
<?php
// xhtml test
if(isset($xhtml)){
        echo("<p>Det funkar fint att sätta id istället för name på input elementen</p>");
} else {
?>
<form action="test.phtml" method="post">
<div>
        <input type="text" id="xhtml" /> Skriv något!<br />
        <input type="submit" value="Submit!" />
</div>
</form>
</body>
</html>
<?php
}
?>
```

Har kollat lite vad min webserver (Apache 1.3.27, PHP 4.3.0) får från webläsaren (Mozilla 1.2 och IE 6) och det är inte mycket, verkar som om mozilla'n inte skickar med variablen om man använder id.

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

## #7 — GunnarD, 2003-01-06T17:22Z

Om man tittar på xhtml standarden så skall variabelns namn sättas via name.

> HTML 4 defined the name attribute for the elements a, **applet, form, frame, iframe, img, and map**. HTML 4 also introduced the id attribute. Both of these attributes are designed to be used as fragment identifiers.
> .
> .
> .
> Note that in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in a subsequent version of XHTML.

Name är alltså deprecated för taggarna applet, form, frame, iframe, img och map. 

Input tagen står inte med, det är name i form tagen som nu är deprecated och man skall använda id istället, det gäller alltså inte input taggen.

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

## #8 — Patrik81, 2003-01-07T00:03Z

Där ser man, då har jag lärt mig en hel del idag då =)
Jag får tacka för det visade intresset, och för att ni har tålamod med mig =)

MVH Patrik

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

## #9 — jarvklo, 2003-01-07T08:27Z

> **Peter S skrev:**
>
> 2\. Dina input-taggar måste ligga i exempelvis en \<div\>

Hmm... 
Med det tillägget att det bara är i i xhtml 1.0 **Strict** som man måste ha t.ex. en \<div\> runt \<input/\>-taggarna i ett formulär...
Ur DTD:n:

```
<!ENTITY % form.content "(%block; | %misc;)*">
```

I xhtml 1.0 **Transitional** kan man fortfarande "köra utan" precis som i gammal hederlig html4 Transitional - 
Ur DTD:n

```
<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
```

Allt beror (som vanligt) alltså på vilken \<!DOCTYPE man valt för sin sida ;)

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

## #10 — Peter S, 2003-01-07T09:13Z

> Allt beror (som vanligt) alltså på vilken \<!DOCTYPE man valt för sin sida

Ja, och han använder ju strict. Därav mitt svar.

> men funkar det om man ska köra strict xhtml?

 :)

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

## #11 — jarvklo, 2003-01-07T10:38Z

Sorry att jag var otydlig...
Klargörandet gällde alltså kombinationen:

> När det gäller XHTML så...
> ...
> 2) Dina input-taggar måste ligga i exempelvis en \<div\>

Som jag fick för mig eventuellt kunde missuppfattas av någon som inte läser \<!DOCTYPE så noga.

Ledsen om du uppfattade det som kritik av ditt svar... Det var inte så det var menat  :bire

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

## #12 — Peter S, 2003-01-07T13:51Z

No offence taken  :birp 

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/html-css/63962-xhtml-och-php
