система входа + новости на пхп
| |
Deswing | Дата: Воскресенье, 05 Декабря 2010, 11:16 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| здрасть! Вообщем я знаю хтмл, но этого очень мало... Захотел сделать блог своей команде, но некоторые несостыковки... Я с MySQL хорошо обращаюсь, так что помогите сделать систему входа на сайт, добавление новостей и коментарии к ним... прошу!
|
|
| |
Spihex | Дата: Воскресенье, 05 Декабря 2010, 11:34 | Сообщение # 2 |
Моргающий Гемо-Брат
Сейчас нет на сайте
| Quote (Deswing) добавление новостей и коментарии к ним. "Хелп, в пхп не очень =\"В таком случае, почему бы не использовать готовые решения: Wordpress? Drupal? Joomla? Ещё сотня-другая есть, но их искать нужно, а лень.
|
|
| |
Deswing | Дата: Воскресенье, 05 Декабря 2010, 11:40 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Quote (Spihex) "Хелп, в пхп не очень =\"В таком случае, почему бы не использовать готовые решения: Wordpress? Drupal? Joomla? Ещё сотня-другая есть, но их искать нужно, а лень. дело в другом... Я хотел бы глянуть на пример (полностью отрезаный, без лишнего) и вставить к себе на сайт... Конечно же, ознакомившись с его структурой... Сам диз к сайту я уже сделал
Сообщение отредактировал Deswing - Воскресенье, 05 Декабря 2010, 11:43 |
|
| |
KpoJIuk | Дата: Воскресенье, 05 Декабря 2010, 11:40 | Сообщение # 4 |
In C++ We Trust
Сейчас нет на сайте
| Deswing, а что мешает взять уже готовый и работающий движок сайта?
|
|
| |
Deswing | Дата: Воскресенье, 05 Декабря 2010, 11:42 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| KpoJIuk, нуу... Мораль не позволяет... Всегда любил делать все сам, но с пхп частью проблемы
|
|
| |
KpoJIuk | Дата: Воскресенье, 05 Декабря 2010, 11:48 | Сообщение # 6 |
In C++ We Trust
Сейчас нет на сайте
| Deswing, тогда как вариант - возьми пару движков и посмотри, как оно там реализовано.
|
|
| |
Hagrael | Дата: Воскресенье, 05 Декабря 2010, 11:51 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Deswing, 1. подключение к БД: Code mysql_connect("localhost", "username", "password"); mysql_select_db("database_name"); 2. Вытаскиваем инфу: Code $result=mysql_query("SELECT * FROM table"); while ($myrow=mysql_fetch_array($result)) { echo $myrow["ячейка"]; } 3. перенаправляем пользователя на др. страницу: Code header("Location: location"); exit(); Да и вообще в чём проблема, если MySQL знаешь?
|
|
| |
lvovand | Дата: Воскресенье, 05 Декабря 2010, 11:51 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| набери в поисковике "скрипт блога на php" и вперед
Разработка и продвижение сайтов. Дизайн
|
|
| |
Deswing | Дата: Воскресенье, 05 Декабря 2010, 11:53 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| Quote (Hagrael) Да и вообще в чём проблема, если MySQL знаешь? я знаю запросы в базу, но никак не сам PHP ладно, ребят... Спасибо всем, даю + в репу... Разобрался и сам ^__^
|
|
| |
Hagrael | Дата: Воскресенье, 05 Декабря 2010, 11:59 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Deswing, всё равно дам совет: 1. Запрос к БД: Code mysql_query($question); 2. Вывод из БД: Code while ($myrow=mysql_fetch_array($result)) { ... } Здесь в $result хранится запрос к БД (типа "SELECT ... FROM ..."), и в цикле будут просматриваться все ряды. В самих ячейках массива $myrow будут ячейки ряда.
|
|
| |
Deswing | Дата: Воскресенье, 05 Декабря 2010, 12:04 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| Hagrael, что такое $result и $question? Добавлено (05.12.2010, 12:04) --------------------------------------------- фак, не дочитал... Спасиб
|
|
| |
cougraAcc | Дата: Понедельник, 06 Декабря 2010, 12:03 | Сообщение # 12 |
Яркая личность GD
Сейчас нет на сайте
| Deswing, Примерно вот так: База: Теперь авторизация: например auth.php Code <form action='?page=1' method='post'> <p> Ваш логин:<br> <input name='login' type='text' size='15' maxlength='15'> </p> <p> Ваш пароль:<br> <input name='password' type='password' size='15' maxlength='15'> </p> <p> <input type='submit' name='submit' value='Войти'> <?php if ($_GET['check']==1) { session_start(); // Все та же ссесия))
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //Присваеваем логину переменную $login, если она пуста уничтожаем её if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} } //так же присваеваем паролю переменную $password проверяем....
// В общих чертах, или /* if (empty($login)) //Проверяем на введенность данных { exit ("Не введен логин, исправьте"); } if (($password)) //Проверяем на введенность данных { exit ("Не введен пароль, исправьте"); } */ if (empty($login) or empty($password)) //Проверяем на введенность данных { exit ("Введена не вся информация, вернитесь и исправьте"); } //обрезаем всякие тэги и прочую нечисть $login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//удаляем лишние пробелы $login = trim($login); $password = trim($password);
// подключаемся к базе include ("connect.php");
$result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("Извините, введённый вами логин или пароль неверный."); } else { //если существует, то сверяем пароли if ($myrow['password']==$password) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь echo "Вы успешно зашли на сайт, сейчас вы будете перенаправлены на главную страницу. <a href='index.php'>Нажмите если нет сил ждать</a>"; }
else { //Если логин и пасс не сходятся exit ("Извините, введённый вами логин или пароль неверный."); } } } ?> connect.php Code <?php $db = mysql_connect ("сюда пишем хост","логин","пароль"); mysql_select_db ("названия бд",$db); ?> Теперь вывод новостей: Code <? include("connect.php");
$query = mysql_query("SELECT * FROM news");
while($row = mysql_fetch_array($query)) { $id = $row["id"]; $title = $row["title"]; $text = $row["text"]; $autor = $row["autor"]; print <<<HERE <hr> <a href="post.php?id=$id"> <h1>$title</h1> </a> Название материала $title<br>Текст:<br> $text<br> Автор: $autor <hr> HERE; } ?> База к новостям: Code CREATE TABLE `news` ( `id` int(11) NOT NULL auto_increment, `title` varchar(15) NOT NULL default '', `text` text(255) NOT NULL default '', `autor` varchar(15) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; Файл для вывода 1й новости потом допишешь коментарии: Code
<? include ("connect.php");
if (isset($_GET["id"])) {$id = $_GET["id"];}
$query = mysql_query ("SELECT * FROM news WHERE id='$id'"); $row = mysql_fetch_array ($query); $id = $row["id"]; $title = $row["title"]; $text = $row["text"]; $autor = $row["autor"]; print <<<HERE <hr> <a href="post.php?id=$id"> <h1>$title</h1> </a> Название материала $title<br>Текст:<br> $text<br> Автор: $autor <hr> HERE; ?> Добавлено (06.12.2010, 12:03) --------------------------------------------- Напишу и скрипт комментариев, только не знаю работает или нет, если что скинешь ошибку поправим: Исправляем post.php Code <? include ("connect.php");
if (isset($_GET["id"])) {$id = $_GET["id"];}
$query = mysql_query ("SELECT * FROM news WHERE id='$id'"); $row = mysql_fetch_array ($query); $id = $row["id"]; $title = $row["title"]; $text = $row["text"]; $autor = $row["autor"];
$comment = mysql_query ("SELECT * FROM comment WHERE newsid='$id'"); echo <<<HERE <hr> <a href="post.php?id=$id"> <h1>$title</h1> </a> Название материала $title<br>Текст:<br> $text<br> Автор: $autor <hr> <br> <a href='add.php?id=$id'>Добавить коммент</a> Коментарии: HERE; while($comm = mysql_fetch_array($comment)) { $idc = $comm["id"]; $titlec = $comm["title"]; $textc = $comm["text"]; $autorc = $comm["autor"];
echo " id сообщения: $idc Автор: $autorc<br> Тема: $titlec<br> Текст сообщения: $textc <hr> "; } ?> Создаем таблицу: Code CREATE TABLE `comment` ( `id` int(11) NOT NULL auto_increment, `newsid` int(15) NOT NULL default '', `title` varchar(15) NOT NULL default '', `text` text(255) NOT NULL default '', `autor` varchar(15) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; Теперь добавление новостей: add.php Code <?php session_start(); include("connect.php"); $newsid=$_GET['id']; echo " <form action='?add=1' method='post'> Ид новости: $newsid Имя автора:<br> <input name='autor' type='text' size='15' maxlength='15'><br> Тема:<br> <input name='title' type='text' size='15' maxlength='15'><br> Текст сообщения:<br> <textarea cols='80' rows='10' name='text'></textarea><br> <input type=submit value='Добавить'> </form> ";
if($_GET['add']==1) { $text = $_POST["text"]; $title = $_POST["title"]; $autor = $_POST["autor"]; $sql = mysql_query("INSERT INTO `comment` ('newsid',`title`, `text`, `autor`) VALUES('$newsid','$title', '$text', '$autor')");
if ($sql){ echo "Успешно"; } else { echo "Ошибка: ".mysql_error(); } } ?> как то так.... возможны ошибки, писал на скорую руку
|
|
| |
Kras-1 | Дата: Воскресенье, 06 Февраля 2011, 11:22 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| #1067 - Invalid default value for 'newsid'Добавлено (06.02.2011, 11:22) --------------------------------------------- Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'kras1'@'localhost' (using password: YES) in /home/krasst/public_html/connect.php on line 2 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/krasst/public_html/connect.php on line 3 Ид новости: Имя автора: Тема: Текст сообщения: Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/krasst/public_html/add.php on line 22 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/krasst/public_html/add.php on line 22 Ошибка: Access denied for user 'nobody'@'localhost' (using password: NO)
|
|
| |
cougraAcc | Дата: Воскресенье, 20 Февраля 2011, 03:33 | Сообщение # 14 |
Яркая личность GD
Сейчас нет на сайте
| Kras-1, Все эти ошибки это глупость ставившего! т.к. надо правильно настраивать подключение к бд!
|
|
| |
|