php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.04.2011, 22:56  
Benutzer
 
Registriert seit: 30.12.2008
Beiträge: 51
Mamboobamboo befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] WYSIWYG Editor für Mysql db änderung

Hallo,
vor einigen Wochen war ich schon mal hier im forum tätig und war auf der suche nach einer möglichkeit den inhalt einer datenbank mithilfe eines editors zu ändern. Das funktioniert nun super und in dem rahmen sehr gut. Da das projekt nicht alleine meins ist, sondern ich eine webseite für einen freund mache, wollte ich nun einen WYSIWYG editor einbauen, um die änderung der texte und bilder einfacher zu gestalten. Das klappte mit TinyMce schon sehr gut jedoch traten in den letzen tagen mehrer kleine fehler auf, die ich nicht bedacht hatte. Das Problem ist jetzt, dass wenn ich z.b. ein Bild in der datenbank änderer sieht man auf der webseite nicht das Bild, sondern entweder gar nichts oder \\ zeichen. Da ich mir in den letzten wochen mich ein wenig mit den grundlagen von php beschäftigt habe, vermute ich, dass der editor versucht die " die der editor für die Bild url einfügt versucht mit \ zu maskieren. Das klappt aber nicht ganz, da er statt einem \ gleich 5 oder mehrer benutzt. Wenn ich aber nun händisch im phpmyadmin menü nur ein \ einfüge, klappt das auch nicht. Ich müsste also den Bereich nur für html zulassen. Oder ist da ein Denkfehler von mir? wäre nett wenn ihr mir helfen könntet. Habe das ganze heute auch noch mit ckeditor getestet, da tritt das selbe problem auf.
ich hoffe ihr könnt mir helfen: hier das script :
PHP-Code:
<?php
require_once 'mysql_daten.php';

$table '';
if (isset(
$_GET['table'])) {
    
$table = (string) $_GET['table'];
}

$id 0;
if (isset(
$_GET['id'])) {
    
$id = (int) $_GET['id'];
}

$updateExecuted false;

// √Ñnderung durchf√ºhren?

if (isset($_POST['action']) && $_POST['action'] === 'update') {
    
$stmt $mysqli->prepare("
        UPDATE
                `" 
$mysqli->real_escape_string($table) . "`
        SET
                `titel` = ?,
                `text`  = ?
        WHERE
                `id` = ?
        "
);

    if (
$stmt !== false) {
        
$stmt->bind_param('ssi'$_POST['titel'], $_POST['text'], $id);
        
$stmt->execute();

        
$stmt->close();

        
$updateExecuted true;
    }
}

// Nachgefragten Datensatz (GET-Parameter in URL) auslesen

