HTML uit database halen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joep Bogaers

Joep Bogaers

07/01/2009 13:16:00
Quote Anchor link
Hallo,

Ik heb een CMS gemaakt (dit keer mét database), maar er gaat iets niet helemaal goed.
Je kunt tekst bewerken met de TinyMCE editor. De aangepaste tekst wordt (als html dus) toegevoegd aan de database. Ik laat de html op de site zelf omzetten naar "normale" tekst met de functie html_entity_decode. Het probleem is echter dat sommige dingen/tekens (bijv.   en é) vervangen worden door het volgende tekentje: http://img390.imageshack.us/my.php?image=iconum6.png

Hoe is dat op te lossen??

Joep
Gewijzigd op 01/01/1970 01:00:00 door Joep Bogaers
 
PHP hulp

PHP hulp

22/12/2024 12:26:28
 
Menno Ridder

Menno Ridder

07/01/2009 13:24:00
Quote Anchor link
Mag ik je vragen waarom je HTML codes in de database zet? In een database horen absoluut geen codes. Ik stel voor dat je de html er uit haalt voor het ge-insert wordt in de database.
 
Joep Bogaers

Joep Bogaers

07/01/2009 13:28:00
Quote Anchor link
Maar hoe moet ik het dán doen? TinyMCE zet alles juist om in HTML en dan zou ik dat weer gaan "verprutsen" door de html weg te halen en op de site zelf weer toe te voegen...
 
Arjan Kapteijn

Arjan Kapteijn

07/01/2009 13:34:00
Quote Anchor link
Menno schreef op 07.01.2009 13:24:
Mag ik je vragen waarom je HTML codes in de database zet? In een database horen absoluut geen codes. Ik stel voor dat je de html er uit haalt voor het ge-insert wordt in de database.


Wat heb jij gegeten?
 
Menno Ridder

Menno Ridder

07/01/2009 13:35:00
Quote Anchor link
Uuh... Jij runt de website door een editor die overal HTML van maakt ofzo? Kun je me daar wat van laten zien wat je uiteindelijk in de database invoerd?
 
Joep Bogaers

Joep Bogaers

07/01/2009 13:45:00
Quote Anchor link
Laat het maar zitten...
Ik wist niet dat ik de database-inhoud gewoon kon echo'en:P
 
Joren de Wit

Joren de Wit

07/01/2009 13:49:00
Quote Anchor link
joep schreef op 07.01.2009 13:45:
Laat het maar zitten...
Ik wist niet dat ik de database-inhoud gewoon kon echo'en:P
Die html_entity_decode() heb je inderdaad als het goed is niet nodig. Als je de HTML wilt laten uitvoeren, kun je die inderdaad gewoon echoën. Enkel als je de HTML op het scherm wilt tonen, zul je html_entities() moeten gebruiken om te zorgen dat de HTML niet uitgevoerd wordt.

Maar goed, het moge duidelijk zijn dat je deze functie alleen gebruikt nadat je de gegevens uit de database hebt opgehaald. Voordat je gegevens naar de database schrijft is mysql_real_escape_string() de enige functie die je nodig hebt ;-)

ps. @Menno: tja, dat is nu eenmaal het gevolg van het gebruik van een editor als TinyMCE...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Joep Bogaers

Joep Bogaers

07/01/2009 13:52:00
Quote Anchor link
Blanche schreef op 07.01.2009 13:49:
Maar goed, het moge duidelijk zijn dat je deze functie alleen gebruikt nadat je de gegevens uit de database hebt opgehaald. Voordat je gegevens naar de database schrijft is mysql_real_escape_string() de enige functie die je nodig hebt ;-)


Dat is inderdaad wel duidelijk hoor:P
 
Menno Ridder

Menno Ridder

07/01/2009 13:53:00
Quote Anchor link
@ Blanche

Vreselijk lijkt me dat. Ik gebruik phpDesigner voor de mooie kleurtjes maar doe toch echt alles met de hand.
 
Joren de Wit

Joren de Wit

07/01/2009 13:56:00
Quote Anchor link
Menno, TinyMCE is een editor (javascript oplossing) die je op je website plaatst zodat gebruikers hun invoer zelf kunnen opmaken. Het heeft dus verder niets te maken met de gebruikte software PHP editor ;-)

ps. Zie ook de website van tinymce
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Joep Bogaers

Joep Bogaers

07/01/2009 14:07:00
Quote Anchor link
Blanche schreef op 07.01.2009 13:56:
Menno, TinyMCE is een editor (javascript oplossing) die je op je website plaatst zodat gebruikers hun invoer zelf kunnen opmaken. Het heeft dus verder niets te maken met de gebruikte software PHP editor ;-)

ps. Zie ook de website van tinymce


Inderdaad, mijn ervaring is dat mensen, zonder enige kennis van websites, het liefst met zo'n soort editor werken als ze gebruik maken van een CMS. Een textarea doet het over het algemeen veel minder goed.
 
Joep Bogaers

Joep Bogaers

07/01/2009 14:25:00
Quote Anchor link
Het gaat toch nog niet helemaal goed...
Bij <p>blabla</p><p>blabla2</p> is het toch de bedoeling dat er een witregel tussen blabla en blabla2 zit?
Als ik de HTML uit mijn database echo, gebeurt dit namelijk niet. De tweede alinea staat dan wel op een nieuwe regel, maar er zit op de een of andere manier geen witregel tussen...
Weet iemand waar dit aan ligt?

Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.


EDIT
Sorry!! Ik had het niet door..
Gewijzigd op 01/01/1970 01:00:00 door Joep Bogaers
 
Joren de Wit

Joren de Wit

07/01/2009 14:42:00
Quote Anchor link
joep schreef op 07.01.2009 14:25:
Weet iemand waar dit aan ligt?
Dat heeft weinig met de HTML te maken maar des te meer met de opmaak (CSS) ervan. Het is een kwestie van instellen van de margins en paddings van de <p> tag.
 
Joep Bogaers

Joep Bogaers

07/01/2009 14:44:00
Quote Anchor link
Nou, zonder iets in te stellen in de CSS zit er altijd gewoon een witregel tussen hoor...
 
Joren de Wit

Joren de Wit

07/01/2009 14:49:00
Quote Anchor link
Ja, dat klopt. Maar ik bedoel meer te zeggen dat de oorzaak van dit 'probleem' waarschijnlijk in de opmaak van je document ligt. Bekijk de broncode eens van de pagina waar het niet goed gaat en controleer eens of die klopt.
 
Joep Bogaers

Joep Bogaers

07/01/2009 15:24:00
Quote Anchor link
Het klopt wel gewoon, er staat namelijk nergens het attribuut p genoemd in mijn css bestand. Ik heb dat nu wel toegevoegd en de padding veranderd, maar het blijft raar...
 
Arjan Kapteijn

Arjan Kapteijn

07/01/2009 15:28:00
Quote Anchor link
Waarschijnlijk heb je een * {padding: 0px; margin: 0px;}
 
Niek Weevers

Niek Weevers

07/01/2009 15:47:00
Quote Anchor link
Gebruik firebug. De ideale tool om dit soort probleempjes op te lossen
 
Jesper Diovo

Jesper Diovo

07/01/2009 16:05:00
Quote Anchor link
Dat teken komt gewoon omdat er een verschil zit tussen de charset van de webpagina en de charset van de database?
 
Joep Bogaers

Joep Bogaers

07/01/2009 20:46:00
Quote Anchor link
Arjan Kapteijn schreef op 07.01.2009 15:28:
Waarschijnlijk heb je een * {padding: 0px; margin: 0px;}


Klopt helemaal! Bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.