Toon posts:

CMS maken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste,
ik ben bezig met een klein CMS te maken. Ik heb tekst in een database staan die ik wil kunnen bewerken met een WYSIWYG. Weet iemand hoe ik dit moet doen? En weet er iemand welke WYSIWYG-editor ik best gebruik? Ik heb niet veel functies nodig, enkel uitlijning, lettergroote, en vetgedrukt, cursief, onderstreept, en een foto of link invoegen.

mvg, Nathan

Acties:
  • 0 Henk 'm!

  • Tiemez
  • Registratie: December 2003
  • Laatst online: 24-10-2022
http://www.fckeditor.net/demo

je kunt bij fck zelf instellen welke knoppen wél en niet actief zijn. :)

Acties:
  • 0 Henk 'm!

  • DutchStoner
  • Registratie: Oktober 2005
  • Laatst online: 17-01-2022
TinyMCE werkt ook prima (http://tinymce.moxiecode.com/)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb FCK nu op m'n webserver staan, maar hoe kan ik nu de tekst uit m'n database hierin steken?

Acties:
  • 0 Henk 'm!

  • Xelle
  • Registratie: Mei 2006
  • Laatst online: 13:59
Als je de tekst hebt opgehaald uit de database zet je het tussen de <textarea></textarea> tags.
Zo dus:


PHP:
1
2
3
4
5
<?php 

echo '<textarea>'.$varMetDatabaseTekst.'</textarea>';

?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
en hoe haal je de databasetekst juist op? want ik ken enkel een kleine basis van php, maar kben wel van plan om me hierin verder te verdiepen...

Acties:
  • 0 Henk 'm!

  • Eijkb
  • Registratie: Februari 2003
  • Laatst online: 18:22

Eijkb

Zo.

** laat maar. Excuses voor foute post.

[ Voor 92% gewijzigd door Eijkb op 22-02-2009 15:40 ]

.


Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Die tekst ophalen kun je met een SQLquery doen (ervanuitgaande dat je met een SQL database werkt).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
en met welke query dan? ik werk met mySQL.

Acties:
  • 0 Henk 'm!

  • Xelle
  • Registratie: Mei 2006
  • Laatst online: 13:59
Zoek eens met Google op mysql_fetch_array, dan kom je al een aardig eind denk ik! :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
kheb eens ziten zoeken, maar het lukt me niet...
ik heb de code:
<?php
mysql_connect("localhost", "test", "wachtwoord") or
die("Could not connect: " . mysql_error());
mysql_select_db("test");
$sql = "SELECT * FROM test WHERE id = 1";
$res = mysql_query($sql);

// bekijk of er rijen als resultaat zijn
if (mysql_num_rows($res) >= 1)
{
// zet de resultaten in een 'array'
$row = mysql_fetch_array($res);

// je kunt nu via $row[kolom_naam] de waarde oproepen
echo 'Het id van deze rij is: '.$row[id];
}
else
{
echo 'Er zijn geen resultaten gevonden';
}
?>

gevonden, maar dan krijg ik een error en krijg ik enkel de id waarde...
en ik wil enkel de waarde die in de kolom tekst staat...

Acties:
  • 0 Henk 'm!

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 23-11-2024

Paxlie

chaos en inslag

Moet je ook wel de juiste kolom uitlezen. De query aanpassen aan je behoeftes en dan de juiste kolom uitlezen :)

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

SQL:
1
SELECT `kolom` FROM `table` WHERE `id` = X

Kan je zelf met gemak vinden en anders zelf bedenken. Is gewoon basic SQL.
Meerdere kolommen doe je als volgt
SQL:
1
SELECT `kolom1`, `kolom2`, `kolom3` FROM `table` WHERE `id` = X
X is uiteraard het getal, als integer. :)

Sowieso is in jouw voorbeeld code elke or die(mysql_error()) 'fout'. Het werkt wel, daar niet van, maar je moet niet willen dat gebruikers de exacte foutmelding zien, met (een deel van) de query erbij (als je die erbij weergeeft). Ook de foutafhandeling zou ik dus ook netjes laten verlopen.

