nieuwssysteem edit etc

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jens V

Jens V

06/01/2007 12:05:00
Quote Anchor link
Hoi daar allemaal

Ik heb al vele keren geprobeerd een nieuwssysteem te maken, met DB.
Elke keer lukt het me dan ook wel, maar toch..
Ik heb een vraagje dat ik elke keer opnieuw moet uitzoeken.
Met nl2br() kan je de enters in je form veld laten omzetten naar <br>'s. Dat weet iedereen. Maar als ik dan mijn form wil editen staan die <br>'s in het form. Dat is al niet goed. Als ik dan (zonder iets te editen) op submit druk en dan ga kijken in het nieuwssysteem, dan is de 'ge-enterde' afstand groter. Als ik dat nog eens doe, wordt die weer groter..

Heeft iemand hier het 'lijstje' van de functies die ik achtereenvolgens op de _POST van het form moet toepassen, en dan ook weer in het nieuwssytsteem zelf om het te laten zijn?

Mvg Jens
 
PHP hulp

PHP hulp

27/01/2025 05:06:49
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:09:00
Quote Anchor link
Als je mysql_real_escape_string op je POST waarden loslaat, worden ze geëscapet voordat ze in de DB weggeschreven worden. De nl2br pas je alleen toe bij het eruit halen, wanneer je ze in HTML wilt laten zien.

Als je ze dus wilt bewerken in een textarea, doe je er niets mee, dan gaat het vanzelf goed.

Ik zet wel altijd magic quotes uit met een .htaccess bestandje.
 
Luke Banning

Luke Banning

06/01/2007 12:11:00
Quote Anchor link
html_entinities deroverheen gooien?
Haal je alle <br />'s weer weg :)
 
Bart van der veen

bart van der veen

06/01/2007 12:13:00
Quote Anchor link
voor je nl2br probleem zie ff:
http://nl3.php.net/manual/nl/function.nl2br.php
en dan ff zoeken in de extra op br2nl
 
Jens V

Jens V

06/01/2007 12:14:00
Quote Anchor link
dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$tekst
= mysql_real_escape_string($_POST['tekst']);
$sql = "INSERT INTO nieuws (id, tekst) VALUES ('', '".$tekst."')";
?>


en
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$sql
= "SELECT * FROM nieuws (WHERE...)";
...

echo nl2br($row['tekst']);
?>


Zoeits?
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:15:00
Quote Anchor link
@ Luke & Bart: je moet ze gewoon helemaal niet opslaan in je DB. Veel te omslachtig. Eerst nl2br eroverheen, dan weer andersom. Die htmlentities van Luke zou het alleen maar erger maken. Die zet <br /> zodanig om, dat hij ook nog eens letterlijk in de HTML te zien wordt.
 
Jens V

Jens V

06/01/2007 12:17:00
Quote Anchor link
is zoiets als hierboven dan juist?
1ste is bij het opslaan; 2de voor het weergeven
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:18:00
Quote Anchor link
@ Jens: alleen als je het als HTML wilt weergeven heb je die nl2br nodig. Niet als je het in een bewerkpagina in een <textarea> wilt zetten.
 
Jens V

Jens V

06/01/2007 12:19:00
Quote Anchor link
Oké,
in het textarea, worden daar die enters, niet de <br>'s automatisch weergeven?

Quote:
EDIT: En waarom eigenlijk die magic quotes? Wat doen die eigenlijk?
Gewijzigd op 01/01/1970 01:00:00 door Jens V
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:22:00
Quote Anchor link
Ja, dus \r\n wordt automatisch een nieuwe regel in je textarea. En <br /> krijg je gewoon letterlijk te zien.
 
Jens V

Jens V

06/01/2007 12:23:00
Quote Anchor link
Cva, merci :-)
Zal het onthouden voor later;-)
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:26:00
Quote Anchor link
Graag gedaan!

De .htaccess om magic quotes uit te zetten:
php_flag magic_quotes_gpc off

(gewoon in de root van je site zetten)

Nu magic quotes staat moet je wel altijd zelf je strings escapen voor je ze in de DB zet (met mysql_real_escape_string), maar dat is helemaal geen slechte gewoonte ;-)
 
Jens V

Jens V

06/01/2007 12:29:00
Quote Anchor link
Ok ;-)
mysql_real_escape_string is toch die functie die ervoor zorgt dat de rare tekens (é, ¨, €, à ...) worden omgezet in van die letters met daarvoor een slash enzo eh?

Quote:
EDIT: En als je alles dan zo doet, is het dan ook veilig tegen misbruik enzo?
Gewijzigd op 01/01/1970 01:00:00 door Jens V
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:33:00
Quote Anchor link
mysql_real_escape_string zorgt voor escape tekens die MySQL begrijpt. Uit mijn hoofd in ieder geval de quotes en newlines enzo. Tijdens het opslaan haalt MySQL de escapetekens weer weg.

Door mysql_real_escape_string zijn je strings in ieder geval veilig, maar je moet ook nog andere maatregelen nemen tegen MySQL injection. Check daarvoor de diverse tut's op deze site.
 
Jens V

Jens V

06/01/2007 12:35:00
Quote Anchor link
cva.. Die heb ik al eens doorgelezen.. Ik testte mijn site toen, en ze was veilig :o :D
 
- SanThe -

- SanThe -

06/01/2007 12:39:00
Quote Anchor link
@Jens: Wat betekent 'cva'?
 
Jens V

Jens V

06/01/2007 12:42:00
Quote Anchor link
Haha ;-)
Ik ben Belg:p

Cva komt van "ça va".. In het Frans is dat "Het gaat" of "Oke, goed".

Mvg Jens ;-)
 
- SanThe -

- SanThe -

06/01/2007 12:47:00
Quote Anchor link
Zo zie je, leer ik toch ook nog een andere taal dan php op dit forum. ;-)
 
Jens V

Jens V

06/01/2007 12:49:00
Quote Anchor link
Hehe :D
Ik geef je één tip, Frans is echt geen leuke taal :p

Jens
 
Jan Koehoorn

Jan Koehoorn

06/01/2007 12:54:00
Quote Anchor link
n'Escalier pas dans cette esperance, mon ami ;-))
 
Jens V

Jens V

06/01/2007 12:57:00
Quote Anchor link
hahahaha, die is mooi gevonden :D
 

Pagina: 1 2 volgende »



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.