[PHP/FCKeditor] FCKeditor wordtniet getoont ism Databse teks

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Scotix
  • Registratie: Juni 2002
  • Laatst online: 21:18
Hallo,

Ik weet niet of ik dit in de goeie forum sectie plaats maar ik heb een vraag over de FCKeditor.

In de header include ik het script:
<script type="text/javascript" src="editor/fckeditor.js"></script>

en met het volgende script wil ik graag een stuk tekst uit de database bewerken:
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
67
68
69
70
71
72
73
74
75
76
77
78
<?PHP

if($logt == 1){

if($_SERVER['REQUEST_METHOD'] == "POST"){
        $sql = "SELECT page_name,
                       page_content
                FROM mscms_pages
                WHERE ID = '".$_GET['page_ID']."'";
        $resultaat = mysql_query($sql)or die(mysql_error());
        $aantal = mysql_num_rows($resultaat);
        
        if($aantal != 0 AND $_POST['FORM_name'] AND $_POST['FORM_content']){
        
                
                    $sql = "UPDATE mscms_pages
                            SET page_name = '".$_POST['FORM_name']."',
                                page_content = '".$_POST['FORM_content']."'
                            WHERE ID = '".$_GET['page_ID']."'";
                    mysql_query($sql)or die(mysql_error());
                    echo "Pagina geupdate.";        
        
        }


}

        $sql = "SELECT page_name,
                       page_content
                FROM mscms_pages
                WHERE ID = '".$_GET['page_ID']."'";
        $resultaat = mysql_query($sql)or die(mysql_error());
        $aantal = mysql_num_rows($resultaat);
        
        if($aantal == 0){
                echo "Er bestaat geen pagina met de opgegeven ID.";
        }   
        else{   
        
        
        
        
                while($record = mysql_fetch_object($resultaat)){
?>

<form name="form1" method="post" action="">

  <table width="595" border="0">
    <tr>
      <td width="142" height="24" valign="top">Pagina naam </td>
      <td width="408" valign="top"><input name="FORM_name" type="text" id="FORM_name" value="<?PHP echo $record->page_name; ?>"></td>
    </tr>
    <tr>
      <td width="142" valign="top">Inhoud</td>
      <td valign="top">
      
<script type="text/javascript">   
var oFCKeditor1 = new FCKeditor('FORM_content'); 
oFCKeditor1.BasePath = 'editor/';  
oFCKeditor1.Value = '<?PHP echo $record->page_content; ?>'; 
oFCKeditor1.Height = '500'; 
oFCKeditor1.Width = '500'; 
oFCKeditor1.Create();  
</script>     
      
      </td>
    </tr>
    <tr>
      <td width="142" valign="top">&nbsp;</td>
      <td valign="top"><input type="submit" name="Submit" value="Wijzig pagina"></td>
    </tr>
  </table>
</form>
<?PHP
                }
        }
}
?>


Een tekst zoals: "Hallo dit soort tekst bijvoorbeeld"
Kan hij gewoon wijzigen
maar zodra er HTML of dergelijke in komt toont hij de editor niet meer.

Dit soort output bijvoorbeeld:
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
<form name="form1" method="post" action="">

  <table width="595" border="0">

    <tr>
      <td width="142" height="24" valign="top">Pagina naam </td>
      <td width="408" valign="top"><input name="FORM_name" type="text" id="FORM_name" value="Home2"></td>
    </tr>
    <tr>
      <td width="142" valign="top">Inhoud</td>
      <td valign="top">
      

<script type="text/javascript">   
var oFCKeditor1 = new FCKeditor('FORM_content'); 
oFCKeditor1.BasePath = 'editor/';  
oFCKeditor1.Value = 'aasd<br/>
as<br/>
da<br/>
sd<br/>
asd<br/>
<br/>
asdasdasd<br/>
asd<br/>
as<br/>
d<br/>
as<br/>
das<br/>
d<br/>
as<br/>
das<br/>
d<br/>
a<br/>
sd<br/>
asdasdasd<br/>'; 
oFCKeditor1.Height = '500'; 
oFCKeditor1.Width = '500'; 
oFCKeditor1.Create();  
</script>     
      
      </td>
    </tr>
    <tr>
      <td width="142" valign="top">&nbsp;</td>
      <td valign="top"><input type="submit" name="Submit" value="Wijzig pagina"></td>
    </tr>
  </table>
</form>
</td>


Weet iemand hoe ik dit goed krijg?

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
hmm kweeniet zeker of het helpt, maar misschien heb je wat aan regel 10 van mijn FCKeditor klasse. Ik had nl. ook ooit zoiets en ik denk dat het hiermee misschien wel eens opgelost kan worden:

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
<?
    import("nl.shapers.php4.cms.Formfield");
    
    class FCKeditor extends Formfield {
        
        var $value;
        
        function FCKeditor($id, $label, $value) {
            Formfield::Formfield($id, $label);
            $this->value = str_replace(array("\r","\n"),array("",""), nl2br(addslashes($value)));
        }
        
        function run() {
            Formfield::run();
            echo "<script type=\"text/javascript\">\n";
            echo "   var oFCK".$this->id." = new FCKeditor('".$this->id."', '100%', '150');\n";
            echo "   oFCK".$this->id.".Value = '".$this->value."';\n";
            echo "   oFCK".$this->id.".Create();\n";
            echo "   oFCK".$this->id.".BasePath = './scripts/FCKeditor/';\n";
            echo "</script>\n";
            echo "</td>\n</tr>\n";
        }
    }
?>

[ Voor 20% gewijzigd door Genoil op 18-03-2005 14:00 ]


Acties:
  • 0 Henk 'm!

  • Scotix
  • Registratie: Juni 2002
  • Laatst online: 21:18
Genoil schreef op vrijdag 18 maart 2005 @ 13:59:
hmm kweeniet zeker of het helpt, maar misschien heb je wat aan regel 10 van mijn FCKeditor klasse. Ik had nl. ook ooit zoiets en ik denk dat het hiermee misschien wel eens opgelost kan worden:

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
<?
    import("nl.shapers.php4.cms.Formfield");
    
    class FCKeditor extends Formfield {
        
        var $value;
        
        function FCKeditor($id, $label, $value) {
            Formfield::Formfield($id, $label);
            $this->value = str_replace(array("\r","\n"),array("",""), nl2br(addslashes($value)));
        }
        
        function run() {
            Formfield::run();
            echo "<script type=\"text/javascript\">\n";
            echo "   var oFCK".$this->id." = new FCKeditor('".$this->id."', '100%', '150');\n";
            echo "   oFCK".$this->id.".Value = '".$this->value."';\n";
            echo "   oFCK".$this->id.".Create();\n";
            echo "   oFCK".$this->id.".BasePath = './scripts/FCKeditor/';\n";
            echo "</script>\n";
            echo "</td>\n</tr>\n";
        }
    }
?>
hmm ik begrijp hem niet, hoe kan ik die het beste gebruiken? :X

Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Bij FCKEditor komt ook een PHP class mee (/fckeditor.php en voorbeelden in /_samples/php), je kunt die gewoon gebruiken om de editor weer te geven.

[ Voor 13% gewijzigd door Koeniepoenie op 18-03-2005 14:10 . Reden: aanvulling ]

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Scotix schreef op vrijdag 18 maart 2005 @ 14:06:
[...]


hmm ik begrijp hem niet, hoe kan ik die het beste gebruiken? :X
die klasse zelf kun je niet gebruiken, die is veel te afhankelijk van andere code. het gaat om regel 10. het probleem dat je waarschijnlijk hebt heeft weinig met FCKeditor te maken, maar met een syntax error die gegenereerd wordt "unterminated string constant", omdat er newlines in je content staan:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$value="regel1
regel2
regel3
regel4";

$value = str_replace(array("\r","\n"),array("",""), nl2br(addslashes($value)));
?>
<textarea id="ta"></textarea>
<script>
    ta = document.getElementById("ta");
    ta.value = "<?=$value?>";
</script>


hier dus regel 7. hierin worden alle newlines (platformonafhankelijk) gestript. die nl2br zit erin voor automatisch converteren van content die aanvankelijk in een textarea heeft gestaan naar html. addslashes is om je ' en " in de content te escapen.

Acties:
  • 0 Henk 'm!

  • Scotix
  • Registratie: Juni 2002
  • Laatst online: 21:18
Genoil schreef op vrijdag 18 maart 2005 @ 14:39:
[...]


die klasse zelf kun je niet gebruiken, die is veel te afhankelijk van andere code. het gaat om regel 10. het probleem dat je waarschijnlijk hebt heeft weinig met FCKeditor te maken, maar met een syntax error die gegenereerd wordt "unterminated string constant", omdat er newlines in je content staan:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$value="regel1
regel2
regel3
regel4";

$value = str_replace(array("\r","\n"),array("",""), nl2br(addslashes($value)));
?>
<textarea id="ta"></textarea>
<script>
    ta = document.getElementById("ta");
    ta.value = "<?=$value?>";
</script>


hier dus regel 7. hierin worden alle newlines (platformonafhankelijk) gestript. die nl2br zit erin voor automatisch converteren van content die aanvankelijk in een textarea heeft gestaan naar html. addslashes is om je ' en " in de content te escapen.
Sorry:) verkeerd begrepen, ik zal het even proberen

Acties:
  • 0 Henk 'm!

  • Scotix
  • Registratie: Juni 2002
  • Laatst online: 21:18
hij werkt! harstikke bedankt!

voor de nieuwsgierigen:

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?PHP

if($logt == 1){

if($_SERVER['REQUEST_METHOD'] == "POST"){
        $sql = "SELECT page_name,
                       page_content
                FROM mscms_pages
                WHERE ID = '".$_GET['page_ID']."'";
        $resultaat = mysql_query($sql)or die(mysql_error());
        $aantal = mysql_num_rows($resultaat);
        
        if($aantal != 0 AND $_POST['FORM_name'] AND $_POST['FORM_content']){
        
                    $value = str_replace(array("\r","\n"),array("",""), nl2br(addslashes($_POST['FORM_content'])));
                    $sql = "UPDATE mscms_pages
                            SET page_name = '".$_POST['FORM_name']."',
                                page_content = '".$value."'
                            WHERE ID = '".$_GET['page_ID']."'";
                    mysql_query($sql)or die(mysql_error());
                    echo "Pagina geupdate.";        
        
        }


}

        $sql = "SELECT page_name,
                       page_content
                FROM mscms_pages
                WHERE ID = '".$_GET['page_ID']."'";
        $resultaat = mysql_query($sql)or die(mysql_error());
        $aantal = mysql_num_rows($resultaat);
        
        if($aantal == 0){
                echo "Er bestaat geen pagina met de opgegeven ID.";
        }   
        else{   
        
        
        
        
                while($record = mysql_fetch_object($resultaat)){
?>

<form name="form1" method="post" action="">

  <table width="595" border="0">
    <tr>
      <td width="142" height="24" valign="top">Pagina naam </td>
      <td width="408" valign="top"><input name="FORM_name" type="text" id="FORM_name" value="<?PHP echo $record->page_name; ?>"></td>
    </tr>
    <tr>
      <td width="142" valign="top">Inhoud</td>
      <td valign="top">
       
<script type="text/javascript">  
<!--  
var oFCKeditor1 = new FCKeditor('FORM_content'); 
oFCKeditor1.BasePath = 'editor/';  
oFCKeditor1.Value = '<?=$record->page_content?>'; 
oFCKeditor1.Height = '500'; 
oFCKeditor1.Width = '500'; 
oFCKeditor1.Create(); 
//-->  
</script>  
      
      </td>
    </tr>
    <tr>
      <td width="142" valign="top">&nbsp;</td>
      <td valign="top"><input type="submit" name="Submit" value="Wijzig pagina"></td>
    </tr>
  </table>
</form>
<?PHP
                }
        }
}
?>
Pagina: 1