Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Quiz, a może test?, Pomóżcie mi to nazwać
mlawnik
post
Post #1





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


Witam,

Nie będę się rozpisywał:

Kod: https://github.com/marcinlawnik/Yopqs
Live demo: http://yopqs.orchestra.io/

Nie patrzcie na pytania, jestem w gimnazjum i jest to projekt na warsztaty nadobowiązkowe.

Proszę o wytykanie błędów oraz podawanie pomysłów.

Pozdrawiam,
marcinl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Prosiłeś o sugestie dotyczące kodu, a więc od początku czytam Twój kod i piszę post.

Pierwsze co mi się rzuciło w oczy po odpaleniu index.php:
  1. define('is_included', true); //protection from direct display override

Sprawdziłem, w dołączanych plikach typu config.php sprawdzasz tą stałą.

Znacznie prościej i bez obciążeń dla parsera PHP jest blokować poprzez .htaccess

-------

Rzuciłem się na plik z językami, teoretycznie ok ale kodowanie tych plików?!
Cytat
ź zła, spróbuj


Wrzuć na wszystkie pliki kodowanie UTF-8 bez BOM i zapisz to normalnie.

-------

Nadszedł czas na config.php tutaj powinieneś użyć jak na moje oko wzorca o nazwie Registry i sobie w nim trzymać te informacje, będziesz miał dostępne globalnie i unikniesz w index.php czegoś takiego:
  1. $quiz_name = $CONF['quiz_name'];
  2. $main_page = $LANG['mainpageuppercase'];
  3. $start_quiz = $LANG['startquiz'];
  4. $start_content = $CONF['start_content'];
  5. $welcome_text = $LANG['welcomequizpage'];
  6. $link1 = $CONF['link1'];
  7. $link1_name = $CONF['link1_name'];
  8. $link2 = $CONF['link2'];
  9. $link2_name = $CONF['link2_name'];


-------

Teraz quiz.php - na początku rzuca się w oczy, że ob_start nie jest na początku skryptu, najpierw wysyłasz nagłówki o typie, kodowaniu, ciasteczka sesji a potem dopiero włączasz buforowanie - coś nie tak... Co ciekawe, wydaje mi się że włączyłeś je tylko z powodu include, bo zaraz po nim jest end_flush.

-------

W quiz.php używasz funkcji o nazwie: getnamefile()
Nie pasuje mi jej nazwa, bo o ile dobrze pamiętam przyjął się taki zapis: getNameFile()
Zapis dotyczy się wszystkich tak zapisanych nazw funkcji.
Poza tym, zwracasz coś takiego:
  1. return "$PHP_SELF";

Nie wiem po co jest to ujęte w cudzysłów.

-------

checkanswer - nie prościej po prostu użyć in_array?

-------

getmaxlevel - robisz tam coś takiego:
  1. return("$LANG[db_query_error]");
  2. error_log("$LANG[db_query_error]\r\n", 3, "log/db.log");

Po pierwsze, cudzysłów, po drugie używaj return tak jak wszędzie (bez nawiasów, bądź konsekwentny)
Nie wiem czy wiesz, error_log nie ma prawa się wykonać - funkcja już zwróciła wartość - co oznacza koniec jej wykonania, również późniejszy exit się nie wykona.

--------

backup bazy danych - pominę tą kwestię, od tego jest cron

--------

Po przewinięciu quiz.php dalej mogę uznać że masowo robisz:
  1. echo "$zmienna"
  2. // lub
  3. return "$zmienna"

To jest niedopuszczalne i karygodne w dobrym kodzie.

--------

Używasz bb-code, szablonów dlatego nie zostawisz mysql_ na rzecz PDO?

--------

footer powinien być częścią szablonu - jak dla mnie jest niezmienny.
Go to the top of the page
+Quote Post

Posty w temacie
- mlawnik   Quiz, a może test?   8.05.2011, 16:47:32
- - mat-bi   Masz problem, wpisałem, że google pochodzi od goog...   8.05.2011, 16:51:21
- - mlawnik   Przez jedno o mam w bazie... Literówka EDIT: po...   8.05.2011, 18:01:26
- - ciekawskiii   poziom 1 2+2*2=8 a u Ciebie to zly wynik:P   8.05.2011, 20:46:52
- - Spawnm   @ciekawskiii - kpisz ? $db_username = ...   8.05.2011, 20:55:15
- - wiewiorek   ciekawskiii no bo 8 to zły wynik - kolejnosc dzial...   8.05.2011, 20:55:59
- - mlawnik   @spawnm, poczytaj, co to orchestra.io, po 2, jak z...   8.05.2011, 21:04:58
- - @rtur   ja utknąłem na 5 poziomie   10.05.2011, 05:57:35
|- - konole   Cytat(@rtur @ 10.05.2011, 05:57:35 ) ...   10.05.2011, 08:23:23
- - mlawnik   I to właśnie jest zaleta oprogramowania o darmowym...   10.05.2011, 15:05:59
- - fifi209   Prosiłeś o sugestie dotyczące kodu, a więc od pocz...   10.05.2011, 15:42:34
- - ciekawskiii   nie, nie kpie, 2+2*2 jest 8 a prawidlowy zapis pow...   10.05.2011, 16:00:44
- - mat-bi   Podstawy matematyki się kłaniają - kolejność dział...   10.05.2011, 16:01:38
- - fifi209   Potęgowanie, mnożenie, dodawanie Wszystko jasne?   10.05.2011, 16:01:50
- - ciekawskiii   ja wiem jaka jest kolejnosc dzialan, nie musisz mn...   10.05.2011, 16:12:51
- - fifi209   To też Ci do głowy biją, że najpierw mnożenie pote...   10.05.2011, 16:14:59
- - mat-bi   Hmm, a mi się zawsze wydawało, że żeby być informa...   10.05.2011, 16:16:42
|- - fifi209   Cytat(mat-bi @ 10.05.2011, 17:16...   10.05.2011, 16:17:45
- - mat-bi   Główny zarzut ode mnie to nieporządek w kodzie, tz...   10.05.2011, 16:22:55
- - Daiquiri   Dalsze wymiany zdań na temat czyjegoś poziomu mate...   10.05.2011, 16:55:07
- - mlawnik   No dobra, zająłem się przerobieniem obszernej list...   10.05.2011, 20:07:38
|- - fifi209   Cytat(mlawnik @ 10.05.2011, 21:07:38 ...   10.05.2011, 20:13:38
- - mlawnik   ob_end _flush przemieszczone Poczytaj sobie kome...   14.05.2011, 22:12:35


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

 



RSS Aktualny czas: 6.12.2025 - 17:17