Здравствуйте. Год назад я начал изучать PHP Мне посоветовали сразу учиться программировать в ООП Сейчас я хочу создать свой блог. Помогите пожалуйста с основным классом моего будущего сайта. Класс написан частично там еще будет обработка комментариев к постам от посетителей сайта Что ни так? Грамотно ли написано? Безопасность? Нагрузка на сервер?
} //Вход администратора function set_admin (){ if (isset($_POST['sub_admin'])){ $pass = $_POST['pass']; $pass = $this -> logpas($pass); if ($pass == "adminpass"){$_SESSION['admin'] == "yes";}; }; }
//Новый пост блога function new_post() { if (isset($_POST['sub_new_post']) and isset($_SESSION['admin']) and $_SESSION['admin'] == "yes"){ $text_post = $this -> komment($_POST['text']); $adds = mysql_query ("INSERT INTO blog (text) VALUES ('$text_post')"); }; } //Просмотр списка всех постов function list_post(){ $rezult = mysql_query("select * from blog ORDER BY id DESC"); while ($stdat = mysql_fetch_array($rezult)){ $post_id = $stdat['id']; echo '<a href="post.php?post='.$post_id.'">Пост №'.$post_id.'</a><br />'; }; } //Просмотр выбранного поста function vew_post(){ if (isset($_GET['post'])){ $post_id = int($_GET['post']); $rezult = mysql_query("select * from blog WHERE id = '$post_id'"); if ($stdat = mysql_fetch_array($rezult)){ echo $stdat['text']; }; }; }
Переведите работу с БД на PDO или mysqli. Расширение mysql считается устаревшим и скорее всего будет убрано в будущих версиях PHP.
На счет безопасности, функции htmlspecialchars и stripslashes не обезопасят от инъекций. Если не будете переходить на предложенные выше расширения, то пропускайте входящие строки через mysql_real_escape_string(). В новых расширениях это mysqli_real_escape_string() и PDO::quote (). Кроме того, как PDO так и mysqli поддерживают подготавливаемые запросы, там экранирование на автомате.
Ну, по поводу стиля написания кода придираться не буду, придет с опытом