1) config.php wygląda jak WYMAGANY plik (w końcu bez configu raczej strona nie pójdzie). Czemu to jest dołączane za pomocą include a nie require?
2) function.php to nie jest dobra nazwa
3) Gdybyś skorzystał z np. Doxygena do komentarzy, to miałbyś już dokumentację projektu.
login.php
Pierwsze unset jest zbędne.
// Logout
if (isset($_GET['logout'])) { }
// Login panel
if (!isset($_POST['pass'])) { $content_output = '<form action="login.php" method="POST">' . $lang['l_panel_pass'] . ':<br/><input id="l_pass" name="pass" type="password" /></form>';
} else {
if ($_POST['pass'] === $panel_pass) {
$_SESSION['id'] = md5($_SERVER['REMOTE_ADDR']) . md5($panel_pass); header('location: panel.php'); } else {
$content_output = $lang['l_panel_wrong'] . '. <a href="login.php">' . $lang['l_panel_again'] . '</a>';
}
}
W bloku login panel dałabym elseif - aktualnie sprawdza isset($_GET['logout']), a potem zawsze sprawdza !isset($_POST['pass']), a podejrzewam, że te dwie rzeczy wykluczają się.
config.phpZabrakło mi zmiennej configuracyjnej ustalającej port do bazy. Jasne, można wepchnąć w host, natomiast lepiej IMO byłoby rozdzielić.
$perPage = 30; // Movies per page, If you do not want to have pagination, type a larger number than the number of movies
If you do not want to have a pagination type 0 - standardowo 0 znosi wszelkie limity
* Don't edit nothing below this line!#
Do not edit
anything...
Podwójne zaprzeczenie nie istnieje w angielskim
panel.php if ($_GET['option'] == 'del_all') {
$content_output = delete_table($table_name, $lang);
}
if ($_GET['option'] == 'create_new') {
$content_output = create_table($table_name, $lang);
}
if ($_GET['option'] == 'xml_file_info') {
$content_output = xml_file_info($xml_file, $lang, $detect_encoding);
}
if ($_GET['option'] == 'nfo_file_info') {
$content_output = nfo_file_info($table_name, $lang, $detect_encoding);
}
if ($_GET['option'] == 'xml_import') {
$content_output = import_xml($xml_file, $table_name, $lang, $detect_encoding);
}
if ($_GET['option'] == 'clear_cache') {
$content_output = clear_cache($lang);
}
Aż się prosi o switch zamiast if.
Nie mówiąc już o tym, że chyba bardzo nie lubisz else. Jeśli $_GET['option'] będzie równe del_all, to skrypt zrobi sprawdzenie wszystkiego, mimo że dopasował się do pierwszego warunku. A warunki są rozłączne.
$sql_movies = 'SELECT id FROM ' . $table_name;
$table_rows = '<span class="green">' . mysql_num_rows($result_movies) . '</span>';
SELECT COUNT(id)
mysql_num_rows jest przydatne wtedy, gdy odpalasz normalne zapytanie i dodatkowo chcesz policzyć ile elementów zwróciło;
Jeśli zależy Ci tylko na liczbie - COUNT jest bardziej wydajne.
index.php header('Location: panel.php'); }
// sets the variables
if (!isset($_GET['id'])) { $id_result = mysql_query('SELECT id FROM ' . $table_name . ' LIMIT 1');
Trzy razy wykona się pobieranie toczka w toczkę tego samego zapytania.
Co prawda podejrzewam, że danych w bazie będzie bardzo niewiele, natomiast jest to zły nawyk.
Zrób mysql_query raz przed tymi wszystkimi ifami.
Zastanawiam się również czy koniecznie potrzebujesz regexpów w zapytaniach:
$genre_mysql = $val;
Gdzie val wydaje się pochodzić z zapytania z tabeli dotyczącej gatunków filmów. Na szybki rzut oka nie ma tam nic dotyczącego konieczności użycia regexpa. Like mysqlowy, mimo że tragicznie wolny jest dużo szybszy od regexpów.
To tak ogólnie. Na pierwszy rzut oka. Mam nadzieję, że co nieco Ci się z tego przyda.