php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.05.2005, 00:11  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard Eingabe/Ausgabe in db - Darstellungsproblem m. Sonderzeichen

ich schreibe gerade an einem kleinem Skript bei dem auch andere Eingaben ein einem Formular machen können, welche dann in einer db landen.

Später sollen diese natürlich auch wieder ausgegeben werden.
Mir ist nun wichtig:
- die Sicherheit, dass keiner mit 'falschen' Eingaben was unanständiges machen kann (sql-Code ausführen, HTML-Code einschleusen,...)
- die korrekte Darstellung danach

das Problem ist, dass HTML mit angezeigt werden soll, aber eben als Quelltext; es soll nicht dargestellt werden.


Ich speicher die Daten mittels folgender Funktion:
PHP-Code:
<?php
  
function mysql_secure($text)
  {
    
$text htmlspecialchars($text);
    
$text mysql_escape_string($text);

    if(!
get_magic_quotes_gpc())
      
$text addslashes($text);

    RETURN 
$text;
  }
?>
Dargestellt wird das anschließend mit:

PHP-Code:
<?php
  
function BBCode_out($text)
  {
     if(
trim($text) == '')
       RETURN 
FALSE;
     
$return ' :idea: '.nl2br(htmlentities($text)).'


'
;
     
$return eregi_replace("&amp;nbsp;","",$return);
     
$return eregi_replace("&amp;lt;","&lt;",$return);
     
$return eregi_replace("&amp;quot;","&quot;",$return);
     
$return eregi_replace("&amp;gt;","&gt;",$return);
     RETURN 
$return;
  }
?>
getestet werden kann das hier:
http://www.host.bekaan.net/phpfriend.de/admin.php

nur dass die Ausgabe nicht so funktioniert, wie sie soll....
Ich wäre daher für Hilfe dankbar.

Ein link auf die phpinfo()
magic_quotes_gpc ist auf ON

Habe ich was vergessen zu erwähnen?
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.05.2005, 00:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Habe ich was vergessen zu erwähnen?
Nein. Die Config sieht auch ganz gut aus.
Zitat:
nur dass die Ausgabe nicht so funktioniert, wie sie soll....
a. was fehlt denn noch?
b. anstelle der eregi_replace würde ich str_replace nehmen.
Zitat:
Seit PHP 4.0.5 kann jeder Parameter von str_replace() auch ein Array sein.
 
Alt 25.05.2005, 13:18  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

wenn ich zB folgenden eingebe:
Code:
<br style="clear:both;" />
dann ist die Ausgabe:
Zitat:
<br style=\\"clear:both;\\" />
so, als würden die " und ' und \ mehrfach escaped.

gut - ich könnte einmal ein
Code:
$return = stripslashes($return);
in die Ausgabe bringen, dann verbleibt aber eine Ausgabe:
Zitat:
<br style=\"clear:both;\" />
wenn ich dann noch mal stripslashes() anwende, dann kommen aber auch die Zeilenumbrüche \r\n als rn zur Ausgabe hinzu. Das will ich auch nicht.

Was mich also stört ist die Ausgabe des Codes.
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 25.05.2005, 13:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von supertramp
Was mich also stört ist die Ausgabe des Codes.
Ach so... Freunde Dich doch mal mit Templates an. Dann entfällt die wüste Wurschtelei...
 
Alt 25.05.2005, 13:22  
Gast
 
Beiträge: n/a
Standard

Zitat:
$text = mysql_escape_string($text);

if(!get_magic_quotes_gpc())
$text = addslashes($text);
Dieser Abschnitt ist mir nicht klar.
escape_string und addslashes? Das ist irgendwie doppelgemoppelt.

Eher umgekehrt: sollten magic_quotes_gpc aktiviert sein, müsste ein stripslashes vor escape_string durchgeführt werden.
 
Alt 25.05.2005, 14:23  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Zitat:
Zitat von meikel
Ach so... Freunde Dich doch mal mit Templates an. Dann entfällt die wüste Wurschtelei...
Joh... da fehlt mir noch ein wenig das Verständniss für OOP. Aber templates wäre ein Thema, dass ich gerne nochmal verstehen würde. Ich denke, dass man damit feine Sachen machen kann...

Hast du ein gutes Tutorial dazu? Oder ein gut kommentiertes Beispiel anhand dessen man das lernen kann?



Zitat:
Zitat von VolkerK
Zitat:
$text = mysql_escape_string($text);

if(!get_magic_quotes_gpc())
$text = addslashes($text);
Dieser Abschnitt ist mir nicht klar.
escape_string und addslashes? Das ist irgendwie doppelgemoppelt.

Eher umgekehrt: sollten magic_quotes_gpc aktiviert sein, müsste ein stripslashes vor escape_string durchgeführt werden.
ok, ich bin gerade nicht an meinem Rechner... Ich werde das aber mal ausprobieren und dann werde ich mich mit Sicherheit hier wieder melden.
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 25.05.2005, 15:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von supertramp
Oder ein gut kommentiertes Beispiel anhand dessen man das lernen kann?
Das zB.
http://test.php-help.info/template-2/ (Quelltexte außer DB Klasse werden angezeigt)
 
Alt 25.05.2005, 19:07  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Der Beitrag wurde geschlossen, wegen...
... ausreichender Lösung des Problems.
... auf Wunsch des Threaderöffners / der Threaderöffnerin.

closed
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
 


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
Ajax und Sonderzeichen? GSJLink HTML, Usability und Barrierefreiheit 1 11.11.2006 14:36
Die Sache mit den Sonderzeichen nach und vor Formularprüfung TailerD PHP Tipps 2006 12 02.06.2006 12:58
Sonderzeichen mit Semikolon in einer Abfrage PHP Tipps 2006 17 04.02.2006 11:34
Wikipedia, Sonderzeichen und file_get_contents(); pb PHP Tipps 2006 2 20.01.2006 20:02
[Erledigt] Problem mit Sonderzeichen PHP -&gt; MySQL -&gt; HTML PHP Tipps 2007 18 07.12.2005 15:23
Liste nach Buchstaben und Sonderzeichen (!) sortiert odaa PHP-Fortgeschrittene 8 11.10.2005 16:26
sonderzeichen filtern/suchen socke PHP Tipps 2005-2 8 22.09.2005 07:01
[Erledigt] Sonderzeichen: &amp;#8805; Datenbanken 2 19.09.2005 16:54
Login Probleme mit Sonderzeichen im Nick PHP Tipps 2005-2 11 21.08.2005 16:54
Sonderzeichen Funktion JeeZ PHP Tipps 2005-2 4 07.07.2005 21:32
Sonderzeichen aus einem großen Text entfernen PHP Tipps 2005 4 25.04.2005 16:51
Sonderzeichen in der Tabelle Mutatos Datenbanken 4 17.03.2005 15:28
mit html sonderzeichen sortieren Datenbanken 3 16.02.2005 15:25
Sonderzeichen über $_GET Calexico PHP Tipps 2005 1 10.02.2005 17:40
[Erledigt] sonderzeichen im browser? PHP-Fortgeschrittene 1 12.10.2004 14:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
probleme mit sonderzeichen eingabe., sonderzeichen m, m sonderzeichen, m als sonderzeichen, stripslashes rn sql, <br style=\clear: both;\ /> funktionsweise, \m sonderzeichen\

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:42 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.