Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] własny edytor php
Forum PHP.pl > Forum > Przedszkole
erugio
Witam.
Chciałbym zrobić edytor php na swojej stronie. Żeby po zalogowaniu się, można było edytować, ale również kod PHP, (HTML bez problemu zapisuje), ale po zapisie kodu PHP, do każdej lini sam dopisuje ten znak i przez to sypie się cały kod.


Kod
if($tresc = $_POST['tresc'])
{
$open = fopen($plik, 'w');
fwrite($open, $tresc);
fclose($open);
echo 'Zmiany zostaly zapisane! <a href="http://internauci.org/';
echo $_COOKIE[login];
echo '/" target="_blank">Podgląd</a><BR>';
}

echo "<CENTER>
<b>Edycja prywatnej strony</b><BR><form action="index.php?s=edycja" method="POST">
<textarea name="tresc" rows="30" cols="60">';
include $plik;
echo '</textarea><BR><input type="submit" value="zapisz"></FORM></CENTER>';
loff
Jaki to jest ten znak ? bardzo chaotyczne pytanie w moim odczuciu w sumie nie wiem z czym jest problem a tym bardziej do czego służy ten kod.

Czy to miał być warunek czy przypisanie ?
  1. <?php
  2. if($tresc = $_POST['tresc'])
  3. ?>


Tutaj przy echo na poczatku stosujesz podwójny cudzysłow a zamykasz pojedynczym - to w ogole działa ?
  1. <?php
  2. echo "<CENTER>
  3. <b>Edycja prywatnej strony</b><BR><form action="index.php?s=edycja" method="POST">
  4. <textarea name="tresc" rows="30" cols="60">';
  5. ?>


Zadaj pytanie konkretniej i opisz tak zebyśmy mogli zrozumieć z czym masz dokładnie problem bo na razie wiem ze piszesz edytor i cos nie działa bo jakis znak...
erugio
Oczywiście kod działa, tamto echo" jest pozostałością po innym elemęcie edytora, zdradzającym moją pufność. Oczywiście nie ma tego ".

Chodzi o skrytp który edytuje pliki PHP. Do <textarea> wczytuje edytowany plik.php. Po wprowadzeniu zmian, przez formularz jest wysyłana zmienna tego edytowanego tekstu.php.

Dlatego
Kod
if($tresc = $_POST['tresc'])

"Jeśli jest zczytana zmienna $tresc" to: zamienia istniejącą wersję na nową (edytowaną). To taki edytor PHP, tylko tyle, że na serwerze. W HTML sprawdza się wyśmienicie, natomiast jeśli chodzi o php to za każdą próbą zapisu, dopisuje do każdej linijki ten znak ' \ '. I przez to cały kod PHP się sypie.
Moje pytanie brzmi "co zrobić, żeby działało?" smile.gif
loff
Cytat(erugio @ 31.12.2007, 18:19:39 ) *
Dlatego
Kod
if($tresc = $_POST['tresc'])

"Jeśli jest zczytana zmienna $tresc" to: zamienia istniejącą wersję na nową (edytowaną).

Gwoli ścisłosci wg mnie to jest "jesli , przypisz zawartosc zmiennej $_POST['tresc'] do zmiennej $tresc"

Cytat(erugio @ 31.12.2007, 18:19:39 ) *
To taki edytor PHP, tylko tyle, że na serwerze. W HTML sprawdza się wyśmienicie, natomiast jeśli chodzi o php to za każdą próbą zapisu, dopisuje do każdej linijki ten znak ' \ '. I przez to cały kod PHP się sypie.
Moje pytanie brzmi "co zrobić, żeby działało?" smile.gif

Moja odpowiedź: nie mam pojęcia - niestety. Nie widzę niczego co miało by ten efekt powodowac.
erugio
Z
Kod
<?
echo "ooo";
?>


robi coś takiego:
Kod
<?
echo \"OK\";
?>

I przy następnym wczytaniu strony do edytora zwraca błąd sad.gif
phpion
Przed zapisem danych do pliku przeleć je funkcją stripslashes" title="Zobacz w manualu PHP" target="_manual i będzie ok smile.gif
erugio
Oczywiście działa. Dzięki bardzo.
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.