Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Panel Administracyjny. Edycja plików.
Kaiba Ziom
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Witam, robie pod własną strone panel admina i chce zrobić tam coś takiego że jak wejde w:
Panel=>Modyfikuj=>index.php
To moge zedytować cały index.php .
Tzn:
Pojawia się takie okienko , naprzykład takie w jakim pisze się posty na forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
A w nim cała zawartość indexu.php i moge to zedytować i zapisać. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mam jeszcze jedną prośbe.
Jak wchodze w :
Panel=>Modyfikuj=>config.php
To w config.php mam zmienne typu:
  1. <?php
  2. $title = 'Tytuł strony'
  3. ?>



To też chce zedytować .
$title jest w linijce numer 3.
Chce żeby to wyglądało następująco:
Tytuł: [Okno] a w nim zawartość $title.
I też jak zedytuje to jest przycisk zapisz.

Z góry dziękuje za pomoc. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ))
Jestem początkującym web masterem w php więc proszę o ścisłe wytłumaczenie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Pozdrawiam
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


file_get_contents
i to co pobierzesz ta funkcja wrzucasz w pole textarea i modyfikujesz potem uzyj funkcji
fwrite

poczytaj i zacznij cos sam robic. jak natrafisz na problem to pokaz kod
Go to the top of the page
+Quote Post
Turgon
post
Post #3





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


skowron: Lepiej file_put_contents. Mniej kodu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Fajnie (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) Tyle że nic nie rozumiem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .
Może jakiś skrypt?
Go to the top of the page
+Quote Post
Turgon
post
Post #5





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Manual php.net :-) Ale żeby nie było dam też przykład.
  1. <?php
  2. if(isset($_POST['file'])) file_put_contents('config.php',$_POST['file']);
  3. $file = file_get_contents('config.php');
  4. print '<form method="POST"><textarea name="file">'.$file.'</textarea><input type="submit" /></form>';
  5. ?>

Nie testowałem, więc nie ręczę, że działa.
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Działa ale nie wszystko (IMG:http://forum.php.pl/style_emoticons/default/tiredsmiley.gif) .
Okno jest 100x20 -.- , a jak klikne submit to wyskakuje błąd w linii numer 2.
  1. <?php
  2. if(isset($_POST['file'])) file_put_contents('index.php',$_POST['file']);
  3. $file = file_get_contents('index.php');
  4. print '<form method="POST"><textarea width="900" height="100%" name="file">'.$file.'</textarea><input type="submit" /></form>';
  5. ?>

Ustawiłem width ale dalej tak samo małe okienko :/.
Zrobiłem coś takiego:
  1. <?php
  2. print '<center>';
  3. if(isset($_POST['file'])) file_put_contents('index.php',$_POST['file']);
  4. $file = file_get_contents('index.php');
  5. echo '<form method="POST"><textarea style="width: 1000px; height: 1000px" name="file">'.$file.'</textarea><br><input type="submit" value="Zapisz" /></form>';
  6. print '</center>';
  7. ?>

Chodzi wszystko oprócz zapisz (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) .

Ten post edytował Kaiba Ziom 10.03.2007, 19:12:04
Go to the top of the page
+Quote Post
Turgon
post
Post #7





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Chłopcze, kurs http://kurs.browsehappy.pl i dopiero mi tutaj ze skargami przychodź. Z resztą piszę. Skryptu nie testowałem.
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #8





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Wiem że nie testowałeś :S.
Ale wywala błąd w 3 linijce jak daje zapisz.
Go to the top of the page
+Quote Post
Turgon
post
Post #9





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Ja nie jasnowidz, więc błędu nie odgadnę. Może go pokażesz ?
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #10





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Fatal error: Call to undefined function: file_put_contents() in D:\INTERNET\WebServ\httpd\ntibia\admin.php on line 3
Go to the top of the page
+Quote Post
Turgon
post
Post #11





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


A jaką masz wersję PHP ? Podpowiadam php_info();
Go to the top of the page
+Quote Post
kwiateusz
post
Post #12


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




a ja ze ta funkcja jest w php 5 i wyżej... jak masz starsza to upgraduj, albo pobaw sie z fwrite itp.
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #13





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Chodzi ale jak zapisuje robi mi głupoty z pliku ://.
przykład:
Normalnie:
  1. <?php include"./menu/items.php" ?>

Po Zapisaniu
  1. <?php include\\\"./menu/items.php\\\" ?>



  1. <?php
  2. print '<center>';
  3. if(isset($_POST['file'])) file_put_contents('index.php',stripslashes($_POST['file']));
  4. $file = file_get_contents('index.php');
  5. echo '<form method="POST"><textarea style="width: 500px; height: 500px" name="file">'.$file.'</textarea><br><input type="submit" value="Zapisz" /></form>';
  6. print '</center>';
  7. ?>

Mam coś takiego , a teraz jak zrobić aby pobierał z index.php z linii numer 3?
W linii 3 mam zmienną $title .
  1. <?php
  2. print '<center>';
  3. if(isset($_POST['file'])) file_put_contents('index.php',stripslashes($_POST['file']));
  4. $plik=file("index.php");
  5. $wpis="$title=".$wartosc;
  6. for ($i=0; $i<count($plik)); $i++)
  7. If ($i!=3) fwrite($zapis, $plik[$i]);
  8. else fwrite($zapis, $wpis."rn");
  9. echo '<form method="POST"><textarea style="width: 500px; height: 500px" name="file">'.$wpis.'</textarea><br><input type="submit" value="Zapisz" /></form>';
  10. print '</center>';
  11. ?>

Mam coś takiego ale nie chodzi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) .
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
  1. <?php
  2. $wpis="$title=".$wartosc;
  3. ?>

Zwróć uwagę na cudzysłowy: http://pl.php.net/manual/pl/language.variables.php

PS. Stosuj klamerki do konstrukcji warunkowych. Zawsze (IMHO) czytelniej będzie.

Tak nawiasem, dlaczego nie skorzystasz z preg_replace" title="Zobacz w manualu PHP" target="_manual? Przynajmniej nie będziesz uzależniony od "fizycznego" położenia linijek z danymi.
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #15





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Szczerze mówiąc to nie za bardzo umie ://.
Pomóżcie ;>.
  1. <?php
  2. $wpis = "$title=" $wartosc;
  3. ?>

Tak? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował Kaiba Ziom 11.03.2007, 09:32:56
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




nie...
Gdybyś uważnie przeczytał to, co jest napisane na zalinkowanej stronie manuala, to byś zauważył, że:
  1. <?php
  2. $wpis = "$title=".$wartosc;
  3. ?>

to jest co innego niż
  1. <?php
  2. $wpis = '$title='.$wartosc;
  3. ?>
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #17





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


  1. <?php
  2. print '<center>';
  3. if(isset($_POST['file'])) file_put_contents('index.php',stripslashes($_POST['file']));
  4. $plik=file("index.php");
  5. $wpis = '$title='.$wartosc;
  6. for ($i=0; $i<count($plik)); $i++)
  7. If ($i!=3) fwrite($zapis, $plik[$i]);
  8. else fwrite($zapis, $wpis."rn");
  9. echo '<form method="POST"><textarea style="width: 500px; height: 500px" name="file">'.$wpis.'</textarea><br><input type="submit" value="Zapisz" /></form>';
  10. print '</center>';
  11. ?>

bład w linii 14
:
  1. <?php
  2. for ($i=0; $i<count($plik)); $i++)
  3. ?>

Parse error: parse error, unexpected ')', expecting ';' in
://
Zmieniłem na :
  1. <?php
  2. for ($i=0; $i<count($plik); $i++)
  3. ?>


Teraz wywala błąd w linii 15
Warning: fwrite(): supplied argument is not a valid stream resource in

  1. <?php
  2. else fwrite($zapis, $wpis."rn");
  3. ?>


teraz juz nie wiem :s

Ten post edytował Kaiba Ziom 11.03.2007, 16:54:53
Go to the top of the page
+Quote Post
erix
post
Post #18





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A plik czym otwierasz? Nie widzę żadnej linijki z fopen" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
Kamson
post
Post #19





Grupa: Zarejestrowani
Postów: 57
Pomógł: 3
Dołączył: 23.10.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function file_put_contents($n,$d) {
  3. $f=@fopen($n,"w");
  4. if (!$f) {
  5.  return false;
  6. } else {
  7.  fwrite($f,$d);
  8. fclose($f);
  9.  return true;
  10. }
  11. }
  12. ?>


jak masz php starsze jak 5 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

potem kod Turgon'a działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #20





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Dawno mnie nie było (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) .
  1. <?php
  2. function file_put_contents($n,$d) {
  3. $f=@fopen($n,"w");
  4. if (!$f) {
  5.  return false;
  6. } else {
  7.  fwrite($f,$d);
  8. fclose($f);
  9.  return true;
  10. }
  11. }
  12. print '<center>';
  13. if(isset($_POST['file'])) file_put_contents('index.php',stripslashes($_POST['file']));
  14. $plik=file("index.php");
  15. $wpis = '$title='.$wartosc;
  16. for ($i=0; $i<count($plik); $i++)
  17. If ($i!=3) fwrite($zapis, $plik[$i]);
  18. else fwrite($zapis, $wpis."rn");
  19. echo '<form method="POST"><textarea style="width: 500px; height: 500px" name="file">'.$wpis.'</textarea><br><input type="submit" value="Zapisz" /></form>';
  20. print '</center>';
  21. ?>

Bład :

Fatal error: Cannot redeclare file_put_contents() in D:\INTERNET\WebServ\httpd\ntibia\admin.php on line 11
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 02:24