Afsluiten html tag leidt tot "> in pagina

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • TheMe
  • Registratie: December 2006
  • Laatst online: 08-07 20:51
Bij het maken van mijn nieuwe site loop ik tegen een vaag probleem aan. Hieronder staat de code die de fout veroorzaakt

HTML:
1
2
3
4
<div id="mainmenu"> <!--Main Menu Section -->
<form name="menu" method="get" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> 
<input type="hidden" name="menu_option" />
Keuze uit deze opties:


Geeft dit in een html pagina:
Afbeeldingslocatie: http://www.theobreimer.nl/tmp/foutecode.jpg

Als ik zelf naar de html & php code kijk klopt het volgens mij, er staat geen "> te veel in.
Iemand een idee wat ik hieraan kan doen? Ik kan het weghalen natuurlijk, dan werkt de pagina in Firefox, IE en Opera, maar gevoelsmatig klopt het niet. De hele pagina zou dan bij de form argumenten horen.

There is no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • Kosty
  • Registratie: Maart 2008
  • Laatst online: 02-09 00:16
Om veilig te zijn zou ik de quotes rond PHP_SELF toch single houden, omdat je binnen double quotes zit van je HTML (Kan ook totaal niet nodig zijn, maar toch). Overigens, als je action nu gewoon weglaat, dan gaat je form toch ook gewoon naar de huidige pagina ?

Acties:
  • 0 Henk 'm!

  • MacBreQ
  • Registratie: September 2006
  • Laatst online: 08-01-2024
Probeer eens de " te escapen met een \ ervoor, PHP heeft hier geloof ik wel vaker last van. :P
Dus dit:

<div id=\"mainmenu\"> <!--Main Menu Section -->
<form name=\"menu\" method=\"get\" action=\"<?php echo $_SERVER["PHP_SELF"]; ?>\">
<input type=\"hidden\" name=\"menu_option\" />
Keuze uit deze opties:

Acties:
  • 0 Henk 'm!

Verwijderd

Je zou je form ook kunnen sluiten..

http://w3schools.com/html/html_forms.asp

<form>

inhoud form

</form>

Maar misschien sluit je hem wel - buiten het stukje code wat je gekopieerd hebt... :)

[ Voor 27% gewijzigd door Verwijderd op 26-05-2009 00:10 ]


Acties:
  • 0 Henk 'm!

  • Kazu
  • Registratie: Juni 2004
  • Laatst online: 17-09 19:56
MacBreQ schreef op dinsdag 26 mei 2009 @ 00:08:
Probeer eens de " te escapen met een \ ervoor, PHP heeft hier geloof ik wel vaker last van. :P
Dus dit:

<div id=\"mainmenu\"> <!--Main Menu Section -->
<form name=\"menu\" method=\"get\" action=\"<?php echo $_SERVER["PHP_SELF"]; ?>\">
<input type=\"hidden\" name=\"menu_option\" />
Keuze uit deze opties:
Dat heeft weinig zin aangezien alleen de action parameter in php staat.

Weet je wel zeker dat de fout in dit stuk code staat? Voor zover ik kan zien ziet het er goed uit.

PS5 PSN: UnrealKazu


Acties:
  • 0 Henk 'm!

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 24-05 15:42
Post eens even de code die de browser uitspuugt dan..
En misschien nog wat code meer want ik denk niet dat dit het stukje is waar de fout optreed?
Want volgens mij klopt het gewoon en als ik dit snel in een test-file'tje zet, werkt het ook gewoon naar behoren.
MacBreQ schreef op dinsdag 26 mei 2009 @ 00:08:
Probeer eens de " te escapen met een \ ervoor, PHP heeft hier geloof ik wel vaker last van. :P
Dus dit:

<div id=\"mainmenu\"> <!--Main Menu Section -->
<form name=\"menu\" method=\"get\" action=\"<?php echo $_SERVER["PHP_SELF"]; ?>\">
<input type=\"hidden\" name=\"menu_option\" />
Keuze uit deze opties:
Dat slaat natuurlijk nergens op omdat het gewoon html is; alleen in de form-action wordt één stukje php aangeroepen wat ook weer afgesloten wordt.

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Hoe ziet uberhaupt de source er uit?