[ Voor 40% gewijzigd door CH4OS op 22-02-2009 16:16 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nu heb ik dit staan:

<?php
mysql_connect("localhost", "test", "wachtwoord") or
die("Could not connect: " . mysql_error());
mysql_select_db("test");
$sql = "SELECT tekst FROM test WHERE id = 1"
$res = mysql_query($sql);

// bekijk of er rijen als resultaat zijn
if (mysql_num_rows($res) >= 1)
{
// zet de resultaten in een 'array'
$row = mysql_fetch_array($res);

// je kunt nu via $row[kolom_naam] de waarde oproepen
echo 'Het id van deze rij is: '.$row[id];
}
else
{
echo 'Er zijn geen resultaten gevonden';
}
?>

maar ik neem aan dat er nog dingen moeten veranderen, maar wat?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Heb je zelf al het een en ander geprobeerd? Ik krijg namelijk de indruk dat je elke vraag hier neerzet, zonder dat je moeite ervoor wil doen en ik neem aan, dat je er juist van wilt leren. ;) Overigens wil het al schelen als je je code ook niet kwakkeloos in een posting zet, maar netjes tussen [code]-tags zet, of wat in dit geval ook kan, tussen [php]-tags. Dan word de leesbaarheid ervan in ieder geval al een heel stuk beter.

Om te beginnen hebben wij bijvoorbeeld niets aan 'het werkt nog niet', foutmeldingen willen we graag weten, dan weten we wat je fout doet. Waarschijnlijk heeft het te maken met je inloggegevens op MySQL om de database te kunnen selecteren, kijk daar om te beginnen eens naar.

[ Voor 37% gewijzigd door CH4OS op 22-02-2009 16:20 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
volgens mij zijn m'n gegevens correct.
host: localhost:
gebruikersnaam: test:
wachtwoord: wachtwoord
database: test
tabel: test
kolom: tekst

ik krijg volgende foutmelding: Parse error: parse error in C:\webserver\www\test.php on line 6

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Je vergeet een puntkomma ergens in jouw code, waar mag je zelf uitzoeken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok, merci!

Acties:
  • 0 Henk 'm!

  • Xelle
  • Registratie: Mei 2006
  • Laatst online: 13:59
Ja er mist een ';' ;) Volgende keer even beter kijken he :)

edit: -Te laat-

