Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pisanie skryptow
Forum PHP.pl > Forum > Przedszkole
track
Witam wszystkich grupowiczow. Nie wiedzialem gdzie rzucic taki post, wiec umieszczam go tutaj. Mam takie pytanie do specjalistow. Chodzi o organizacje kodu przy pisaniu skryptow. Przykladowy skrypt rejestrujacy uzytkownikow. Najpierw pojawia sie formularz, pozniej formularz jest przesylany do analizy (czy wszystkie pola zostaly podane) i w podejmowana jest jakas akcja. Moze pytanie jest nastepujace. Jaka powinna byc najlepsza struktura takowego skryptu.

1. Jeden plik np. register.php, a w nim 2 zdefiniowane funkcje
- pierwsza wyswietlajaca funkcje
- druga dodajaca uzytkownika
i wiadomo, ze po przeslaniu formularza z registe.php --> register.php sprawdzane sa wartosci pol i wtedy, gdy pola sa puste wywolywana jest formularz(), a gdy nie to rejestruj() i wszystko gra.

2. Bez funkcji, a np. formularz w oddzielnym pliku, czy moze wszystko w jednym pliku?

Czy to zalezy od programisty, czy moze sa jakies ogolno przyjete reguly pisania?

Mam jeszcze jedno pytanie. Czy istnieje jakas mozliwosc sprawdzenia czy formularz jest zostal wyslany (tak jak podalem w 1 punkcie)? Czy musze definiowac przykladowe pole HIDDEN i je sprawdzac?

Z gory dzieki za odpowiedz.
sf
Wszystko zależy od programisty. Na początek do użytku strukturalnego mogę polecić taki schemat.

/* index.php */

zalaczenie pliku z konfiguracja, do obslugi bazy danych i innych

sprawdzanie czy uzytkownik jest zalogowany, jak nie to include formularz logujacy

sprawdzenie akcji (action) (czyli np. jesli zostal wyslany formularz) i wykonanie podanych instrukcji, mozna tez sprawdzic czy dany uzytkownik ma prawa do tej akcji - sprawdzamy za pomoca isset, jesli pojawil sie jakis blad to zapisujemy go do zmiennej $error, mozna tez dodac zmienna do informacji, ze cos sie tam udalo

// wyswietlanie

wyswietlenie gory (header)

jezeli jakies bledy w action sie pojawily to wyswietlamy go
jezeli jest jakas informacja z action to mozna ja wyswietlic

wyswietlenie strony (page)

wyswietlenie dolu (footer)

/* koniec pliku */

Akcje (action) i strony (page) trzymamy w osobnych katalogach. Np.
./action/addnews.php
./action/deletenews.php
./page/news.php

Model tez zaczerpnolem ze strony phorum.org (wersja 3 forum, katalog admin -> index.php). 5 wersja ma juz chyba troche inna budowe nie przegladalem jej do konca.

W formularzach trzeba ustawiac w <form action="?page=nazwe_ktora_ma_byc_zaladowana_po_wykonaniu_akcji" method="post">
Leezard
no to teraz ja mam pytanie do sf:

radzisz umieszczac wszystko w jednym pliku i formularze submitowac do $PHP_SELF z odpowiednia nazwa akcji? wiec teraz zalozmy ze na stronie index.php mam formularz rejestracji i chce go wyslac, robie wiec submit formularza do action=?register, tak?
I co sie teraz dzieje? czy index.php parsuje sobie tego urla ktorego dostal i wywoluje odpowiiedni plik akcji czyli register.php? jesli tak to co po wykonaniu skryptu register.php? czy wracamy do index.php przekazujac w header() odpowiednie zmienne do informacji usera o roznych rzeczach, czy jak? I co w przypadku jesli na index.php mamy jakies linki ktore odnosza nas do innych stron? czy one tez maja byc z href=?nazwa_strony, i rowniez parsowane przez index.php i wywolywana ma byc odpowiednia akcja (tylko co ona robi?)

troche sporo pytan, ale temat jak dla mnie dosyc ciekawy, chcialbym zaczac pisac takie rzeczy w sposob jak najbardziej efektywny, bo obecny zdaje sie nie byc optymalny przy duzych projektach, a wykorzystanie jakigos takiego modelu wykonywania zadan jest dosyc ciekawe winksmiley.jpg


z gory dzieki za info, i moze jakies zrodelka, gdzie to jest opisane od poczatku jakos, albo pod jakimi haslami tego szukac
track
Ja osobiscie wszystkie mam zazwyczaj jeden plik "index.php" i do niego includuje wszystkie pliki wywolywane przez jakikolwiek link w postaci <a href=index.php?id=strona>xxx</a>. Tylko moje pytanie nie tyczylo sie includowania do index.php. Chodzilo mi oto, czy lepiej takie rzeczy jak formularz i proces rejestracji zrobic jako funkcje i pozniej odpowiednio od wymagan wstawiac jedno albo drugie.

Ogolnie chodzi mi oto, czy lepiej wrzucac poszczegolne czesci pliki jako funkcje i zawierac wszystko w jednym pliku (formularz rejestracyjny itd.) czy lepiej rozbijac wszystko na male pliki?
Nievinny
Myślę, że jeden plik z klasą wystarczy + szablon formularza (jeśli używasz smarty lub innego parsera templatów)

W klasie byłyby funkcje odpowiadające za poszczególne działania. Zgodne z PHP5 (i z 4 też, bo jeśli nie piszesz pod 5, ale i tak się przyda bo kiedyś będziesz musiał wykonać migrację) i takrze będziesz miał trochę OOP w swoim kodzie...

Pozdrawiam
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.