Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przypisywanie atrybutow redaktorom w serwisie newsow
Forum PHP.pl > Forum > Przedszkole
malakacrys
Witajcie jestem tu nowy ale staram sie poznac tajniki php i potrzebuje waszej pomocy. Pisze serwis newsow mam juz wyswietlanie dodawanie i edytowanie wpisow. Kazdy redaktor dopisuje newsy do swojego pliku. Pliki sa wyswietlane w kolejnosci czytania plikow z katalogu czyli kolejno w kolejnosci dodania pliki sa wyswietlane na stronie.

Chcialbym aby redaktorzy mieli inne prawa dostepu do serwisu. Czyli jeden moze tylko czytac drugi moze czytac i dodawac a trzeci czytac dodawac i usuwac dla przykladu. Jak to zrobic nie mam pojacia winksmiley.jpg Mama nadzieje ze ktos mi podpowie
Pomozcie.
crys
Kinool
zapewnie masz tez jakies logowanie dla tego systemu newsow czy nie??

jasli nie no to jest to podstawa! jak juz masz logowanie czyli sprawdzanie loginu i hasla, dodajesz jeszcze jedna opcje jak status. Status to np liczba 0, 1, 2 itp.

jak user sie luguje sprawdzasz jaki ma przypisany status i na podstawie statusy wyswietlasz odpowiednie buttony (linki), oczywiscie przy ew. operacjach, dodawania, usuwanie itp. tez sparawdzasz status czy dany user moze je wykonywac.

nie wiem czy zbyt jasno to opisalem bo niewiem na jakim poziomie znasz php wiec napisz czy rozumiesz co do cibie mowie smile.gif
malakacrys
Mam logowanie ale bylo ono raczej najprostsze z mozliwych juz wiem teraz ze sie nie nadaje , jaka metoda logowania najlepiej rozwiazac ten problem mozesz podac jakis algorytm smile.gif questionmark.gif Narazie mocno sie ucze jezyka i nie jest to zbyt proste zeby zrobic wszytsko naraz ale jezeli mozecie podac jakies wskazowki zebym dzialal w dobra strone to bede wdzieczny.
Kinool
zapewnie wszelkie informacje przechowujesz w plikach a nie w bazie (na poczatek wystarczy), sam skrypt do logowanie nie jest trudny, oczywiscie wszystko zalezy od stopnia jego zaawansowania ale taki przykladowy (wystarczajacy dla twoich mozliwosci)

w pliku data.php mozesz trzymac dane w takiej formie

[php:1:1a6f662ad6]<?php
$loginy[0]='aaaa';
$hasla[0]='haslo';
$status[0]=1;

$loginy[1]='bbbb';
$hasla[1]='haslo2';
$status[1]=0;
// i tak dalej
?>[/php:1:1a6f662ad6]

teraz skrypt do logowania.

robisz formularz z 2 polami login i password zmeinne z formularza przesylasz do pliku np. loguj.php (moze byc to ten sam plik)

zawartosc loguj.php

[php:1:1a6f662ad6]<?php

if (isset($_POST['login']) && isset($_POST['haslo'])) { // sprawdzasz czy zmienne nie sa puste jesli nie wiesz cos to $_POST to poszukaj na forum poczatkujacy pod haslem register globals


include('dane.php'); // dolaczenie pliku z danymi
// teraz trzeba sprawdzic czy istnije taki login (w tablicy $loginy) jaki podany w formularzu
if (in_array($_POST['login'], $loginy) {
$value=array_search($_POST['login'], $loginy);

if ($_POST['haslo']==$hasla[$value]) {
// haslo jest poprawne wiec trzeba go zalogowac winksmiley.jpg

// tutaj mozna utorzyc sesje i wpisac do niej staus nie bede pisal calego systemu logowania, poczytaj troche o sesjach, jesli uwazasz ze jak na poczatek sa dal ciebie zatrudne to mozesz dodawac do kadego linku zmienna ze stausem (ale jest to bardzo "niebezpieczne" rozwiazanie i odradzal bym uzywania)

} else {
echo 'Podany login lub haslo sa niepoprawne';
}

}

}

?>[/php:1:1a6f662ad6]

PS. w kodzie moga byc bledy bo pisalem z glowy i troche na chybcika, nie kopiuj tego bezmyslnie tylko przeanalizuj zajzyj do manuala poczytaj o uzytych funkcjach
malakacrys
nie chce mi to dzialac i nie wiem czemu sad.gif cos wywala ze w fukcji in_array unexpected } questionmark.gif?
pomocy
malakacrys
[php:1:769f4c5d10]
<?php

if (isset($_POST['login']) && isset($_POST['haslo'])) {


include('dane.php');
if (in_array($_POST['login'], $loginy) {
$value=array_search($_POST['login'], $loginy);

if ($_POST['haslo']==$hasla[$value]) {
echo "uzytkownik zalogowany";
} else {
echo 'Podany login lub haslo sa niepoprawne';
}

}

}

?>
[/php:1:769f4c5d10]
cos takkiego chcialby zeby zadzialo ale przsegladarka wywala mi
Parse error: parse error, unexpected '{' in c:program filesappservwwwloguj.php on line 11
Pomocy :|
Kinool
w kodzie jaki podalem w poscie wyzej w lini 8 przy funkcji if zapomnialem zamknac nawias zamknij go na koncu i sprawdz czy dziala
malakacrys
zrobilem cos takiego ale jest wrong data type in argument in_array :/
[php:1:e4f16b701b]
<?
include('dane.php');
$formularz="<form action=loguj.php method=post><br>
Login:<br><input type=text name=login size=20><br>
Haslo:<br><input type=text name=haslo size=20><br>
<input type=submit value=Loguj></form>";
echo "$formularz";
if (isset($_POST['login']) && isset($_POST['haslo']))
{
if ( in_array ($_POST['login'] , $loginy))
{
$value=array_search($_POST['login'], $loginy);

if ($_POST['haslo']==$hasla[$value]) {
echo 'uzytkownik zalogowany';
} else {
echo 'Podany login lub haslo sa niepoprawne';
}
}
}
?>
[/php:1:e4f16b701b]
Zbłąkany
Sprobuj zanim wstawisz $_POST['login'] przypisac do jakiejs zmiennej np $login smile.gif ewentualnie zamien in_array($_POST['login'], $loginy) na cos takiego: in_array("".$_POST['login']."", $loginy)
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.