[ Voor 12% gewijzigd door Xelle op 22-02-2009 16:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik krijg nu de tekst uit m'n database correct, maar boven m'n tekst staat er nog: Notice: Use of undefined constant tekst - assumed 'tekst' in C:\webserver\www\test.php on line 15
hoe krijg ik dit weg?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op zondag 22 februari 2009 @ 16:24:
ik krijg nu de tekst uit m'n database correct, maar boven m'n tekst staat er nog: Notice: Use of undefined constant tekst - assumed 'tekst' in C:\webserver\www\test.php on line 15
hoe krijg ik dit weg?
Zoals ik al zei: probeer zelf ook eens wat, we zijn hier geen helpdesk voor je.
Het internet is groot, ga bijvoorbeeld eens [google=Notice: Use of undefined constant]

[ Voor 6% gewijzigd door CH4OS op 22-02-2009 16:31 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
op mijn server die online staat, werkt het wel, dus dat is geen probleem, nu om terug te komen op m'n hoofdvraag:
Hoe kan ik dan die tekst bewerken met FCKeditor?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Verwijderd schreef op zondag 22 februari 2009 @ 16:40:
Hoe kan ik dan die tekst bewerken met FCKeditor?
Bekijk anders eens de handleiding!
Probeer zelf alsjeblieft ook het een en ander eens zélf uit te vogelen. We zijn niet jouw persoonlijke helpdesk, zoekt en gij zult vinden, als ik het vinden kan, kan jij het ook.

[ Voor 33% gewijzigd door CH4OS op 22-02-2009 16:44 ]


Acties:
  • 0 Henk 'm!

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 23-11-2024

Paxlie

chaos en inslag

Verwijderd schreef op zondag 22 februari 2009 @ 16:40:
op mijn server die online staat, werkt het wel, dus dat is geen probleem, nu om terug te komen op m'n hoofdvraag:
Hoe kan ik dan die tekst bewerken met FCKeditor?
Het heeft zo te zien uitgebreidde documentatie over hoe het werkt. Probeer het eerst eens anders?

http://docs.fckeditor.net...ers_Guide/Integration/PHP

[ Voor 9% gewijzigd door Paxlie op 22-02-2009 16:44 ]

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Acties:
  • 0 Henk 'm!

  • J3roen
  • Registratie: Januari 2000
  • Niet online

J3roen

Intentionally left blank

En nog een handleiding. Je kan veel van je vragen prima zelf uitzoeken imho.

Acties:
  • 0 Henk 'm!

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
en denk ook na over security zodat sql-injectie's niet mogelijk zijn...

want nu komt alles wat over als 'ik wil iets doen en ken er niets van, maar ik heb gehoord dat dat op die manier zo moeten gaan. iets opzoeken hoef ik zelf ook niet te doen want ik kan op GoT...'

Heb je ooit al iets gemaakt in PHP met mySQL?
zoja: waarom dan die basis-query vragen,
zo nee: lees je eerst wat in, ook ivm security (injectie's). en begin met wat simpeler dingen dan een cms.

waarom direct een cms maken terwijl we merken dat je basis-kennis noch de zin om iets op te zoeken niet eens echt aanwezig is?
waarom niet eerst beginnen met een open-source cms en die proberen aan te passen naar eigen goesting/toepassing ?

denk daar even over na, tijdens het lezen van al die handleidingen.
ik wil je nu niet de zin ontnemen om zelf iets te maken, maar ik wil ook niet dat de zoveelste cms online komt waar gaten inzitten waar we een truck in kunnen rijden...

Hopelijk gaat dit je niet ontmoedigen, maar je wel de drang geven het goed aan te pakken te beginnen met veel zelfstudie en opzoekwerk. En als er dan nog kleine vragen zijn waar je niet uit kan, kom ze dan gerust vragen. en post je code dan tussen code-tags, leest veel vlotter ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik krijg de tekst nu in de editor d.m.v. volgende 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
<?php
include_once("fckeditor/fckeditor.php") ;
?>
<html>
<head>
  <title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
mysql_connect("localhost", "test", "wachtwoord") or
    die("Could not connect: " . mysql_error());
mysql_select_db("test");
  $sql = "SELECT tekst FROM test WHERE id = 1";
   $res = mysql_query($sql);

   // bekijk of er rijen als resultaat zijn
   if (mysql_num_rows($res) >= 1)
   {
       // zet de resultaten in een 'array'
       $row = mysql_fetch_array($res);

       // je kunt nu via $row[kolom_naam] de waarde oproepen
       echo $row[tekst];
   }
   else
   {
       echo 'Er zijn geen resultaten gevonden';
   }
?> 
<hr>
  <form action="/wysiwyg/fckeditor/_samples/php/sampleposteddata.php" method="post" target="_blank">
<?php
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = '/wysiwyg/fckeditor/' ;
$oFCKeditor->Value = $row[tekst]; ;
$oFCKeditor->Create() ;
?>
    <br>
    <input type="submit" value="Submit">
  </form>
</body>
</html>

Maar als ik op submit druk, krijg ik gewoon de code die gegenereerd is, hoe kan ik ervoor zorgen dat de code gegenereerd door de editor automatisch in de database wordt geplaatst?

[ Voor 0% gewijzigd door Verwijderd op 22-02-2009 17:40 . Reden: code-tags ]


Acties:
  • 0 Henk 'm!

  • ari
  • Registratie: November 2007
  • Laatst online: 01-08 22:36

ari

Nogal wiedes dat er niks in je database terechtkomt, je doet ook niks met je data.

Probeer eens je formulier op de server uit te lezen. Dat is niet zo heel erg moeilijk, bijna elke tutorial vertelt je hoe je de POST-waarden kunt inlezen in php.

Vervolgens moet je zorgen dat die waarde veilig in de database kwijt kan, door die te escapen (voor je sql-injecties).

En daarna kan je die invoeren in je database als nieuwe rij of door een bestaande rij te updaten (zie een willekeurige SQL-handleiding).

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
nvm, er was nog een pagina :P

[ Voor 82% gewijzigd door Megamind op 22-02-2009 17:50 ]


Acties:
  • 0 Henk 'm!

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
als je post naar een stukje voorbeeld code van die editor zelve is het vrij logisch dat die niet in je database terecht komt.
ik heb het dus over volgende regel:
code:
1
  <form action="/wysiwyg/fckeditor/_samples/php/sampleposteddata.php" method="post" target="_blank">

laat je form zijn actie eens posten naar je eigen php-code, en laat die code de post informatie in de database steken en een melding teruggeven dat het gelukt is of niet.
voorbeeld-code vind je in die sampleposteddata.php...en hoe je iets in je database steekt vind je wederom op vele plaatsen op het net.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nu vond ik deze code op het internet via een tutorial op: http://www.msbware.com/p/view_article/article_id/110
Maar als ik de hele tutorial doorloop en m'n gebruikersinformatie, en het pad naar m'n editor verander, werkt het niet.
Als ik een tekst invul, en ik druk op submit, wordt de pagina ververst, maar is de editor terug gewoon leeg, en komt er ook niks in m'n database...
weten jullie wat er fout mee kan zijn?
hieronder de 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
<?php 
  
  // Connect to the database
  $cnx = mysql_connect("localhost", "username", "password")
         OR die("Unable to connect to database!");
  mysql_select_db("database_name", $cnx);
  
  
  if ($_POST['submit_form'] == 1)  {
    // Save to the database
    $data = mysql_real_escape_string(trim($_POST['fcktext']));
    $res = mysql_query("UPDATE fck_data SET data = '".$data."' WHERE id = 1");
    
    if (!$res)
      die("Error saving the record!  Mysql said: ".mysql_error());
    
    // Redirect to self to get rid of the POST
    header("Location: index.php");
  }

  include_once "fckeditor/fckeditor.php";
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test FCKeditor</title>
</head>
<body>

<h1>Test FCKeditor</h1>

<form action="index.php" method="post">
<?php 
  // Get data from the database
  $query = mysql_query("SELECT data FROM fck_data WHERE id = 1");
  $data = mysql_fetch_array($query);

  // Configure and output editor
  $oFCKeditor = new FCKeditor('fcktext');
  $oFCKeditor->BasePath = "/wysiwyg/fckeditor/";
  $oFCKeditor->Value    = $data["data"];
  $oFCKeditor->Width    = 540;
  $oFCKeditor->Height   = 400;
  echo $oFCKeditor->CreateHtml();
?>
<br />
<input type="hidden" name="submit_form" value="1" />
<input type="submit" value="Save Form" />
</form>

</body>
</html>


<?php 
  // Close the database connection
  mysql_close($cnx);
?> 

Acties:
  • 0 Henk 'm!

  • rhodium
  • Registratie: Augustus 2003
  • Nu online
Als ik even snel kijk dan gok ik dat je eens $data[0]['data'] moet proberen.

Tevens kan je $data uitlezen doormiddel van het volgende:

PHP:
1
echo '<pre>'.print_r($data).'</pre>';

[ Voor 3% gewijzigd door rhodium op 22-02-2009 18:58 ]


Acties:
  • 0 Henk 'm!

  • ari
  • Registratie: November 2007
  • Laatst online: 01-08 22:36

ari

Controleer of je gegevens gepost krijgt (geef bijvoorbeeld een melding of dit zo is), en laat zien welke gegevens je gepost krijgt. Dan weet je waar het probleem zit.

Verder, staat er al een rij met id 1 in je tabel?

Je header redirect kun je trouwens gewoon weglaten (waarom?).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
rhodium schreef op zondag 22 februari 2009 @ 18:58:
Als ik even snel kijk dan gok ik dat je eens $data\[0]['data'] moet proberen.

Tevens kan je $data uitlezen doormiddel van het volgende:

PHP:
1
echo '<pre>'.print_r($data).'</pre>';
Ik heb geprobeerd met
PHP:
1
$data[0]['data']

maar dat hielp niet...
waar moet ik die
PHP:
1
echo '<pre>'.print_r($data).'</pre>';

juist neerzetten?

Acties:
  • 0 Henk 'm!

  • NEOeo
  • Registratie: December 2003
  • Laatst online: 11:46
Of je koopt een php boek ;)

Acties:
  • 0 Henk 'm!

  • rhodium
  • Registratie: Augustus 2003
  • Nu online
PHP:
1
2
3
4
<?php  
  // Get data from the database 
  $query = mysql_query("SELECT data FROM fck_data WHERE id = 1"); 
  $data = mysql_fetch_array($query);


Daaronder lijkt mij het handigste, maar is het niet handig als je eerst eens gaat bestuderen wat alles is en wat het doet? Blijkbaar snap je er weinig van en ploeter je maar wat aan. Dit is trouwens ook een vereiste voordat je eigelijk hier een topic opent.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ondertussen is het probleem al opgelost. als ik tekst intyp, wordt dit in de database gezet, maar als ik de tekst opnieuw wil bewerken, moet ik alles terug opnieuw intypen...
Waaraan kan dat liggen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Probleem opgelost!
Echt bedankt voor alle hulp!

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Raad je aan om eerst even te verdiepen in php, een site als phphulp.nl is mooie start, leer ik ook bijna elke dag weer iets nieuws van, en daar staan ook wat voorbeeld scripten en tutorials, ook voor simple cms of bericht systemen. En google voor wat oplossingen, want vaak heb je binnen 1 min al een werkende oplossing met google gevonden.

Let je ook op veiligheid van je script, zeker voor toekomstig scripten is het handig om ook vanaf het begin aan te leren, maar dat is misschien nog niet helemaal aan de orde bij jou. Vraag me wel af hoe je de FCKeditor gaat beveiligen? Zal denk ik iets van een admin panel moeten komen?

En dit topic staat verkeerd, php en mysql zijn geen markup of cleintside script maar een serverside script, hoor eigenlijk hier thuis: Programming :)

-Andere hobby- -

Pagina: 1