Acties:
  • 0 Henk 'm!

  • TheMe
  • Registratie: December 2006
  • Laatst online: 08-07 20:51
MacBreQ schreef op dinsdag 26 mei 2009 @ 00:08:
Probeer eens de " te escapen met een \ ervoor, PHP heeft hier geloof ik wel vaker last van. :P
Dus dit:

<div id=\"mainmenu\"> <!--Main Menu Section -->
<form name=\"menu\" method=\"get\" action=\"<?php echo $_SERVER["PHP_SELF"]; ?>\">
<input type=\"hidden\" name=\"menu_option\" />
Keuze uit deze opties:
@ Kosty: de single quotes kan ik proberen, maar dit is niet mijn eerste site, de code die ik hier gebruik komt ook in andere sites voor. Daarom verbaast het me zo, in die andere sites is het namelijk geen probleem.

Deze lijkt me niet handig, omdat de <?php pas na action staat.

@ntr: <form> wordt gesloten, maar heb ik niet mee gepost.


Hieronder dan de HTML bron, had ik gisteravond ook kunnen bedenken maar het was al laat.

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="JavaScript" type="text/javascript">
<!--
function getmenu ( selectedtype )
{
  document.menu.menu_option.value = selectedtype ;
  document.menu.submit() ;
}
-->
</script>
<title>Untitled Document</title>
<style type="text/css">
<!--

Work in progress, stylesheet eruit geknipt...

-->
</style>
</head>
<body>
<center>
<div id="container">
<!-- breedte van notepad achtergrond -->
<!-- hoogte van notepad achtergrond -->
<div id="header"> <!--Header Section --></div>

<div id="mainmenu"> <!--Main Menu Section -->
<form name="menu" method="get" action="<?php echo $_SERVER["PHP_SELF"]?>"> 
<input type="hidden" name="menu_option" />
Keuze uit deze opties: 
<a href="javascript:getmenu('blog')">Blog</a> --- 
<a href="javascript:getmenu('fotos')">Foto's</a> ---
<a href="javascript:getmenu('links')">Links</a> ---
<a href="javascript:getmenu('contact')">Contact</a> ---

<a href="javascript:getmenu('meer')">Nog meer???</a> 
</form>

</div>
<div id="rightcol"> <!-- Left Section --></div>
<div id="content"><!-- Content Section --></div>
<div id="footer"><!-- Footer Section --></div>
</div>
</center>
</body>
</html>


Om het nog wat ingewikkelder te maken: er lijkt iets mis te gaan bij het opbouwen in de browser (FF)

Deze code krijg ik als ik de extra "> selecteer en dan kies: laat bron van selectie zien:
HTML:
1
2
3
4
5
6
7
8
9
10
<form name="menu" method="get" action="&lt;?php echo $_SERVER[" php_self="" ]?="">"&gt; 
<input name="menu_option" type="hidden">
Keuze uit deze opties: 
<a href="javascript:getmenu('blog')">Blog</a> --- 
<a href="javascript:getmenu('fotos')">Foto's</a> ---
<a href="javascript:getmenu('links')">Links</a> ---
<a href="javascript:getmenu('contact')">Contact</a> ---
<a href="javascript:getmenu('meer')">Nog meer???</a> 

</form>


Daar wordt de sluit tag van <form .... > omgezet van een > naar een ascii
HTML:
1
"&gt;


Ik gebruik trouwens FF: 3.0.10
Opera 9.64
en IE 7

Allemaal hetzelfde (en dus lijkt het me dat er een fout in mijn code zit, alleen zie ik hem niet)


Ben trouwens aan het werk de hele dag, dus ik kan overdag niets proberen en aanpassen. Bedankt voor hulp en tips alvast!

[ Voor 1% gewijzigd door TheMe op 26-05-2009 08:20 . Reden: aanvulling ]

There is no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • TheLunatic
  • Registratie: April 2001
  • Laatst online: 16-08 21:48

TheLunatic

Ouwe boxen.

Volgens mij werkt je php-parser niet. Heeft je bestand wel de .php-extensie?

Heb je al een 'hello world' geprobeerd?

PHP:
1
  echo "Hello world";

Mother, will they like this song?


Acties:
  • 0 Henk 'm!

  • Quadro!
  • Registratie: Maart 2004
  • Laatst online: 19-09 15:53
Waarom gebruik je zo'n omslachtige manier om een menu op te bouwen? Bovendien, je weet dat dit hoogst zoekmachine-onvriendelijk is?

edit: inderdaad, php-parser doet het niet.

[ Voor 27% gewijzigd door Quadro! op 26-05-2009 08:25 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Wat TheLunatic zegt, dat zal t wel zijn. Je moet wel een webserver en PHP hebben geinstalleerd. Je kunt daarvoor bijv. XAMPP nemen wat mij vrij goed bevalt, is in een paar klikken klaar voor gebruik.

Trouwens, <center>-tags zijn al tijden depricated en zoals Quadro! al aanhaalt: je menu zal niet werken voor mensen zonder JS en zoekmachines...zonde.

Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

je hoeft je

<input [...] /> niet af te sluiten met een /.

Daarnaast ben je ook nog een value vergeten te zetten in die hidden input.

Daarnaast kun je je action ook leeg laten of # invullen ;)

Heb net deze code geplakt op mijn eigen website, maar geen problemen:

HTML:
1
2
3
4
5
6
7
8
9
<form name="menu" method="get" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input name="menu_option" type="hidden" />
Keuze uit deze opties: 
<a href="javascript:getmenu('blog')">Blog</a> --- 
<a href="javascript:getmenu('fotos')">Foto's</a> ---
<a href="javascript:getmenu('links')">Links</a> ---
<a href="javascript:getmenu('contact')">Contact</a> ---
<a href="javascript:getmenu('meer')">Nog meer???</a> 
</form>

[ Voor 56% gewijzigd door Matis op 26-05-2009 09:14 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
toaomatis schreef op dinsdag 26 mei 2009 @ 09:10:
je hoeft je

<input [...] /> niet af te sluiten met een /.
In XHTML wel (of </input>). Waarom er voor XHTML is gekozen is iets anders; die discussie heb ik vandaag geen zin in :P
toaomatis schreef op dinsdag 26 mei 2009 @ 09:10:
Daarnaast ben je ook nog een value vergeten te zetten in die hidden input.
Een value is niet verplicht; als deze leeg is kan dat dus prima weggelaten worden (tenzij input type = radio of checkbox). Het nut van het hidden field zonder value is echter iets anders (het KAN nuttig zijn, maar doorgaans is een value wel handig ja).
value CDATA #IMPLIED -- Specify for radio buttons and checkboxes --
...
It is optional except when the type attribute has the value "radio" or "checkbox".
toaomatis schreef op dinsdag 26 mei 2009 @ 09:10:
Daarnaast kun je je action ook leeg laten of # invullen ;)
Die geef je beter op. Het is sowieso altijd goed om expliciet te zijn. Daarbij is een # juist problematisch.
Cartman! schreef op dinsdag 26 mei 2009 @ 09:02:
Trouwens, <center>-tags zijn al tijden depricated
Deprecated en daarbij zijn ze in XHTML niet gedefinieërd; dat is wéér andere koek :P

Wat ik wil meegeven is dat het gebruik van het javascript: pseudo-protocol juist beter vermeden kan worden.

[ Voor 35% gewijzigd door RobIII op 26-05-2009 09:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • TheMe
  • Registratie: December 2006
  • Laatst online: 08-07 20:51
bedankt voor de reacties, zoals al aangegeven ben ik nu aan het werk en kan ik niet bij mijn site.

Overigens draai ik al XAMPP en dat werkt inderdaad prima. Mijn php parser pakt andere sites zonder problemen, lijkt me stug dat er nu een probleem ontstaat door het maken van een nieuwe site.

Het menu lijkt wat omslachtig, is het misschien ook wel. Voorlopig hou ik het zo, tot ik tijd heb om te ontdekken om het minder omslachtig te maken.
Wat betreft zoekmachines: de site is voor prive gebruik en eigenlijk alleen bedoeld voor vrienden en bekenden en vooral ook voor mezelf (vrij grote links database ivm favorieten op elke flex-werkplek op mijn werk.)
Ik heb dan ook een robots.txt in de root :
HTML:
1
2
User-agent: *
Disallow: /

En probeer zo veel mogelijk uit zoekmachines te blijven.

In de pagina header staat dat het een XHTML pagina is en mijn WYSIWYG editor maakt de meeste tags ook.
Finetuning doe ik met de hand en is nog ouderwetse HTML. Heb me nog niet echt verdiept in XHTML. Ben wel van plan om, uiteindelijk, HTML 4.01 header mee te geven. Moet eigenlijk kijken of ik mijn WYSIWIG editor ook zo kan instellen ...

<center> :Tsja, noem het een gewoonte :P

There is no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TheMe schreef op dinsdag 26 mei 2009 @ 09:43:
Heb me nog niet echt verdiept in XHTML.
Tenzij je een erg duidelijke noodzaak hebt voor XHTML kun je je de moeite besparen. HTML 4 strict (of hell, HTML 5 ;) ) volstaat prima ;).
TheMe schreef op dinsdag 26 mei 2009 @ 09:43:

Ik heb dan ook een robots.txt in de root :
HTML:
1
2
User-agent: *
Disallow: /

En probeer zo veel mogelijk uit zoekmachines te blijven.
En voor crawlers die robots.txt respecteren zal dat ook wel werken, alle anderen fietsen doodleuk door je site ;) Just so you know...
TheMe schreef op dinsdag 26 mei 2009 @ 09:43:
Ben wel van plan om, uiteindelijk, HTML 4.01 header mee te geven.
Da's geen header maar een Doctype (declaration) ;)
TheMe schreef op dinsdag 26 mei 2009 @ 09:43:
<center> :Tsja, noem het een gewoonte :P
CSS... tja, noem 't een gewoonte ;)

[ Voor 87% gewijzigd door RobIII op 26-05-2009 09:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 10:43

Matis

Rubber Rocket

Woeps, niet gezien dat het XHTML was, maar HELL YEAH gewoon voor HTML 4.01 strict gaan (zeker als XHTML geen noodzaak is; Zie Roblll)

Als je hem dan valideert dan gaat ie zeker stuk op die <center> tags en raadt hij je ook af om <input ... /> te gebruiken.

Verder is het enigzins omslachtig je menu, maar daar zal je natuurlijk je redenen voor hebben.

Echter lopen we IMO nu iets te ver offtopic. het ging over de geprinte >.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 18:54
Je hebt PHP niet aan staan, de " dubbele quote's ziet hij nu dus niet als PHP maar einde open_tag.

Haal <?php echo $_SERVER['HTTP_SELF']; ?> maar eens weg

Acties:
  • 0 Henk 'm!

  • TheMe
  • Registratie: December 2006
  • Laatst online: 08-07 20:51
RedHat schreef op dinsdag 26 mei 2009 @ 10:06:
Je hebt PHP niet aan staan, de " dubbele quote's ziet hij nu dus niet als PHP maar einde open_tag.

Haal <?php echo $_SERVER['HTTP_SELF']; ?> maar eens weg
Lijkt er inderdaad op. Realiseer me nu pas, nu ik weer wakker en helder ben, dat in mijn html-bron de php tag terugkomt in de html bron.
Zal vanavond eens goed gaan checken met XAMPP of php wel naar behoren werkt.

There is no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online

Acties:
  • 0 Henk 'm!

  • TheMe
  • Registratie: December 2006
  • Laatst online: 08-07 20:51
Oplossing: index.html -> index.php
Simpelweg over het hoofd gezien.

Bedankt voor het meedenken in ieder geval!

@hieronder: 8)7 jep.

[ Voor 10% gewijzigd door TheMe op 27-05-2009 11:45 ]

There is no place like 127.0.0.1


Acties:
  • 0 Henk 'm!

  • mr_derk
  • Registratie: September 2005
  • Laatst online: 14:14
8)7
Pagina: 1