Edycja pliku oraz nie unikalne sesje

0

Witam serdecznie, próbuję zrobić dwie rzeczy ale po paru godzinach prób nadal nie wychodzi, szukałem na forum, na googlach i nadal nic. Chodzi mi o dwie rzeczy:

  1. Edycja pliku przez www:
    Jest strona index.php i w niej jest ramka zawartość do której jest ładowany plik np podstrona1.php i w tym pliku jest zwykły tekst oraz znaczniki typu <br /> lub <b>. Chciałbym, by osoba która się zaloguje do "panelu" mogła edytować ten plik. Użyłem tinymce ale nie umiem zrobić tak by wyświetlało pliki z folderu na serwerze i po kliknięciu na dany plik otwierało go w oknie do edycji a potem żeby jeszcze go zapisało.

  2. Logowanie, a dokładnie sesja.
    Zmodyfikowałem znaleziony panel logowania, logowanie działa bez zarzutu, każdego użytkownika przenosi na "jego stronę" (użytkownik alfa => alfapanel.php) itd. Tylko jeśli ktoś zaloguje się na użytkownika alfa, a w przeglądarce wpisze adres betapanel.php to również może zobaczyć zawartość strony a nie powinien.

Wszelkie rady lub podpowiedzi, nakierowania bądź gotowe jakieś skrypty mile widziane.

1
  1. musisz wyświetlić zawartość katalogu http://php.net/manual/en/function.readdir.php
    później pobrać jego nazwę i wpisać zawartość pliku do tinymce
    odczyt i zapisz pliku znajdziesz w googlu :)
  2. każdy użytkownik ma swój login, prawda? :) to sprawdzaj w każdym z plików, czy login jest prawidłowy, tzn czy alfapanel.php nie odwiedził user beta. W sesji zapisz sobie np jego login i porównaj.
0

dziękuję za odpowiedź :)

Z pierwszym sobie poradziłem, mam skrypt który:
a)wypisuje zawartość katalogu
b)daje możliwość edycji każdego pliku
c)po zakończeniu zapisuje do tego pliku

:)

A co do 2-go to tak, każdy użytkownik ma login, hasło, id oraz stronę (kolumny w bazie). Ale nie rozumiem zbyt tego co napisałeś. Mogę załączyć kod z tego co mam, jeśli byłbyś w stanie mi pomóc :)

1

w sesji trzymasz powiedzmy ID. w pliku robisz np:

$id_ok = 5;

if ($_SESSION['user_id'] != $id_ok) {
// cos tam, np przekierowanie na inną stronę
}

i takie coś zmieniasz umieszczasz w każdym z plików

a nawet lepiej! zrób funkcję, które podajesz 2 argumentu: id usera, który może wejść na stronę oraz id aktualnego usera i tam umieść if'a

1
  1. Najprawdopodobniej , choć może się nie zgadzać.
$fn = "podstrona1.php";
if (isset($_POST['content']))
{   //$page = "index.php";
   // $refresh = header("Refresh; url=$page");
    $content = stripslashes($_POST['content']);
    $fp = fopen($fn,"w") or die ("Error opening file in write mode!");
    fputs($fp,$content);
 //header("Refresh; url=$page");
    fclose($fp) or die ("Error closing file!");
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">
    <textarea rows="25" cols="90" name="content"><?php readfile($fn); ?></textarea><br />
    <input type="submit" value="Save" VALUE="Refresh">  
</form>

To formularz do którego się te rzeczy wpisuje.

A tu masz pobieranie tego typu danych

$myFile = "indexpage.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
 
fclose($fh);
echo $theData;
  1. Przyjmijmy że nazywasz się admin , to plik będzie taki.

<?php

$owner= // wsadź tutaj wyświetlanie nicku;

if ($owner==admin)
  echo "

 // ta cała zawartość pliku

";
else
  echo "

//Zakaz wstępu lub coś w tym stylu

";
?>

O ile mi się wydaje to powinno być prawidłowe.

0

Piękne dzięki za odpowiedzi, myślę, że już wszystko będzie działać tak jak powinno :)
Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1