php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 29-09-2009, 15:48
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

okay, ich gebe Dir recht

kannst Du mir sagen, wie ich sowas verhindern kann?
Mit Zitat antworten
  #17 (permalink)  
Alt 30-09-2009, 07:57
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Verhindern kannst du es, indem du einfach alles, was über $_GET, $_POST und $_FILES reinkommt als böse betrachtest und sorgfältig prüfst. Wie genau diese Prüfung erfolgen muss, hängt vom Einzelfall ab.

Stichwörter: XSS, SQL Injection, htmlspecialchars, mysql_real_escape_string
Mit Zitat antworten
  #18 (permalink)  
Alt 06-10-2009, 12:43
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

Merci )

werde mich auf jeden Fall damit beschäftigen )
Mit Zitat antworten
  #19 (permalink)  
Alt 07-10-2009, 14:14
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Question

weiterführende Problematik:

PHP-Code:
$ueberschrift "<strong class='silver'>".$ueberschrift."</strong><br />";
$p_ende "</p>";
 
$text stripslashes($inhalt); // Beispiel
$text preg_replace("!^\s*([^<]+)!""<p class='absatz1'>\\1"$text);
$text $text.$p_ende;
$text preg_replace("!^\s*<p([^>]*)>!""<p\\1>" $ueberschrift$text);
 
echo 
$text
folgendes funktioniert nicht (Begründung unter dem Code)
PHP-Code:
$text preg_replace("!^\s*([^<]+)!""<p class='absatz1'>\\1</p>"$text); 
Hier wird zwar der p-Tag gesetzt, allerdings wird das End-Tag auch nach einem <br /> gesetzt und nicht erst am Ende der einzulesenden Textdatei.

Daher die Lösung über:
PHP-Code:
$p_ende "</p>";
$text preg_replace("!^\s*([^<]+)!""<p class='absatz1'>\\1"$text);
$text $text.$p_ende
Hier ist jetzt allerdings folgende Kuriosität: Er setzt mir jetzt folgenden Code als Ausgabe zusammen wenn meine Textdatei schon über <p class='absatz1'>Text</p> verfügt.
PHP-Code:
<class='absatz1'>Mein Text bis zum Ende</p>
<
p></p
Ich habe keinen Schimmer wo das <p></p> herkommt. Dadurch wird meine ganze Ausgabe "versaut".

Hat mein Ursprungstext keinen p-Tag, funktioniert es korrekt, also ohne das mir hinterher <p></p> geschrieben wird.

Hat jemand eine Idee woran es liegen könnte???

Danke schon einmal im Vorraus,
Mira

PS: Habe gerade festgestellt, dass der Fehler nur im IE auftaucht. Im FF kurioserweise nicht.

Geändert von Miranda (07-10-2009 um 14:33 Uhr)
Mit Zitat antworten
  #20 (permalink)  
Alt 07-10-2009, 14:37
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Miranda Beitrag anzeigen
PS: Habe gerade festgestellt, dass der Fehler nur im IE auftaucht. Im FF kurioserweise nicht.
Das wäre ja gar nicht möglich, wenn es ein reines PHP-Problem wäre.

Dann müssen sich wohl schon die Eingangsdaten unterscheiden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #21 (permalink)  
Alt 07-10-2009, 14:53
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

Die Eingangsdaten sind identisch. Die Überschrift kommt aus der Datenbank, der dazugehörende Text aus einer Textdatei die eingelesen wird.

Das ganze sieht zum Schluß ungefähr so aus:

Hauptüberschrift

Zweitüberschrift
Text aus der Textdatei: Bla bla bla

nächste Zweitüberschrift
Text aus der nächsten Textdatei: Bla bla bla

~~~~~~~~~~~~~~~

die Ausgabe in Codeform im FF:

PHP-Code:
<h4>Hauptüberschrift</h4>
 
<
class="absatz"><strong>Zweitüberschrift</strong><br />
Text aus der TextdateiBla bla bla</p>
 
<
class="absatz"><strong>nächste Zweitüberschrift</strong><br />
Text aus der nächsten TextdateiBla bla bla</p

die Ausgabe in Codeform im IE:

PHP-Code:
<h4>Hauptüberschrift</h4>
 
<
class="absatz"><strong>Zweitüberschrift</strong><br />
Text aus der TextdateiBla bla bla</p>
<
p></p>
 
<
class="absatz"><strong>nächste Zweitüberschrift</strong><br />
Text aus der nächsten TextdateiBla bla bla</p>
<
p></p
Mit Zitat antworten
  #22 (permalink)  
Alt 07-10-2009, 14:56
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo Mira,

darf ich mal anmerken, dass du das ganze Problem gar nicht hättest, wenn du vernünftiges HTML generieren würdest?

Dein
HTML-Code:
<p><strong>Überschrift</strong><br />...</p>
ist doch nichts anderes als ein verkorkstes
HTML-Code:
<h5>Überschrift</h5><p>...</p>
(Ich hab h5 genommen, weil du vorher bereits von h4 gesprochen hast)

Gruß,

Amica
Mit Zitat antworten
  #23 (permalink)  
Alt 07-10-2009, 15:10
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

ich hätte liebend gern ein anderes H-Tag genommen.

Aber in der Ausgabe mit einem H-Tag sähe es ja so aus:

H4 Hauptüberschrift

H5 Zweitüberschrift

Text aus der Textdatei

~~~~~~~~~~~~~~~~

Ich brauche aber entweder:

H4 Hauptüberschrift

Zweitüberschrift
Text aus der Textdatei

~~~ oder

H4 Hauptüberschrift

Zweitüberschrift Text aus der Textdatei

~~~~~~~~~~

so weit ich das richtig sehe, bricht der H-Tag am Ende die Zeile um und setzt einen kleinen Zwischenraum. Gut, den Zwischenraum könnte ich per CSS wegnehmen, aber den Umbruch eben nicht.

Oder sehe ich das falsch?

Somit muss der Code am Ende eben so aussehen:
PHP-Code:
<p><strong>Zweitüberschrift</strongText aus der Textdatei</p
Mit Zitat antworten
  #24 (permalink)  
Alt 07-10-2009, 15:21
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Den Umbruch kannst du auch wegnehmen:

Code:
h5 { float: left; clear: left; }
Mit Zitat antworten
  #25 (permalink)  
Alt 07-10-2009, 15:23
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Miranda Beitrag anzeigen
so weit ich das richtig sehe, bricht der H-Tag am Ende die Zeile um und setzt einen kleinen Zwischenraum. Gut, den Zwischenraum könnte ich per CSS wegnehmen, aber den Umbruch eben nicht.

Oder sehe ich das falsch?
Ja, tust du.

Den HTML-Code solltest du unabhängig davon erstellen, wie es später einmal genau aussehen soll.
Zuerst wird das HTML erstellt, das den Inhalt möglichst sinnvoll auszeichnet - dazu gehört, für Überschriften Hx-Elemente zu nehmen, und nicht irgendwas anderes.

Und anschliessend wird das ganze wie gewünscht mit CSS formatiert.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #26 (permalink)  
Alt 07-10-2009, 16:30
Miranda
 Registrierter Benutzer
Links : Onlinestatus : Miranda ist offline
Registriert seit: Sep 2009
Ort: Berlin
Beiträge: 64
Miranda befindet sich auf einem aufstrebenden Ast
Standard

so ähnlich arbeite ich doch auch. Ich erstelle mir die Seite in html so, wie sie am Ende aussehen soll und beginne erst dann meine externen Daten an die richtige Stelle zu packen.

@Amica

Ehrlich gesagt löst aber das mein Problem nicht wirklich. Egal ob ich nun H5 mit CSS verändere oder nicht. Der p-Tag bringt ja auch Eigenschaften mit sich (die ich auch behalten möchte). Unter anderem auch einen Zeilenumbruch.

Bsp. mit angepasstem H5

<h5>Zweitüberschrift</h5><p>Text aus Textdatei</p>

würde ja dann auch so aussehen:
~~~~~~~~~~~~~~
Zweitüberschrift

Text aus Textdatei
~~~~~~~~~~~~~~

Ich brauche aber eine Ausgabe ohne Zwischenraum zwischen den Zeilen bzw. den Text der Textdatei gleich hinter der "Zweitüberschrift"

von daher muss der Code eben so aussehen, dass der p-Tag vor der "Zweitüberschrift" beginnt, was ja auch kein Problem mehr ist. Entweder ich lasse ihn schreiben, oder er existiert schon.

Das einzige "kuriose" Problem ist halt im IE das <p></p>
Mit Zitat antworten
  #27 (permalink)  
Alt 07-10-2009, 16:53
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Miranda Beitrag anzeigen
so ähnlich arbeite ich doch auch. Ich erstelle mir die Seite in html so, wie sie am Ende aussehen soll
Genau das ist ja das falsche.

Das HTML-Dokument - das erstellt man nicht so, wie es später mal aussehen soll.
Sondern so, dass es die Struktur der Inhalte bestmöglich auszeichnet.

"Aussehen" kommt erst anschliessend als interessanter Faktor in Betrachtung - bei der Anwendung von CSS.

Zitat:
Bsp. mit angepasstem H5

<h5>Zweitüberschrift</h5><p>Text aus Textdatei</p>

würde ja dann auch so aussehen:
~~~~~~~~~~~~~~
Zweitüberschrift

Text aus Textdatei
~~~~~~~~~~~~~~

Ich brauche aber eine Ausgabe ohne Zwischenraum zwischen den Zeilen bzw. den Text der Textdatei gleich hinter der "Zweitüberschrift"
Und wo genau ist bei einem der beiden jetzt das Problem?

Abstände regelst du über margin, und die Darstellung als einen eigenen Block bildendes Element unterbindest du mittels display oder float.

Zitat:
von daher muss der Code eben so aussehen, dass der p-Tag vor der "Zweitüberschrift" beginnt
Nein, muss er nicht.

Das einzig relevante "von daher" ist, zum Zeitpunkt der Erstellung des HTML-Codes, die Struktur der Daten.
Und wenn in denen etwas mit der Bedeutung einer (Zwischen-)Überschrift vorliegt, dann wird es im HTML auch als solche ausgezeichnet, und Textabsätze kommen dann dahinter, nicht drumherum.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
textteil auslesen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Helligkeit eines Bildes auslesen timste PHP Developer Forum 3 01-08-2009 22:11
Problem mit auslesen eines Ordners Schneggo PHP Developer Forum 12 10-03-2005 09:00
tägliches auslesen eines rss-newsfeeds derNickPicker XML 1 08-01-2005 15:09
Frage zum Auslesen eines Verzeichniss merlin_76 PHP Developer Forum 3 08-04-2004 17:50
Länge eines Strings auslesen chefdesigner PHP Developer Forum 3 30-10-2003 12:25

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:16 Uhr.