if ($id !== 0) {
    
$stmt $mysqli->prepare("
        SELECT
                `titel`,
                `text`
        FROM
                `" 
$mysqli->real_escape_string($table) . "`
        WHERE
                `id` = ?
        "
);

    if (
$stmt !== false) {
        
$stmt->bind_param('i',  $id);
        
$stmt->execute();

        
$stmt->bind_result($titel$text);
        
$stmt->fetch();

        
$stmt->close();
    }
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Full Page Editing &mdash; CKEditor Sample</title>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <script type="text/javascript" src="../ckeditor.js"></script>
    <script src="sample.js" type="text/javascript"></script>
    <link href="sample.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <?php if ($updateExecuted) : ?>

    <p style="border: 3px double #0c6; padding: 5px;">√Ñnderung durchgef√ºhrt!</p>

    <?php endif; ?>

    <p>Bearbeite Eintrag mit id <?php echo $id?> in Tabelle <?php echo htmlspecialchars($table); ?>.</p>
  
    

    
    
    
    <form method="post" action="">
        Titel <br />
        <textarea type="text" cols="90" name="titel" rows="20"> <?php echo htmlspecialchars($titel); ?></textarea>
    
    <br />
        Text <br />
            
            <textarea type="text" cols="120" id="editor1" name="text" rows="10"> <?php echo htmlspecialchars($text); ?></textarea>
            <script type="text/javascript">
            //<![CDATA[

                CKEDITOR.replace( 'editor1',
                    {
                        fullPage : true
                    
                    });
            //]]>
            </script>
        <p>
            <input type="submit" name="action" value="update" />
        </p>
    </form>
    <p><a href="./">Zurück zu index.php</a> (Pfad ggf. anpassen)</p>
    
</body>
</html>
EDIt: übrigens habe ich das Problem nur auf dem server. Lokal mit XAMPP funktioniert das alles wunderbar
Mamboobamboo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.04.2011, 23:01  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mamboobamboo Beitrag anzeigen
Das klappt aber nicht ganz, da er statt einem \ gleich 5 oder mehrer benutzt. Wenn ich aber nun händisch im phpmyadmin menü nur ein \ einfüge, klappt das auch nicht.
Ein \ ist ja auch zu viel - zumindest, wenn es im letztendlich erzeugten HTML landet.

Ob der Editor daran Schuld ist, würde ich erst mal bezweifeln - die PHP-Einstellung magic_quotes_gpc dürfte ein wahrscheinlicherer Kandidat sein.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.04.2011, 23:12  
Benutzer
 
Registriert seit: 30.12.2008
Beiträge: 51
Mamboobamboo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Ein \ ist ja auch zu viel - zumindest, wenn es im letztendlich erzeugten HTML landet.

Ob der Editor daran Schuld ist, würde ich erst mal bezweifeln - die PHP-Einstellung magic_quotes_gpc dürfte ein wahrscheinlicherer Kandidat sein.
erstmal danke für deine antwort.
Ich glaube nicht das das eine veränderung bringt, wenn ich das schon getestet habe. Wenn ich das richtig verstehe, meinst du ich soll durch den befehl ein " mit einem \" ersetzen lassen oder ? Wir vielleicht förmlich was bringen, aber an der funktionalität leider nix, da er
Code:
<img src=\"url\" alt=\"\" >
auch nicht richtig anzeigen wollte. Außerdem wird der befehl von PHP.net als veraltet gesehen. noch andere ideen?
Mamboobamboo ist offline   Mit Zitat antworten
Alt 17.04.2011, 23:16  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mamboobamboo Beitrag anzeigen
Ich glaube nicht das das eine veränderung bringt, wenn ich das schon getestet habe.
Was hast du getestet?
Zitat:
Wenn ich das richtig verstehe, meinst du ich soll durch den befehl ein " mit einem \" ersetzen lassen oder ?
Nein.
Zitat:
Außerdem wird der befehl von PHP.net als veraltet gesehen. noch andere ideen?
Richtig informieren, und nicht nur oberflächlich.

magic_quotes_gpc ist kein Befehl, sondern einen Konfigurations-Option.
Und zwar die, die dafür sorgt, dass aus einem von einem Formular übergebenen " automatisch \" wird, wenn sie aktiviert ist.
Also deaktiviere sie.

Zitat:
Wir vielleicht förmlich was bringen, aber an der funktionalität leider nix, da er
Code:
<img src=\"url\" alt=\"\ >
auch nicht richtig anzeigen wollte.
Natürlich nicht, weil auch das ja kein sinnvolles HTML ist.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.04.2011, 23:35  
Benutzer
 
Registriert seit: 30.12.2008
Beiträge: 51
Mamboobamboo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Was hast du getestet?
Ich habe den oben geschriebene img code maskiert in die db geschrieben und dann gesehen, dass das Bild nicht angezeigt wird, natürlich habe ich statt url den entsprechenden link zum bild eingefügt.
ok, sorry kenn diese Konfigurations-option nicht. teste ich gerne, wie geh ich dann also vor um das zu testen?
Mamboobamboo ist offline   Mit Zitat antworten
Alt 17.04.2011, 23:40  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mamboobamboo Beitrag anzeigen
Ich habe den oben geschriebene img code maskiert in die db geschrieben
Und warum „maskierst“ du ihn?

Man maskiert man idR. jemanden oder etwas, der/das nicht erkannt werden soll. Dein HTML-Code soll aber vom Browser als gültiger solcher erkannt werden, oder etwa nicht?

(Falls es dir bei der Maskierung um die Problematik SQL Injection geht - die ist nicht gegeben, wenn prepared statements verwendet werden.)

Zitat:
ok, sorry kenn diese Konfigurations-option nicht. teste ich gerne, wie geh ich dann also vor um das zu testen?
Handbuch lesen.

http://www.php.net/manual/en/info.co...gic-quotes-gpc
http://www.php.net/manual/en/configu...nges.modes.php
http://www.php.net/manual/en/configuration.changes.php
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.04.2011, 00:01  
Benutzer
 
Registriert seit: 30.12.2008
Beiträge: 51
Mamboobamboo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Und warum „maskierst“ du ihn?

Man maskiert man idR. jemanden oder etwas, der/das nicht erkannt werden soll. Dein HTML-Code soll aber vom Browser als gültiger solcher erkannt werden, oder etwa nicht?
Doch klar, einfach nur als html anzeigen auf der seite!
ok wenn das nicht markiert werden muss, dann ist ja auch der magic_quotes_gpc konfigurations befehl nicht nötig. Vielleicht zum verständnist noch weitere codes. In der db text ist folgender inhalt :
Code:
<p><img src="http://www.php.de/php-einsteiger/php-einsteiger/domain..../test2/images/tag.png" alt="" /></p><p><span>S</span>tartseiten Text : sds vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede.
und der code der die db anzeigt is folgender :
PHP-Code:

$ergebnis 
$mysqli->query("SELECT titel FROM startseite where id=1 ;");

while(
$zeile $ergebnis->fetch_array()) {
        echo 
"<div id=\"titel\">";
        echo 
" {$zeile['titel']}<br />\n";
            echo 
"</div>";


    } 
was mach ich denn falsch ? warum gehts lokal aber auf dem server nicht ?
Mamboobamboo ist offline   Mit Zitat antworten
Alt 18.04.2011, 00:08  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mamboobamboo Beitrag anzeigen
warum gehts lokal aber auf dem server nicht ?
Höchstvermutlich weil (und diese Vermutung habe ich bereits von Anfang an geäußert, falls du dich erinnern magst) auf dem Server magic_quotes_gpc aktiviert ist ...
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.04.2011, 00:46  
Benutzer
 
Registriert seit: 30.12.2008
Beiträge: 51
Mamboobamboo befindet sich auf einem aufstrebenden Ast
Standard

also erstmal hier :
Zitat:
Achtung:
magic_quotes_gpc ist als deprecated gekennzeichnet und wird in PHP 6.0.0 entfernt.
Schon jetzt sollten Alternativen benutzt werden, um Software zukunftsfähig zu gestalten.
aber egal... ich finde nirgens ein code wie ich das einfach in eine php.ini datei reinschreiben kann. bitte hilf mir da doch. ich habe damit noch nie was zu tun gehabt.Danke
Mamboobamboo ist offline   Mit Zitat antworten
Alt 18.04.2011, 00:49  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Dann schau dir die Links an, die ich vorher extra gepostet habe.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql funktioniert nicht (Erweiterung nicht erkannt!?) pfump Server, Hosting und Workstations 10 17.03.2012 11:07
Mysql Server startet nicht mehr Nicolas2006 Datenbanken 2 20.03.2011 16:03
PHP Zugriff auf MySQL Community Server gewähren daemonTutorials Datenbanken 8 21.02.2011 12:28
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] PHP bekommt keine Verbindung zu MySQL SaKe Datenbanken 15 20.09.2010 14:45
Mysql fehler bei externen Zugriff SteiniKeule Datenbanken 4 18.06.2010 12:54
PDO MySQL abfrage funktioniert nicht Bloodydead PHP Tipps 2010 8 18.06.2010 11:08
Erkenntnisse aus der MySQL -> Oracle migration Donald Datenbanken 9 13.04.2010 14:24
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
MySQL - Lagerverwaltung - Problem mit automatischer Änderung des Lagerbestandes godfather_al Datenbanken 10 01.07.2008 12:58
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
MySQL Fehler nach Änderung einer PHP Datei mark007q Datenbanken 2 09.05.2006 23:56
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php wysiwyg editor, mysql wysiwyg, mysql editor, wysiwyg php mysql, wysiwyg mysql, wysiwyg editor mysql datenbanken, wysiwyg php mysql editor, php mysql wysiwyg editor, wysiwyg für mysql datenbank, wysiwyg editor mysql, mehrere bilder mysql url ausgabe img src werden nicht angezeigt, tinymce html maskierung, php editor mysql, datenbank mysql lagerverwaltung, wysiwyg my sql, wysiwyg textarea inhalt aus sql anzeigen, wysiwyg editor mysql db, mysql update submit, editor wysiwyg php, php inhalt aus datenbank in editor bearbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum