Jump to content
  • 0

проверка существования


necro
 Share

Question

Здравствуйте. Возник такой вопрос. Я пишу что-то типо мини-форума. Смысл такой. Пользователь авторизовывается и для него создается шаблонная страница, для каждого пользователя должна создаваться своя страница, если она уже существует, то должны выводится все ранее созданные темы. Я застрял. Просто раньше с пхп и mysql я не работал, это мое первое приложение и многого я найти не могу. Я не прошу писать за меня код, но может кто-то потратит немного времени и объяснит мне на пальцах, быть может с какими то небольшими строчками для наглядности, как мне связать все эти сущности, куда какие ключи добавить в базе, чтоб вытягивать записи и как вообще организовать то, что я хочу конкретно посредством пхп. Интересует конкретно создание вот этих страниц и проверка есть ли такая страница уже у пользователя.

Если кто-то поможет буду очень благодарен. Можете стучать в асю или гт.

415421225

d9idbka@gmail.com

Или напишите в данной теме. Заранее спасибо.

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Может я вас не правильно понимаю, но:

Пользователь авторизовывается и для него создается шаблонная страница, для каждого пользователя должна создаваться своя страница, если она уже существует, то должны выводится все ранее созданные темы.

не страница, а сам пользователь - вот на что вы должны обратить свое внимание, ибо страница формируется динамически.

по ссылке что я привел подробно рассматривается ваша проблема, или вам нужно нечто вроде разграничение по правам? опять же, делается запрос для этого юзера, и если он есть в бд, то выводится страница именно для него, ключевое слово сессия+ид юзера.

Link to comment
Share on other sites

  • 0

Если я правильно понял.

В базе , ну как я бы сделал, есть две таблицы, первая с данными пользователя а вторая с созданными темами, я бы добавил туда и текст всего что написано в теме и ссылочку туда, если потом поисковик делать.

Связываем эти таблицы по uniq_id .

теперь при авторизации на сайте можно сделать сессию, а можно и без нее, смотря что дальше вы хотите сделать.

проверяем если есть учетная запись и генерируем страницу исходя из данных в базе данных относительно пользователя.

Link to comment
Share on other sites

  • 0

Ну как бы объяснить чтоб понятно было.

Значит вот пользователь авторизовался уже, проверило его тип

if($_SESSION['type'] =='user') 								
{
echo "<h3>Вы вошли как user. Для продолжения <a href='themes.php'>Нажмите</a></h3>";
}

как бы страница вот эта themes.php получается шаблонная для всех идет.

И для каждого пользователя я должен делать проверку, создана ли для него уже страница с темами или её необходимо создать и выводим либо пустую либо страницу уже созданную. Дальше в ней же опять проверяем создавались ли уже темы, если да, то выводим эти темы.

Ну принцип такой.

Вот это я и не понимаю как реализовать.

Link to comment
Share on other sites

  • 0

Ну как бы объяснить чтоб понятно было.

Значит вот пользователь авторизовался уже, проверило его тип

if($_SESSION['type'] =='user') 								
{
echo "<h3>Вы вошли как user. Для продолжения <a href='themes.php'>Нажмите</a></h3>";
}

как бы страница вот эта themes.php получается шаблонная для всех идет.

И для каждого пользователя я должен делать проверку, создана ли для него уже страница с темами или её необходимо создать и выводим либо пустую либо страницу уже созданную. Дальше в ней же опять проверяем создавались ли уже темы, если да, то выводим эти темы.

Ну принцип такой.

Вот это я и не понимаю как реализовать.

давайте представим на themes.php я попал после того как я авторизовался как иван иванов а uniq_id мой 12345

т.е нажал на <a href='themes.php'>Нажмите</a> и теперь на странице themes.php я делаю выборку из базы данных по uniq_id = 12345

тут же я проверяю если, к примеру, колонка в базе данных themes , не пустая то я вывожу данные на странице

  • Like 1
Link to comment
Share on other sites

  • 0

bgraf, получается в таблице themes я добавляю fk id_author и потом проверяю существует ли строка в этой таблице с таким id?

LunatiK, уж извините за доставленные неудобства, повторюсь это мое первое приложение и я новичек в этой области, простите что не правильно выражаюсь, если вам будет так угодно.

Edited by necro
Link to comment
Share on other sites

  • 0

Аж передёрнуло пока читал ... бррр .

Страницы не создаются, создаются записи в БД и в зависимости от условий из этих записей формируются страницы.

Боже упаси, я не спорю, но чисто теоретически я могу создать файл с расширением .php или .html сохранить его да дисковом пространстве сервера и сгенерировав код создать полноценную страницу. Но в данном случае скорее всего надо генерировать динамическую страницу themes.php на основе данных пользователя

bgraf, получается в таблице themes я добавляю fk id_author и потом проверяю существует ли строка в этой таблице с таким id?

да, дело в том что на стороне сервера по средствам php мы можем генерировать любую страницу на основании данных. единственное это правильно сделанный шаблон. в Вашем случае, страница themes.php это место где мы и сделаем вышесказанное. если есть темы у пользователя ивана иванова то получи их из таблици themes , а если нет то напишите там, что пока у этого польхователя темы не созданы

themes.php - это скелет а данные в б.д. - это мясо, которым и обернем косточки.

Простите за сравнение

Edited by bgraf
  • Like 1
Link to comment
Share on other sites

  • 0

при авторизации пишу

$_SESSION ['id']=$ath['id']; 								
$_SESSION['type'] = $ath['type'];
$_SESIION['login'] = $ath['login'];
$result=true;
echo "<h1>Здравствуйте, $login. Вы успешно вошли в систему</h1>";
if($_SESSION['type'] =='admin')
{
echo "<h3>Вы вошли как админ. Для продолжения <a href='admins.php'>Нажмите</a></h3>";
}
if($_SESSION['type'] =='user')
{
echo "<h3>Вы вошли как user. Для продолжения <a href='themes.php'>Нажмите</a></h3>";
}

в файле themes.php

$themes=mysql_query("SELECT * FROM themes WHERE author_id = '".$_SESSION ['id']."'"); 					
if($myrow=mysql_fetch_array($themes))
{
print('<center><h3>Пользователь:<br/></h3></center>');
print ('<center><span class="userinfo">1: '.$myrow['name_themes'].'</span></center>');
}
else
{
print('<center><h3>бла бла<br/></h3></center>');
}

Ну и вижу свое бла бла все время( что не так?

Link to comment
Share on other sites

  • 0

Добрый день, это снова я. Возник ещё один вопрос. Есть страница со списком тем и кнопка для создания новой темы. Получается адрес идет http://test.maxdamage.ru/themes.php. как мне сделать, чтоб по нажатию кнопки, форма создания новой темы открывалась на этой же странице. Ну в смысле вот я нажимаю кнопку, в адресной строке уже получается http://test.maxdamage.ru/themes.php?newthemes=1, все что было исчезает и появлятся форма создания. Объяснять я не умею) Вот код страницы:

<?session_start();
mysql_query('SET NAMES UTF8');
require_once('connect.php');
$_SESSION['login']=$login;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Форум</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link rel="stylesheet" href="styles/themes.css" type="text/css" media="screen, projection" />
</head>
<body>
<?
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today</div>");

?>
<table class="forumtable" cellpadding="0" cellspacing="0" border="1">
<tbody>
<tr>
<th width="55%" height="25" nowrap="nowrap">Тема</th>
<th width="10%" class="thTop" nowrap="nowrap">Cообщений</th>
<th width="12%" class="thCornerR" nowrap="nowrap">Автор</th>
<th width="18%" class="thCornerR" nowrap="nowrap">Обновления</th>
</tr>
<?
$themes=mysql_query("SELECT * FROM themes WHERE author_id = ".$_SESSION ['id']);
if($myrow=mysql_fetch_array($themes))
{
$result=mysql_query("SELECT * FROM themes");
while ($myrow=mysql_fetch_array($result))
{ print
('<tr height="50">
<td width="55%" valign="middle" align="center"><span class=""><b><a href="themes.php?id=">'.$myrow['name_themes'].'</a></b></span>
</td>
<td width="10%" class="row2" valign="middle" align="center">
</td>
<td width="12%" valign="middle" align="center"><span>'.$myrow['author_name'].'</span>
</td>
<td width="18%" valign="middle" align="center" ><span></span>
</td>
</tr>');
}
}
?>
</tbody>
</table>
<a href="themes.php?newthemes=1" class="spritethemes"></a>
</body>
</html>

Если нужно, то

test.maxdamage.ru адрес вход 123123123 123123123

Edited by necro
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy