MYSQL url ophalen en weergeven in PHP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met het volgende probleem.

Ik heb een mysql database en in een tabel zit een bepaalde text variabele. Regelmatig komt in deze vrije tekst een websiteadres voor. Nou het probleem.

Ik heb een php pagina gemaakt die de data uit de database haalt en deze weergeeft in een tekstveld. Deze pagina heb ik gemaakt om de data te kunnen wijzigen. Alles werkt goed, behalve als er een websiteadres in staat met een hyperlink, de vrije tekst bevat dan de html code <A HREF=websiteadres target="_blank">websiteadres</A>:

Wat er fout gaat is dat de aanhalingstekens ( " ) problemen geven. Deze aanhalingstekens worden gezien als het einde van de text. Alles wat erna komt is wel zichtbaar, maar niet meer in het tekstveld zodat ik het makkelijk kan aanpssen.

Ik hoop dat de uitleg duidelijk is anders hoor ik het graag.

mvg

Acties:
  • 0 Henk 'm!

  • Mr. Bondt
  • Registratie: Februari 2005
  • Laatst online: 27-08 14:50
http://nl3.php.net/htmlspecialchars :)

[ Voor 25% gewijzigd door Mr. Bondt op 01-11-2006 14:08 . Reden: Verkeerde link :( ]


Acties:
  • 0 Henk 'm!

  • Zyppora
  • Registratie: December 2005
  • Laatst online: 12-09 10:59

Zyppora

155/50 Warlock

Wat ik altijd doe in dit soort situaties is onderscheid maken tussen single en double quotes, bijv:

code:
1
<input type='text' value='<a href="URL">TEXT</a>' />


Ik neem aan dat escapen of vervangen door &lt; geen optie is?

Phenom II X4 945 \\ 8GB DDR3 \\ Crosshair IV Formula \\ R9 290


Acties:
  • 0 Henk 'm!

Verwijderd

wat raar... als ik dat normaal in <textarea> zet komt t altijd goed volgens mij... werkt addslahes ook niet? Dan intepreteerd hij de HTML tags zowiezo niet en laat hij het zien als rauwe tekst.

Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 12:59
dit is niet raar, als jij zelf, logisch de volgende code gaat lezen:

HTML:
1
<input type="text" name="blaat" value="content en dan" qouted" "/>


waar zou je dan zeggen dat ie ophoudt? Juist, na de dan", dus je zult toch echt htmlspecialchars moeten gebruiken, zoals Mr. Bondt al zegt.

HTML:
1
<input type="text" name="blaat" value="content en dan&quot; qouted &quot;"/>


Met enkele quot is echt vies! Blech! :r :r :r.

Keep it HTML!

[ Voor 22% gewijzigd door storeman op 01-11-2006 14:15 ]

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn dank is groot. het probleem is opgelost. De oplossing van Zyppora werkt voor mij. Er zijn vast meerder oplossing maar 1 volstaat.

Fijne dag verder

Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 12:59
Trouwens... ga ook eens iemand anders helpen 5 vragen, 5 dagen (lid), 5 antwoorden voor jou, op een forum help je elkaar, das wel zo aardig. Daarbij, dit soort dingen zijn vrij eenvoudig op te zoeken, er zijn wel meer mensen met zulke problemen, zij het hier, zij het via google.

Als je geen MySQL kunt, ga het dan eens leren via turorials, dan hoeven wij niet zo hard te kauwen ;).

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • Zyppora
  • Registratie: December 2005
  • Laatst online: 12-09 10:59

Zyppora

155/50 Warlock

storeman schreef op woensdag 01 november 2006 @ 14:12:Met enkele quot is echt vies! Blech! :r :r :r.
Uuhm, wat is er mis met single quotes? Misschien heb ik wat gemist, maar vziw zijn single quotes gewoon HTML valid (komt zelfs door de XHTML 1.1 Strict validatie heen - getuige het Admin gedeelte van mijn op dit moment offline website).

Misschien dat ik het jarenlang wel fout heb gedaan hoor, maar ze werken wel voor mij.

Phenom II X4 945 \\ 8GB DDR3 \\ Crosshair IV Formula \\ R9 290


Acties:
  • 0 Henk 'm!

Verwijderd

ehmm lijkt me toch beter <textarea> te gebruiken in het geval er ook HTML kan en mag komen!

Acties:
  • 0 Henk 'm!

  • Mr. Bondt
  • Registratie: Februari 2005
  • Laatst online: 27-08 14:50
Verwijderd schreef op woensdag 01 november 2006 @ 14:13:
Mijn dank is groot. het probleem is opgelost. De oplossing van Zyppora werkt voor mij. Er zijn vast meerder oplossing maar 1 volstaat.
Wat gebeurt er als er opeens een enkele quote langskomt?
Juist, hetzelfde.
Maar je moet het natuurlijk zelf weten ;)

Acties:
  • 0 Henk 'm!

  • storeman
  • Registratie: April 2004
  • Laatst online: 12:59
Okee, misschien mag het wel, maar of het netjes is....

Houd text als text en html als html, door die manier die jij noemt vervaagt die grens sterk. Op het moment dat je " gebruikt weet je gewoon dat het text is. Onbruikbaar voor html rendering, toch goed leesbaar!

Hiermee voorkom je evenenens met queries dat je problemen gaat krijgen.

En wat te denken van die combinatie met javascript, dan is het al helemaal niet meer leesbaar, nee, wat mij betreft, htmlspecialchars!

edit:
En dan schiet het puntje van Mr. Bondt mij er nog even bij in!

[ Voor 6% gewijzigd door storeman op 01-11-2006 15:01 ]

"Chaos kan niet uit de hand lopen"


Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

storeman schreef op woensdag 01 november 2006 @ 14:12:
Met enkele quot is echt vies! Blech! :r :r :r.

Keep it HTML!
Mja, nuttige bijdrage, toch maar even de (X)HTML specificatie nogmaals doorlezen dan maar?

Dubbele quotes is meer traditie, maar ik gebruik ze bijvoorbeeld nooit.
storeman schreef op woensdag 01 november 2006 @ 15:00:
Okee, misschien mag het wel, maar of het netjes is....
Zoals al gezegd: lees de specificatie nog maar eens door.

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

Verwijderd

Als je single quotes gebruikt kunnen er geen variabelen in je string hebt staan, en dat vind ik een voordeel :)

[ Voor 9% gewijzigd door Verwijderd op 01-11-2006 15:12 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

Er is hier maar 1 juist antwoord gegeven en dat is htmlencoding, bijvoorbeeld dmv htmlspecialchars() in PHP.

Het voordeel van gebruik van double quotes voor HTML-attributen is hier ook dat de double quote wel een named entity heeft en de single quote niet. htmlspecialchars() zet per default ook geen single quotes om in een (numerieke) entity, daarvoor moet je dan speciaal weer de ENT_QUOTES optie toevoegen.

Intentionally left blank

Pagina: 1