Скрипт новостей(ваше мнение?)
1.
Wapium (29.12.2011 / 23:56)
Вот написал простенький скрипт новостной ленты ))) Что скажите о коде?
-------------
Скрипт
-------------
установка
-------------
1 - скрипт кидаем в корень
2 - заливаем в базу sql.sql
что бы войти в админку в адресе пишем sait.ru/admin и вводим логин admin пароль 12345 . Админа можно сменить в базе.
2.
Николай (30.12.2011 / 00:30)
1.
Wapium, лучше бы живой пример показал
3.
Wapium (30.12.2011 / 00:35)
2.
Trance Mission, Всё настолько плохо?
4.
Николай (30.12.2011 / 00:47)
3.
Wapium, не я даже код не смотрел просто струкруту позырил
в админке можно было по лучше сделать вот к примеру
//---ЕСЛИ ВОШЛИ
echo '<div class="menu"><li/><a href="adm_sis.php">Войти в админку</a></div>';
include_once $rootpath.'incfiles/foot.php';
можно было заменить на
//---ЕСЛИ ВОШЛИ
header("Location: adm_sis.php");
include_once $rootpath.'incfiles/foot.php';
Гг мало пробелов поставил
$avtor = isset ($_POST['avtor']) ? stripslashes(htmlspecialchars(trim($_POST['avtor']))) : '';
5.
KOZZ (30.12.2011 / 13:37)
<?
$zap_news = mysql_query("SELECT COUNT(*) FROM `news`");
$total = mysql_result($zap_news, 0);
// заменяем на
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `news`"), 0);\
# -----------------------
while ($res_news = mysql_fetch_array($res))
...
// зачем тебе mysql_fetch_array если используешь только ассоциативные массивы?
// переходим на mysql_fetch_assoc
#-----------------------------------
include_once 'incfiles/foot.php';\
// зачем приставка _once ? ты часто подключаешь ноги к странице?
// переходим на require/include
#-----------------------------
// а вот это меня трахнуло в мозг
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n" .
// не умеем пользоваться тегом переноса <br /> ?
#--------------------------------
mysql_query("SET NAMES utf8");
mysql_query("set character_set_client='utf8'");
mysql_query("set character_set_results='utf8'");
mysql_query("set collation_connection='utf8'");
// переходим на mysql_set_charset()
#------------------------------------------
mysql_query("INSERT INTO `news` VALUES('$id','$zag','$avtor','".date('H:i:s')."','$text')");
// не очень верный подход. потом захочется добавить колонку в таблицу, и придется все связанные запросы переписывать. юзаем "insert into `...` set `pole`='znachenie',`pole2`='znachenie2'"
?>
пробежался глазами быстро, на что глаз упал, на то и указал
а вообще, по-хорошему, еще бы проверочки запросов на false и mysql_num_rows
6.
Hennessy (30.12.2011 / 13:47)
Быстренько пробежался тоже глазками, многое можно реализовать куда проще и удобнее. Т.е. код можно сократить.
7.
KOZZ (30.12.2011 / 13:47)
<?
header("Location: adm_sis.php?ok");
}else{...
// после header("Location: adm_sis.php?ok"); не забываем die.
?>
Добавлено через 03:11 сек.
ну и так, как дело вкуса: скрипт небольшой, разделять админку на несколько файлов нет смысла (то же самое с файлами bbodes.php,smiles.php)
admin.php + альтернативный синтаксис switch - самый удачный вариант, как по мне.
<?
$act = (isset($_GET['act'])) ? $_GET['act'] : false;
switch($act):
default:
// выводим главное меню админки
break;
case 'add':
// добавление новости
break;
case 'edit':
// правка новости
break;
case 'del':
// удаление новости
break;
case 'settings':
//настройки
break;
case 'exit':
// выход из админки
if(session_destroy()){header("location:$rootpath");die;} else {echo 'Ошибка при выходе! Сессия не убивается';}
break;
endswitch;
?>
Добавлено через 03:38 сек.
а в целом - лучше, чем у других новичков. хвалю
8.
Wapium (31.12.2011 / 23:04)
Хочется всех поздравить с Новым Годом! Желаю Вам всего чего только можно пожелать хорошего
Ну и заодно быстренько исправил ошибки(спасибо за прошлые замечания)
Вот скрипт Думаю ошибок там нет, хотя может и есть, но наврятли, просто не на трезвую голову исправлял.
Жду ваши отзывы
9.
Жень4ик (31.12.2011 / 23:08)
Покажите живой пример:-)
10.
Андрей (31.12.2011 / 23:21)
'SET NAMES utf8;' делает всё что ты написал ниже.
Добавлено через 02:57 сек.
И ещё создавать таблицу 'админ' для того чтобы хранить там пароль и логин, как по мне, не очень правильно.
Добавлено через 06:48 сек.
.htaccess ещё настрой получше.
11.
KOZZ (01.01.2012 / 11:48)
настройки храни в файле private/settings.dat (в папке должен быть файл .htaccess с содержанием "deny from all").
запись настроек с помощью функций serialize/unserialize станет очень удобным (просто записываешь массив настроек так: file_put_contents('private/settings.dat',serialize($set))
а потом где нибудь в хеадере собираешь настройки так: $set = unserialize(file_get_contents('private/settings.dat'));
URL:
https://visavi.net/topics/27890