Понедельник, 25 Ноября 2024, 19:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
система входа + новости на пхп
DeswingДата: Воскресенье, 05 Декабря 2010, 11:16 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
здрасть! Вообщем я знаю хтмл, но этого очень мало... Захотел сделать блог своей команде, но некоторые несостыковки... Я с MySQL хорошо обращаюсь, так что помогите сделать систему входа на сайт, добавление новостей и коментарии к ним... прошу!
SpihexДата: Воскресенье, 05 Декабря 2010, 11:34 | Сообщение # 2
Моргающий Гемо-Брат
Сейчас нет на сайте
Quote (Deswing)
блог

Quote (Deswing)
добавление новостей и коментарии к ним.

"Хелп, в пхп не очень =\"В таком случае, почему бы не использовать готовые решения: Wordpress? Drupal? Joomla? Ещё сотня-другая есть, но их искать нужно, а лень.
DeswingДата: Воскресенье, 05 Декабря 2010, 11:40 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Quote (Spihex)
"Хелп, в пхп не очень =\"В таком случае, почему бы не использовать готовые решения: Wordpress? Drupal? Joomla? Ещё сотня-другая есть, но их искать нужно, а лень.

дело в другом... Я хотел бы глянуть на пример (полностью отрезаный, без лишнего) и вставить к себе на сайт... Конечно же, ознакомившись с его структурой... Сам диз к сайту я уже сделал happy


Сообщение отредактировал 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 знаешь? dry


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
частый гость
Сейчас нет на сайте
Quote (cougraAcc)
ошибки

#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, Все эти ошибки это глупость ставившего! т.к. надо правильно настраивать подключение к бд!
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг