online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon manwe vom 25.05.2019, 08:00 Options

Mit PHP textdatei online bearbetien

Hallo zusammen

ich hoffe ihr könnt mir helfen.
Ich möchte eine webseite machen, wo man eine textdatei (txt .. html wie auch immer) auslesen und bearbeiten kann.

diesen code habe ich schon, funktioniert aber noch nicht.
savemode hatte ich schon on und off
die dateien haben beide rechte: 777

1: <?
2: $dateiname = "datei.txt";
3: if ($speichern) {
4: $fp = fopen("$dateiname", 'w');
5: $edit = $edit."";
6: fputs($fp, $edit, strlen($edit));
7: fclose($fp);
8: }
9:
10: if (!$speichern) {
11: $fp = fopen("$dateiname",'rb');
12: $file = fread($fp,filesize("$dateiname"));
13: fclose($fp);
14:
15: }
16:
17:
18:
19: ?>
20:
21:
22: <form action="<? echo $PHP_SELF; ?>" method="post" onSubmit="return check()">
23: Datei bearbeiten:<p>
24: <textarea name="edit" cols="75" rows="30"><? echo $file; ?></textarea>
25: <input type="hidden" name="speichern" value="ok">
26: <p><input type="submit" value="Editieren"><p>
27: </form>
28:
29:


vielen dank schonmal an alle.

mfg
manwe


Antwort schreiben

Antwort 1 von Supermax vom 25.05.2019, 08:33 Options

Kann sein daß bei deinem PHP register_globals auf Off ist; in diesem Fall kannst du auf die Formulardaten nur über die Arrays
$_POST
bzw.
$_GET
zugreifen.

also statt $edit => $_POST['edit'], $speichern => $_POST['speichern']

Wegen der damit verbundenen Sicherheitsrisiken sollte register_globals in neuen Scripts nicht mehr eingesetzt werden; ab ich glaube PHP 4.2 ist es standardmäßig deaktiviert.

Antwort 2 von manwe vom 25.05.2019, 08:58 Options

Hi

recht herzlichen dank schonmal, also muss es so aussehen, oder?:

3: if ($_POST['speichern']) {
4: $fp = fopen("$dateiname", 'w');
5: $edit = $_POST['edit']."";
6: fputs($fp, $edit, strlen($edit));
7: fclose($fp);
8: }
9:
10: if (!$_POST['speichern']) {


mfg
manwe

Antwort 3 von mr.checker vom 04.06.2019, 12:21 Options

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ADMINISTRATION</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel='SHORTCUT ICON' href='icon.ico'>
</head>
<body>

<form action="admin.php" method="POST">

Zu bearbeitende ID:<br>
<input type="text" name="ID"><br>Passwort:<br><input type="password" name="pass"><br><input type="submit" value="OK" name="button">

</form>


<?php
$button=$_POST['button'];
$id=$_POST['ID'];
$pass=$_POST['pass'];
$content=$_POST['content'];
$change=$_POST['change'];


if($button&&$pass=="PASSWORT"&&$id!=""){$file=fopen("$id","r");$inhalt=fread($file,filesize("$id"));echo"<form method=\"POST\" action=\"admin.php\"><textarea rows=\"30\" cols=\"100\" name=\"content\">$inhalt</textarea><br>Ziel ID:<br><input type=\"text\" value=\"$id\" name=\"id2\"><input type=\"password\" name=\"confpass\"><br><input type=\"submit\" value=\"Speichern\" name=\"change\">";fclose($file);};




$text=$_POST['content'];
$change=$_POST['change'];
$fileid2=$_POST['id2'];
$confpass=$_POST['confpass'];

<?php

$text=str_replace("\\\"","\"",$text);
$text=str_replace("\'","'",$text);



$text=str_replace("\\\\","\\",$text);


$text=str_replace("ä","&auml;",$text);
$text=str_replace("ö","&ouml;",$text);
$text=str_replace("ü","&uuml;",$text);

$text=str_replace("ß","&szlig;",$text);

$text=str_replace("Ä","&Auml;",$text);
$text=str_replace("Ö","Ouml;",$text);
$text=str_replace("Ü","&Uuml;",$text);

?>

if($change&&md5($confpass)=="PASSWORT"){$filewrite=fopen("$fileid2","w+");fwrite($filewrite,$text);fclose($filewrite);echo"<script language=\"javascript\" type=\"text/javascript\">alert(\"Gespeichert!\");</script>";};

?>

</body>
</html>


Diesen Quelltext benzutze ich hier im Beispiel ist das passwort "PASSWORT". Du gibst in das formular, das du zuerst siehst die tu bearbeitende datei ein (muss nicht existieren [du bekommst dann zwar fehlermeldungen, die kannst du aber ignorieren]) und das passwort. Dann erhältst du ein formular das den inhalt der datei anzeigt. (die html tags für äöüß werden automatisch amgewanldelt, sowohl beim öffnen als auch beim spiechern). unten drunter steht das ziel in einem formularfeld und rechts daneben musst du das passwort zum speichern eingeben. Probier's am besten einfach mal auf und lass' mich wissen, ob du damit zurechtkommst.

Viele Grüße, Thomas

Antwort 4 von mr.checker vom 04.06.2019, 14:44 Options

Sry, habe gerade einen Fehler entdeckt. Unten noch einmal die richtige version:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ADMINISTRATION</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel='SHORTCUT ICON' href='icon.ico'>
</head>
<body>

<form action="admin.php" method="POST">

Zu bearbeitende ID:<br>
<input type="text" name="ID"><br>Passwort:<br><input type="password" name="pass"><br><input type="submit" value="OK" name="button">

</form>


<?php
$button=$_POST['button'];
$id=$_POST['ID'];
$pass=$_POST['pass'];
$content=$_POST['content'];
$change=$_POST['change'];


if($button&&$pass=="PASSWORT"&&$id!=""){$file=fopen("$id","r");$inhalt=fread($file,filesize("$id"));echo"<form method=\"POST\" action=\"admin.php\"><textarea rows=\"30\" cols=\"100\" name=\"content\">$inhalt</textarea><br>Ziel ID:<br><input type=\"text\" value=\"$id\" name=\"id2\"><input type=\"password\" name=\"confpass\"><br><input type=\"submit\" value=\"Speichern\" name=\"change\">";fclose($file);};




$text=$_POST['content'];
$change=$_POST['change'];
$fileid2=$_POST['id2'];
$confpass=$_POST['confpass'];

<?php

$text=str_replace("\\\"","\"",$text);
$text=str_replace("\'","'",$text);



$text=str_replace("\\\\","\\",$text);


$text=str_replace("ä","&auml;",$text);
$text=str_replace("ö","&ouml;",$text);
$text=str_replace("ü","&uuml;",$text);

$text=str_replace("ß","&szlig;",$text);

$text=str_replace("Ä","&Auml;",$text);
$text=str_replace("Ö","Ouml;",$text);
$text=str_replace("Ü","&Uuml;",$text);

?>

if($change&&$confpass=="PASSWORT"){$filewrite=fopen("$fileid2","w+");fwrite($filewrite,$text);fclose($filewrite);echo"<script language=\"javascript\" type=\"text/javascript\">alert(\"Gespeichert!\");</script>";};

?>

</body>
</html>

Antwort 5 von Supermax vom 04.06.2019, 15:44 Options

Statt dem str_replace() könntest du auch einfach htmlentities() verwenden.

Antwort 6 von mr.checker vom 04.06.2019, 16:09 Options

Ich hab's zwar noch nicht getestet, aber ich glaube, dass es in diesem fall nicht so funktionieren würde, wie ich will.. wenn ich z.b. andere sonderzeichen wie &copy; verwenden möchte würde das wohl durch &amp;copy; erstezt werden...

Ähnliche Themen

Wie kann man ein gescanntes Dokument in eine Textdatei umwandeln?
Ucky  15.05.2007 - 132 Hits - 5 Antworten

gescannter Briefes in eine Textdatei umwandeln
Sue_S.  15.05.2008 - 74 Hits - 20 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026