Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mega system administracji
Forum PHP.pl > Forum > PHP
intol
Chcialem napisać mega system administracji. Chodzi o to że na stronie zamieścił bym plik np. administracja.php. Aby rozpocząć aministrację trzeba by się było oczywiście zalogować biggrin.gif . Następnie skrypt wczytywał by (oczywiście z zastosowaniem funkcji htmlentites) do textarea(na zasadzie formularza) dowolny plik z serwera do edycji. Teraz mógłbym sobie dowolnie grzebać w pliku, a następnie zapisać go w zmienionej formie.

Napisałem coś podobnego, ale po wczytaniu np. dokumentu index.txt (który później includuje do skryptu index.php który wyświetla stronę) i nawet bez robienia zmian, skrypt przy zapisywaniu dodaje do końca dokumentu jakieś "niewidoczne znaczniki" i później przy ładowaniu strony index.php wyświetla mi błąd "parase error" i podaje "on line" i tu linijka znajdująca się poza treścią pliku index.php (czyli ostatnia linia zawartości pliku index.txt). Dodam że plik index.php jest napisany na pewno prawidłowo.

Trochę dużo tego ale może ktoś załapie o co chodzi :?: :idea: biggrin.gif
scanner
ja załapałem - chyba.
jak dla mnie w includoiwanym pliku masz jakiś fragment, który zostaje zinterpretowany przez parser i rozwala resztę skryptu.

Jak dla mnie powinienes zrezygnowac z [manual:4cc45b29a3]include()[/manual:4cc45b29a3] na rzecz [manual:4cc45b29a3]file()[/manual:4cc45b29a3] i innych funkcji pokrewnych.
LeWaR
Chyba on chce zrobić edytor php via www...
Ztąd ten include.
Seth
intol: prosze dostosowac podpis do wymagan regulaminu.
spenalzo
Cytat
wyświetla mi błąd "parase error" i podaje "on line" i tu linijka znajdująca się poza treścią pliku index.php (czyli ostatnia linia zawartości pliku index.txt).

To wygląda tak, jakby gdzieś brakowało lub była zbędna klamra.
intol
Cytat
To wygląda tak, jakby gdzieś brakowało lub była zbędna klamra.
Błąd podaje na samym koncu pliku, chodzi miejwięcej o coś takiego:
Kod
tutaj jakieś cośtam
i tutaj błąd. Może jakieś znaki tabulacji?questionmark.gif

Cytat
Chyba on chce zrobić edytor php via www...  
Ztąd ten include.
Poniekąd owszem. Nie chce mi się pisać wszelakich modułow administracji....

Kod
Jak dla mnie powinienes zrezygnowac z include() na rzecz file() i innych funkcji pokrewnych.
W miarę możliwości prosił bym o jakiś przykład.


A swoją drogą, może istnieją jakieś gotowe skrypty tego rodzaju?questionmark.gif W google chyba nie mam co szykać pod hasłem total admin....? :wink:
?>[/php]
Piotr Mederak
No to po kolei (ja w ten sposob wszelkie pliki konfiguracyjne na swoich stronach sobie modyfikuje smile.gif ):

[php:1:55b1deaa2b]<?php
if(!$_POST[config] || strlen($_POST[config])<100)
{
// zczytujemy zawartosc pliku config.php
$config_file = file($CONFIG[dirs][system]."config.php");
if(!$config_file)
$body .= "Nie moge odczytac pliku <b>config.php</b>!";

$txt = join($config_file, "");

$body = "
<form action="$_SERVER[PHP_SELF]" method="POST">
<textarea style="width: 100%;height:500px; font-size: 11px; font-family: Monospace" name="config">$txt</textarea>
<br>
<input type="submit" class="submit" value="Zapisz">
</form>
";
}
else
{
// czyscimy zmienna
$tresc = stripslashes($_POST[config]);
$tresc = preg_replace("/rn/", "n", $tresc);

$f = fopen($CONFIG[dirs][system] . "config.php", "w");
flock($f, 2);
fwrite($f, $tresc);
flock($f, 3);
fclose($f);

$body = "Zmiany dokonano pomyslnie.<br>
<br>
<br>
<a href="$_SERVER[PHP_SELF]">Wroc do edycji pliku config.php</a>";
}
?>[/php:1:55b1deaa2b]
intol
Dzięki za odpowiedź biggrin.gif Przetestuje to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.