Seitenquelltext auslesen und in Datenbank speichern.

mactrisha

mactrisha

Aktives Mitglied
Thread Starter
Dabei seit
27.11.2003
Beiträge
744
Reaktionspunkte
17
Hi all,

kann man mit php den html-Seitenquelltext einer Seite, die zum Beispiel "ansicht.php" heisst und auf dem Server steht auslesen und in ein mysql-Datenbank-Feld (`inhalt` text NOT NULL,) speichern? Wenn ja wie geht sowas? Ich würde am liebsten ein html-Formular gestalten, in dem die Textarea schon den aktuellen html-Seitenquelltext der Datei "ansicht.php" anzeigt und man klickt nur noch auf einen Submit-Button und trägt somit den kompletten html-Seitenquelltext in das Datenbank-Feld `inhalt` ein. Kann mir bitte jemand helfen?

Salü,
mactrisha.
 
Das sind ja zwei verschiedene Dinge, oder?
ZUm Auslesen von Dateien auf dem Server hat ja Jakob Schon was gesagt.
mactrisha schrieb:
...
Ich würde am liebsten ein html-Formular gestalten, in dem die Textarea schon den aktuellen html-Seitenquelltext der Datei "ansicht.php" anzeigt und man klickt nur noch auf einen Submit-Button und trägt somit den kompletten html-Seitenquelltext in das Datenbank-Feld `inhalt` ein.
...
Wenn ich Dich recht verstehe, möchtest Du, dass ein Besucher der Seite in einem Formular Quelltext (oder was anderes (!)) eingeben kann und durch Abschicken des Formulars einen Eintrag in einer Datenbank erzeugt. Richtig? Ansonsten kannst Du Dir den Schritt mit dem Formularfeld wohl schenken.

Dazu benötigst Du ein Skript, das die Formularfelder entgegennimmt, eine Verbindung zum MySQL Server aufbaut und dann die Daten aus den Formularfeldern mit "INSERT" in einen neuen Datensatz einträgt.

Was hast Du schon versucht?
An welcher Stelle hast Du Probleme?
 
sowas würde ich an deiner stelle lassen. da kann man böse
sachen mit machen. wenn der nutzer ahnung hat, kann er
dir mal eben deine web site unterm ars*** wegloeschen. es
sei denn der code der seiten und deiner formularfelder wird
nicht ausgeführt. ansonsten wurde ja schon alles gesagt...
 
mactrisha schrieb:
Hi all,

kann man mit php den html-Seitenquelltext einer Seite, die zum Beispiel "ansicht.php" heisst und auf dem Server steht auslesen und in ein mysql-Datenbank-Feld (`inhalt` text NOT NULL,) speichern? Wenn ja wie geht sowas? Ich würde am liebsten ein html-Formular gestalten, in dem die Textarea schon den aktuellen html-Seitenquelltext der Datei "ansicht.php" anzeigt und man klickt nur noch auf einen Submit-Button und trägt somit den kompletten html-Seitenquelltext in das Datenbank-Feld `inhalt` ein. Kann mir bitte jemand helfen?

Salü,
mactrisha.

Ich werde noch nicht ganz schlau draus was Du genau willst.
Du kannst jeden Text auslesen, weiterverarbeiten, speichern usw.
Habe hier zufällig was. :D
Die Frage ist halt für was Du das brauchst?
 
Hi all,


Danke Jakob, ich glaube, das brauche ich, ich schaue mal, ob ich das schaffe.
http://www.php.net/file

... ich werde noch nicht ganz schlau draus was Du genau willst ...
... dass ein Besucher der Seite in einem Formular Quelltext (oder was anderes (!)) eingeben kann und durch Abschicken des Formulars einen Eintrag in einer Datenbank erzeugt ...
Nicht ganz, der User soll den Quelltext nicht eingeben oder einkopieren müssen, sondern ein Script soll vorher aus der aktuellen Datei "ansicht.php" den html-Quelltext auslesen, ihn in der Formular-Textarea schon automatisch darstellen und wenn man auf senden klickt, dann soll der gesamte html-Quelltext der Seite in ein bestimmtes Datenbankfeld eingetragen werden. In meinem Script fehlt mir das Auslesen des html-Quelltextes noch.

... dazu benötigst Du ein Skript, das die Formularfelder entgegennimmt, eine Verbindung zum MySQL Server aufbaut und dann die Daten aus den Formularfeldern mit "INSERT" in einen neuen Datensatz einträgt ...
Diesen Teil des Scriptes habe ich schon funktionsfähig.

... sowas würde ich an deiner stelle lassen ...
Es ist ein geschlossener Bereich, in den nur der Betreiber der Website Zugang hat, kein externer User.

Danke so long, ich schau mal, wie weit ich komme.

Salü,
mactrisha.
 
Yo,

fänd's interessant, was das ganze machen soll. Schreib doch bitte kurz, warum der Quelltext in die DB kommt. Kann der Admin so Änderungen an der Seite machen?
Warum nicht mit Templates?

Viel Glück!
 
mactrisha schrieb:
...
Nicht ganz, der User soll den Quelltext nicht eingeben oder einkopieren müssen, sondern ein Script soll vorher aus der aktuellen Datei "ansicht.php" den html-Quelltext auslesen, ihn in der Formular-Textarea schon automatisch darstellen
...
Zwei Dinge sind mir noch unklar:
1. Soll der Inhalt der php-Datei angezeigt werden oder soll die Datei geparsed werden und der resultierende html-Quelltext angezeigt werden?
2. Warum soll der Text in einem Formularfeld angezeigt werden, wenn der Benutzer keine Eingaben machen soll?
 
Hi all,

... geparsed werden und der resultierende html-Quelltext angezeigt werden ...

ja, genau, ich habe es so gemacht:

PHP:
<?php
.
.
.

if ($_POST["einlesen"]) {

	$lesen = implode('', file('http://www.irgendwas.de/ansicht.php'));
	$inhalt = addslashes($lesen);

	$host = "";
	$user = "";
	$passwort = "";
	$dbname = ";
	$tabname = "";
	$verbindung = mysql_connect ($host, $user, $passwort);

	$wert = "UPDATE $tabname Set inhalt = '$inhalt' WHERE irgendwas = 'irgendwas'";	
.
.
.
?>

Ohne addslashes trägt sich nichts in die Datenbank ein. Das mit der Anzeige des html-Quellcodes in einer Formular-Textarea hat auch geklappt, das habe ich aber dann verworfen.

... warum nicht mit Templates ...
Bei meiner Datei ansicht.php handelt es sich ja um ein Template, das schon individuellen und dynamischen Inhalt enthält.

Ich habe das Script jetzt so, wie ich es mir vorgestellt habe und es arbeitet ...

Danke,
mactrisha.
 
Du musst nur aufpassen was mit den Sonderzeichen passiert. Aber im Notfall gibts ja einen einfachen Befehl dafür. :D
 
Ja, denk an das richtige text encoding. Im HTML-Dokument (vom Formular) mit <meta> tag und auch in der DB. Bei MySQL ist glaub ich ISO-8859-1 Standard.
Ansonsten werden Dir etwaige Sonderzeichen zerhauen.

Einen Befehl wie htmlentities o.ä. kannst Du nicht anwenden, weil dann auch die spitzen Klammern von Tags verwandelt werden (&lt;html&rt;). Du könntest aber ne kleine Funktion schreiben, dass ä,ö,ü automatisch in ihre Entities verwandelt werden.
 
ThaHammer schrieb:
... mit den Sonderzeichen ...

Hi ThaHammer und Jakob,

das Meta-Tag ISO ... ist gesetzt und der Quelltext der Seite ist ja schon ein Quelltext, in dem ein "ü" so aussieht &uuml;

Salü,
mactrisha.
 
Zurück
Oben Unten