Скрипт новостей(ваше мнение?)

1. Wapium (29.12.2011 / 23:56)
Вот написал простенький скрипт новостной ленты ))) Что скажите о коде?
-------------
Скрипт
-------------
установка
-------------
1 - скрипт кидаем в корень
2 - заливаем в базу sql.sql
что бы войти в админку в адресе пишем sait.ru/admin и вводим логин admin пароль 12345 . Админа можно сменить в базе.

2. Николай (30.12.2011 / 00:30)
1. Wapium, лучше бы живой пример показал smile

3. Wapium (30.12.2011 / 00:35)
2. Trance Mission, Всё настолько плохо? E

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';
Гг мало пробелов поставил E
$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)
Хочется всех поздравить с Новым Годом! Желаю Вам всего чего только можно пожелать хорошего smile
Ну и заодно быстренько исправил ошибки(спасибо за прошлые замечания) klass
Вот скрипт Думаю ошибок там нет, хотя может и есть, но наврятли, просто не на трезвую голову исправлял. E Жду ваши отзывы klass

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