Textarea met UBB code
Wat ik graag zou willen is een textarea met ubb codes bijvoorbeeld.
je hebt een knop voor bold een knop voor italic.
net zoals je hier een bericht post zo iets wil ik ook.
de situatie hoe ik het nu heb
ik heb een textarea daarin include ik het bestand
alle-teksten-db.php hier maak ik verbinden met de db en haal ik de tekst op en via daar kun je het ook updaten.
voordat de textarea begint heb ik een div gemaakt het edit gedeeldte waarin de knoppen komen zoals de B voor strong en I voor Italic knoppen.
maar nu zou ik graag willen weten zodra ik een stuk tekst selecteer en op de b knop druk dat hij de code tag voor vet voor en na de selectie zet.
als ik dat heb kan ik het verder uitbreiden.
Ik weet dat er veel forum berichten zijn maar niet echt met een werking doormiddel van een knop.
hieronder plaats ik een stuk van mijn code
TEXTAREA:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form action="tekst-edit.php" method="post" enctype="multipart/form-data">
<div id="word-pres"><!-- editor balk met ubb opties -->
<a href="#"><img src="../images/editor/ubb-b.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/ubb-u.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/ubb-i.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/enter.png" border="0" class="ubb" /></a>
<?php // geeft status welke pagina je gaat editen
if(isset($_POST["selecteer"]) && $_POST["selectedit"] == 'Selecteer pagina') { echo '<font style="color:#fff; font-size:14px; font-family:verdana;">Geen pagina geselecteerd</font>'; }
elseif(isset($_POST["selecteer"] )) { echo '<font style="color:#fff; font-size:14px; font-family:verdana;">'.$_POST["selectedit"]. '</font>'; }
if(isset($_POST["editor"])) { echo '<font style="color:Green; font-size:13px; font-family:verdana;"><img src="images/green.png"/>Succesvol Opgeslagen</font>'; }
?>
</div>
<textarea lang="nl" class="editor" name="editor">
<?php include'../PHP/editor/alle-teksten-db.php';
?>
</textarea><br/>
<input type="submit" name="opslaan" value="Opslaan" />
</form>
<div id="word-pres"><!-- editor balk met ubb opties -->
<a href="#"><img src="../images/editor/ubb-b.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/ubb-u.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/ubb-i.png" border="0" class="ubb" /></a>
<a href="#"><img src="../images/editor/enter.png" border="0" class="ubb" /></a>
<?php // geeft status welke pagina je gaat editen
if(isset($_POST["selecteer"]) && $_POST["selectedit"] == 'Selecteer pagina') { echo '<font style="color:#fff; font-size:14px; font-family:verdana;">Geen pagina geselecteerd</font>'; }
elseif(isset($_POST["selecteer"] )) { echo '<font style="color:#fff; font-size:14px; font-family:verdana;">'.$_POST["selectedit"]. '</font>'; }
if(isset($_POST["editor"])) { echo '<font style="color:Green; font-size:13px; font-family:verdana;"><img src="images/green.png"/>Succesvol Opgeslagen</font>'; }
?>
</div>
<textarea lang="nl" class="editor" name="editor">
<?php include'../PHP/editor/alle-teksten-db.php';
?>
</textarea><br/>
<input type="submit" name="opslaan" value="Opslaan" />
</form>
zoals je zit met de posting van selecteer is een stukje wat boven de bovenstaande php script staat. want ik heb een select option box kies je zeg maar
de pagina home pagina dan kom in de textare de text te staan van de home pagina.
ik laat ook nog het include gedeeldte zien
Code (php)
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
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
<?php
/*
Via hier haal ik alle teksten uit de database. Deze include ik in
de textarea
*/
// tekst regeling voor de home pagina
// tekst opvragen uit de database voor home pagina
if(isset($_POST["selecteer"]) and $_POST["selectedit"] == 'Home pagina') {
$query = "
SELECT * FROM tekst_edit";
$result = mysql_query($query);
$rij = mysql_fetch_array($result);
$home_tekst = $rij["pagina_text"];
echo $home_tekst;
}
// Kan je de teksten van de home pagina bewerken en opslaan
if(isset($_POST['opslaan'])) {
$query = "
UPDATE
`tekst_edit`
SET
`pagina_text` = '".$_POST["editor"]."'
WHERE `pagina_naam` = 'home_pagina' LIMIT 1";
$result = mysql_query($query);
}
// EINDE tekst regeling voor de home pagina
?>
/*
Via hier haal ik alle teksten uit de database. Deze include ik in
de textarea
*/
// tekst regeling voor de home pagina
// tekst opvragen uit de database voor home pagina
if(isset($_POST["selecteer"]) and $_POST["selectedit"] == 'Home pagina') {
$query = "
SELECT * FROM tekst_edit";
$result = mysql_query($query);
$rij = mysql_fetch_array($result);
$home_tekst = $rij["pagina_text"];
echo $home_tekst;
}
// Kan je de teksten van de home pagina bewerken en opslaan
if(isset($_POST['opslaan'])) {
$query = "
UPDATE
`tekst_edit`
SET
`pagina_text` = '".$_POST["editor"]."'
WHERE `pagina_naam` = 'home_pagina' LIMIT 1";
$result = mysql_query($query);
}
// EINDE tekst regeling voor de home pagina
?>
Dus ik hoop dat iemand mij kan helpen. ik ga ondertussen zelf ook nog verder knutselen
al vast harstikke bedankt
Gewijzigd op 23/03/2011 16:54:31 door Mr Beronne
http://www.sitemasters.be/forum/3/23439/JavaScript/ubb_toevoegen
je zou hier ook gewoon in de bron kunnen kijken hoe het is gedaan
denk ook aan sqlinjection
Gewijzigd op 23/03/2011 17:10:01 door Vincent Huisman
controleren of er gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST)
mysql injection mogelijk
backticks horen niet in een myqsl query
gebruik mysql_fetch_assoc ipv fetch_array
Gebruik css veel makkelijker