Zinnsoldat08468: Fckeditor schreibt alles in html statt "Normal"

Hi,
ich weiß es gibt viele Threads was den FCKEditor betrifft aber
ich hab mein`s nicht gefunden und aus der Englischen Anleitung
komme ich leider nicht klar.
Ich möchte das wenn ich etwas im Fckeditor bearbeite das er mir
das nicht in Html darstellt sonder ohne html(ähnlich Microsoft Word)
Bitte Helft mir.
Hier ist meine SendPostdata.php

<html>  
 <head>  
  <title>FCKeditor - Samples - Posted Data</title>  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  <meta name="robots" content="noindex, nofollow">  
  <link href="../sample.css" rel="stylesheet" type="text/css" >  
 </head>  
 <body>  
  <h1>FCKeditor - Samples - Posted Data</h1>  
  This page lists all data posted by the form.  
  <hr>  
  <table border="1" cellspacing="0" id="outputSample">  
   <colgroup><col width="80"><col></colgroup>  
   <thead>  
    <tr>  
     <th>Field Name</th>  
     <th>Value</th>  
    </tr>  
   </thead>  
<?php  
  
if ( isset( $_POST ) )  
   $postArray = &$_POST ;   // 4.1.0 or later, use $_POST  
else  
   $postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS  
  
foreach ( $postArray as $sForm => $value )  
{  
 if ( get_magic_quotes_gpc() )  
  $postedValue = htmlspecialchars( stripslashes( $value ) ) ;  
 else  
  $postedValue = htmlspecialchars( $value ) ;  
  
?>  
   <tr>  
    <th><?php echo $sForm?></th>  
    <td><pre><?php echo $postedValue?></pre></td>  
   </tr>  
<?php  
}  
?>  
  </table>  
 </body>  
</html>
  1. Hi,

    schade, dass Du nicht die fckconfig.js mitgeschickt hast, denn dort findet sich die Einstellung, ob eine ganze Seite oder nur der Inhalt zurückgegeben werden soll.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Kein Problem.
      Hab sie als zip gepackt und bei mir hochgeladen.
      hier

      P.S.: Sie ist noch Standart und habe schonmal vielen dank für die Hilfe.

  2. Gibt es niemand der mir helfen kann und möchte?

    1. Tach,

      Gibt es niemand der mir helfen kann und möchte?

      schon, aber ich habe dein Problem leider noch nicht verstanden. Bitte beschreibe genauer, was du tust, was passiert und was du eigentlich möchtest, dass passiert.

      mfg
      Woodfighter

      1. Ich möchte einfach das wenn ich was im fckeditor schreibe
        die Ausgabe also wenn ich auf save gedrückt habe nicht in html ist
        sondern schon formatiert. (ähnlich Word)

        1. Tach,

          Ich möchte einfach das wenn ich was im fckeditor schreibe
          die Ausgabe also wenn ich auf save gedrückt habe nicht in html ist
          sondern schon formatiert. (ähnlich Word)

          dann solltest du nicht htmlspecialchars die Sonderzeichen im übergebenen String durch ihre Entitäten ersetzen lassen.

          mfg
          Woodfighter

          1. ja danke...
            wie mache ich das?
            Nur das html weglassen?

            1. Hallo,

              Nur das html weglassen?

              nein, in Deinem PHP-Code den Aufruf der Funktion htmlspecialchars().

              Freundliche Grüße

              Vinzenz

              1. Tach,

                Hallo,

                Nur das html weglassen?

                nein, in Deinem PHP-Code den Aufruf der Funktion htmlspecialchars().

                wichtig anzumerken ist noch der Hinweis auf [http://de.wikipedia.org/wiki/Cross-Site_Scripting@title=Cross-Site Scripting], da jetzt Daten die der Benutzer übergibt unreflektiert ausgegeben werden.

                mfg
                Woodfighter

                1. <?php

                  if ( isset( $_POST ) )
                     $postArray = &$_POST ;   // 4.1.0 or later, use $_POST
                  else
                     $postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS

                  foreach ( $postArray as $sForm => $value )
                  {
                   if ( get_magic_quotes_gpc() )
                    string htmlspecialchars  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] ) ;
                   else
                    string htmlspecialchars  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] ) ;

                  ?>
                     <tr>
                      <th><?php echo $sForm?></th>
                      <td><pre><?php echo $postedValue?></pre></td>
                     </tr>
                  <?php
                  }
                  ?>

                  Das ist die Index.php, also die datei wo er das bearbeitete Darstellen soll.
                  Wenn ich die Aufrufe bekomme ich

                  "Parse error: syntax error, unexpected T_STRING in /var/www/***/index.php on line 95"
                  Was habe ich falsch gemacht?
                  Bin leider noch nicht so bewandert in Php.
                  Schonmal danke für alle Antworten

                  1. Hallo,

                    die folgende Fallunterscheidung darf heute nicht mehr relevant sein. Hoster, die sowas uraltes PHP 4.0.x oder gar PHP 3.x anbieten, muss man meiden, da es offene Sicherheitslöcher sind.

                    if ( isset( $_POST ) )
                       $postArray = &$_POST ;   // 4.1.0 or later, use $_POST
                    else
                       $postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS

                    In diesem Abschnitt wird davon ausgegangen, dass $_POST keine Arrays enthält.
                    Wird im Beispielcode so sein, davon darfst Du nicht immer ausgehen. Das Umkopieren der Daten aus $_POST ist überflüssig wenn nicht sogar schädlich.

                    Statt stripslashes wäre die benutzerdefinierte Funktion stripslashes_deep, siehe Beispiel 2 im Handbuchabschnitt zu stripslashes() anzuwenden - und zwar gleich zu Beginn des Skriptes, damit es nur eine einzige Stelle im Skript gibt, an der das zu berücksichtigen ist.

                    foreach ( $postArray as $sForm => $value )
                    {
                    if ( get_magic_quotes_gpc() )
                      string htmlspecialchars  ( string $string  [, int $quote_style  [, string $charset  [, bool $double_encode  ]]] ) ;

                    hier solltest Du den Aufruf von htmlspecialchars() *weglassen* - und nicht einfach die allgemeine Syntax des Aufrufs von htmlspecialchars reinkopieren.

                    Dabei gilt es zu beachten, was Jens bezüglich Cross-Scripting geschrieben hat.

                    Freundliche Grüße

                    Vinzenz

                    1. Danke für die schöne Beschreibung,
                      Das Problem ist ich weiß nicht wie ich das jetzt zusammen füge?
                      Ich bin in Php ein totaler neuling und möchte mich erstmal damit beschäftigen...Könntest du mir den Text eventuell vorfertigen das ich ihn einfüge?
                      Ich würde dir riesig danken...

                      Gruß Z!nni