Tekst van Ckeditor opslaan in database
Ik heb dit in m'n template staan
<textarea id="inhoud" name="inhoud">
</textarea>
<script type="text/javascript">
CKEDITOR.replace( 'inhoud' );
</script>
Hierdoor verschijnt wel het formulier maar hoe kan ik dit laten opslaan in een tabel in een mysql database.
Het zou ik de kolom t_pagina moeten komen
Deze kolom bestaat uit d_id, d_paginaaam en d_inhoud (waar dus de tekst moet komen)
Kan iemand me helpen?
Gewijzigd op 19/05/2013 18:11:44 door - Ariën -
In home.tpl die bestaat uit volgende code
{include file="header.tpl"}
<sectionhome>
<script type="text/javascript">
CKEDITOR.replace( 'inhoud' );
</script>
<form action="../result.php" method="post">
<textarea class="editor" id="editor" name="editor"></textarea>
<div id="messages"></div>
</form>
{$inhoud}
</sectionhome>
{include file="footer.tpl"}
is het de bedoeling dat ik volgende code integreer
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
$_srv = $_SERVER['PHP_SELF'];
include("./connections/pdo.inc.php");
if (! isset($_POST['submit'])){
$_output = "
<script type='text/javascript' src='../ckeditor/ckeditor.js'></script>
<form method='post' action='$_srv'>
<table>
<tr>
<td>
<label>Titel nieuwsbrief:</label>
<input type='text' name='titel'>
</td>
</tr>
<tr>
<td>
<textarea id='inhoud' name='inhoud'>
</textarea>
</td>
</tr>
<tr>
<td>
<input type='submit' value='Verzend' name='submit'>
</td>
</tr>
</table>
</form>
<script type='text/javascript'>
CKEDITOR.replace('inhoud');
</script>";
}
else
{
$_inhoud = $_POST['inhoud'];
$_titel = $_POST['titel'];
$_datum = date("jdY");
$_time = date("His");
$_result2 = $_PDO -> query("INSERT INTO t_nb_nieuwsbrief(d_naam, d_datum,d_verstuurd) VALUES ('$_titel','$_datum','$_time');");
ini_set('SMTP','mail.sna-webo.be');
$_result = $_PDO -> query("select * from t_nb_abonnees;");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_to = $_row['d_email'];
$_onderwerp = $_titel;
$_bericht= $_inhoud . "<br><a href='http://fauve.sna-webo.be/fauve/NB_uitschrijven.php?AB_token=" . $_row['d_token']. "'>Uitschrijven</a>";
$_headers = "From:[email protected]\n".
"Content-type: text/html";
mail($_to, $_onderwerp, $_bericht, $_headers);
}
}
$_output = "Mail verzonden!";
}
echo $_output;
?>
$_srv = $_SERVER['PHP_SELF'];
include("./connections/pdo.inc.php");
if (! isset($_POST['submit'])){
$_output = "
<script type='text/javascript' src='../ckeditor/ckeditor.js'></script>
<form method='post' action='$_srv'>
<table>
<tr>
<td>
<label>Titel nieuwsbrief:</label>
<input type='text' name='titel'>
</td>
</tr>
<tr>
<td>
<textarea id='inhoud' name='inhoud'>
</textarea>
</td>
</tr>
<tr>
<td>
<input type='submit' value='Verzend' name='submit'>
</td>
</tr>
</table>
</form>
<script type='text/javascript'>
CKEDITOR.replace('inhoud');
</script>";
}
else
{
$_inhoud = $_POST['inhoud'];
$_titel = $_POST['titel'];
$_datum = date("jdY");
$_time = date("His");
$_result2 = $_PDO -> query("INSERT INTO t_nb_nieuwsbrief(d_naam, d_datum,d_verstuurd) VALUES ('$_titel','$_datum','$_time');");
ini_set('SMTP','mail.sna-webo.be');
$_result = $_PDO -> query("select * from t_nb_abonnees;");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_to = $_row['d_email'];
$_onderwerp = $_titel;
$_bericht= $_inhoud . "<br><a href='http://fauve.sna-webo.be/fauve/NB_uitschrijven.php?AB_token=" . $_row['d_token']. "'>Uitschrijven</a>";
$_headers = "From:[email protected]\n".
"Content-type: text/html";
mail($_to, $_onderwerp, $_bericht, $_headers);
}
}
$_output = "Mail verzonden!";
}
echo $_output;
?>
Hoe doe ik dit?
Je weet wel hoe je een formulier op correcte wijze kan afhandelen?
Gewijzigd op 19/05/2013 20:45:43 door - Ariën -
Ik heb geen idee hoe ik het formulier in m'n template moet krijgen.
Je moet alleen lijn 7 t/m 33 vervangen door $smarty->display("home.tpl");
Om ervoor te zorgen dat het formulier wordt getoond.
Persoonlijk zou ik eerder ipv:
dit gebruiken (lees gele comments):
Code (php)
Gewijzigd op 19/05/2013 21:17:37 door - Ariën -
code van home.tpl is
{include file="header.tpl"}
<sectionhome>
<script type="text/javascript">
CKEDITOR.replace( 'inhoud' );
</script>
<form action="../result.php" method="post">
<textarea class="editor" id="editor" name="editor"></textarea>
<div id="messages"></div>
</form>
{$inhoud}
</sectionhome>
{include file="footer.tpl"}
Dus mijn vraag is waar moet ik de code van het formulier zetten?
De pagina waar m'n templates samengevoegd worden is bo_index.php en die code ziet er zo uit
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
33
34
35
36
37
38
39
40
41
42
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
<?php
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
$_inhoud = inlezen('../content/welkom.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
$_inhoud = inlezen('../content/welkom.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
Alvast bedankt.
Je code van het formulier staat toch al in de template?
Hmm nee dat is net het probleem die staat nog niet in het template en ik weet niet hoe ik zonder foutmeldingen (in dreamweaver) die code netjes in m'n template krijg.
maar ik dit lees:
Quote:
In home.tpl die bestaat uit volgende code.... [knip]
Dan heb je die code toch al?
Gewijzigd op 19/05/2013 21:35:39 door - Ariën -
home.tpl ziet er nu zo uit
{include file="header.tpl"}
<sectionhome>
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
$_srv = $_SERVER['PHP_SELF'];
include("../connections/pdo.inc.php");
if (! isset($_POST['submit'])){
$_output = "
<script type='text/javascript' src='../ckeditor/ckeditor.js'></script>
<form method='post' action='$_srv'>
<table>
<tr>
<td>
<label>Titel nieuwsbrief:</label>
<input type='text' name='titel'>
</td>
</tr>
<tr>
<td>
<textarea id='inhoud' name='inhoud'>
</textarea>
</td>
</tr>
<tr>
<td>
<input type='submit' value='Verzend' name='submit'>
</td>
</tr>
</table>
</form>
<script type='text/javascript'>
CKEDITOR.replace('inhoud');
</script>";
}
else
{
$_inhoud = $_POST['inhoud'];
$_titel = $_POST['titel'];
$_datum = date("jdY");
$_time = date("His");
$_result2 = $_PDO -> query("INSERT INTO t_nb_nieuwsbrief(d_naam, d_datum,d_verstuurd) VALUES ('$_titel','$_datum','$_time');");
ini_set('SMTP','mail.sna-webo.be');
$_result = $_PDO -> query("select * from t_nb_abonnees;");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_to = $_row['d_email'];
$_onderwerp = $_titel;
$_bericht= $_inhoud . "<br><a href='http://bert.sna-webo.be/nieuwsbrief/NB_uitschrijven.php?AB_token=" . $_row['d_token']. "'>Uitschrijven</a>";
$_headers = "From:[email protected]\n".
"Content-type: text/html";
mail($_to, $_onderwerp, $_bericht, $_headers);
}
}
$_output = "Mail verzonden!";
}
echo $_output;
?>
$_srv = $_SERVER['PHP_SELF'];
include("../connections/pdo.inc.php");
if (! isset($_POST['submit'])){
$_output = "
<script type='text/javascript' src='../ckeditor/ckeditor.js'></script>
<form method='post' action='$_srv'>
<table>
<tr>
<td>
<label>Titel nieuwsbrief:</label>
<input type='text' name='titel'>
</td>
</tr>
<tr>
<td>
<textarea id='inhoud' name='inhoud'>
</textarea>
</td>
</tr>
<tr>
<td>
<input type='submit' value='Verzend' name='submit'>
</td>
</tr>
</table>
</form>
<script type='text/javascript'>
CKEDITOR.replace('inhoud');
</script>";
}
else
{
$_inhoud = $_POST['inhoud'];
$_titel = $_POST['titel'];
$_datum = date("jdY");
$_time = date("His");
$_result2 = $_PDO -> query("INSERT INTO t_nb_nieuwsbrief(d_naam, d_datum,d_verstuurd) VALUES ('$_titel','$_datum','$_time');");
ini_set('SMTP','mail.sna-webo.be');
$_result = $_PDO -> query("select * from t_nb_abonnees;");
if ($_result -> rowCount() > 0)
{
while ($_row = $_result -> fetch(PDO:: FETCH_ASSOC))
{
$_to = $_row['d_email'];
$_onderwerp = $_titel;
$_bericht= $_inhoud . "<br><a href='http://bert.sna-webo.be/nieuwsbrief/NB_uitschrijven.php?AB_token=" . $_row['d_token']. "'>Uitschrijven</a>";
$_headers = "From:[email protected]\n".
"Content-type: text/html";
mail($_to, $_onderwerp, $_bericht, $_headers);
}
}
$_output = "Mail verzonden!";
}
echo $_output;
?>
</sectionhome>
{include file="footer.tpl"}
Dus wat je in deze post meldde, aan inhoud van home.tpl, is correct.
Het gaat puur om de afhandeling, en dat gebeurt in PHP.
Lees ook eens dit, interessante uitleg over de algemene werking van een Templateparser.
Gewijzigd op 19/05/2013 21:43:38 door - Ariën -
ok da heb ik gedaan en de ckeditor komt nu tevoorschijn maar waar moet ik nu m'n php code gaan zetten zodat de tekst die ik invul in de editor ook bewaard wordt?
Als je logisch kijkt naar de commentaarregels die erin staan weet je wat waar moet komen.
De vraag is alleen of het wel netjes zal zijn, gezien je hele script gebruik maakt van classes. Maar voor een beginner is het handig om classes maar te vermijden ;-)
Gewijzigd op 19/05/2013 21:49:41 door - Ariën -
Sorry ik snap het echt ni :-(
Gewijzigd op 19/05/2013 21:59:57 door - Ariën -
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
33
34
35
36
37
38
39
40
41
42
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
<?php
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
$_inhoud = inlezen('../content/auto.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
$_inhoud = inlezen('../content/auto.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
je ziet het try-gedeelte? Daar moet je mijn code-voorbeeld plaatsen, en even de commentaarregels goed lezen.
En in bo_index.php zet ik achter den try de php code?
In dit topic heb ik nog een link gegeven verwijzend naar uitleg over de werking van een templateparser.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
50
51
52
53
54
<?php
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
if($_SERVER['REQUEST_METHOD']=="POST") {
{
$_inhoud = $_POST['inhoud'];
$_result = $_PDO -> query("INSERT INTO t_pagina(d_inhoud) VALUES ('$_inhoud');");
$_output = $_inhoud;
}
echo $_output;
} else {
// hier je formulier outputten met: $smarty->display("home.tpl");
}
$_inhoud = inlezen('../content/auto.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
/******************
*Initialisatie
*******************/
$_srv = $_SERVER['PHP_SELF'];
/******************
* autoload
******************/
function __autoload($className) {
require_once "../klassen/$className.class.php";
}
include("../connections/pdo.inc.php");
include("../php_lib/inlezen.inc.php");
include("../php_lib/menu.inc.php");
try
{
if($_SERVER['REQUEST_METHOD']=="POST") {
{
$_inhoud = $_POST['inhoud'];
$_result = $_PDO -> query("INSERT INTO t_pagina(d_inhoud) VALUES ('$_inhoud');");
$_output = $_inhoud;
}
echo $_output;
} else {
// hier je formulier outputten met: $smarty->display("home.tpl");
}
$_inhoud = inlezen('../content/auto.txt');
// Object instantieren
$_smarty = new My_smarty();
// We kennen de variabelen toe
$_smarty->assign('menuh',menu('H'));
$_smarty->assign('inhoud', $_inhoud);
// display it
$_smarty->display('home.tpl');
}
catch (myException $e)
{
log("../log/logfile.csv");
errorMessage();
}
?>
en in mijn home.tpl dit
{include file="header.tpl"}
<sectionhome>
<script type='text/javascript' src='../ckeditor/ckeditor.js'></script>
<form method='post' action='$_srv'>
<table>
<tr>
<td>
<label>Titel nieuwsbrief:</label>
<input type='text' name='titel'>
</td>
</tr>
<tr>
<td>
<textarea id='inhoud' name='inhoud'>
</textarea>
</td>
</tr>
<tr>
<td>
<input type='submit' value='Verzend' name='submit'>
</td>
</tr>
</table>
</form>
<script type='text/javascript'>
CKEDITOR.replace('inhoud');
</script>
</sectionhome>
{include file="footer.tpl"}
Wat moet ik nu doen om de inhoud op te slaan in mijn tabel?
Ik doe volgens mij iets verkeerd in home.tpl bij de action van m'n form.