necro
-
Posts
84 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by necro
-
-
Спасибо, буду пробывать) если что, я знаю куда идти и ещё мелочь одна, тут правда пхп, но мб кто знает и скрипты. confirm же как я понял должен передавать истину если жмешь ок и ложь если жмешь отмена. Сделал так:
echo "<a href='themes.php?close=$theme_id' onclick = confirm('Уверены?')>Закрыть тему</a>";
В итоге он в любом случае её закрывает.
-
Я это читал, ну загружу я файл на сервер, а как мне записать в базу место, где он хранится, чтоб потом его выводить.
-
Мне бы для начала узнать, как его загрузить на сервер, но это по сути тоже не тяжело, но мне ещё нужно занести в базу путь до файла, вот это я без понятия как сделать.
-
rus, выводил запрос, заносятся все данные кроме ида темы, он 0 всегда. И ещё с ходу такой вопрос, мне нужно к сообщению прикреплять файл, мб знаете, где можно почитать, как это сделать, смысл такой, я по идее должен загружать файл на сервер и записывать путь в базе, а потом при выводе, естественно считывать этот путь, чтобы файл выводился и можно было его скачать. Но вот только нигде не нашел этого, как отправить на мыла только нашел.
-
Дело в том, что он вообще ничего из этой переменной не передает, ставлю var dump и передает null. Вот весь код страницы, может так проще будет понять.
<?session_start();
require_once('connect.php');
mysql_query('SET NAMES UTF8');
$login = $_SESSION['login'];
$id=$_SESSION['id'];
$theme_id = $_SESSION['themes_id'];
$img = "<img src='image/noavatar.png'>";
$valid=true;
$create=false;
$result=false;
if(isset($_POST['try']))
{
if (($_POST['message']==""))
{
$valid=false;
}
else
{
$message =($_POST['message']);
$create=true;
$valid=true;
}
}
?>
<!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/messages.css" type="text/css" media="screen, projection" />
</head>
<body>
<?
if (isset($_SESSION['id'])|| $_SESSION['type']== 'admin')
{
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today<br/>
<a href='index.php?exit=1'>выход</a>
</div>");
if (!$valid) {?><center><h3>Вы не заполнили все необходимые поля</h3></center><?}
if ($create)
{
$theme_id = $_GET['uid'];
var_dump($theme_id);
$sql = "INSERT INTO `marchandby_test1`.`messages` (`theme_id`, `author_id`, `message`)
VALUES('$theme_id','$id','$message');";
$result = mysql_query($sql);
if ($result == 'true')
{
echo "<center><h3>Сообщение успешно добавлено<p><font color=red><a href=themes.php>Нажмите</a> для перехода к списку тем.</p></font></h3></center>";
}
else
{
echo "<center><h3>Ошибка при добавлении в базу данных</h3></center>";
}
}
if (!$result) {
if(isset($_GET['uid']))
{
$theme_id = (int)$_GET['uid'];
$result=mysql_query("SELECT * FROM themes WHERE id_themes='".$theme_id."'");
if($myrow=mysql_fetch_assoc($result))
{
echo "<div class='wrapper'>
<div class='topic'>
<span><a href='themes.php'>Список тем > </a>".$myrow['name_themes']."</span>
</div>";
$result=mysql_query("SELECT m.*, u.login
FROM messages m
left join user u on m.author_id=u.id WHERE theme_id='".$theme_id."' and first=1");
if($myrow=mysql_fetch_assoc($result)) {
$first_message = $myrow['message'];
$author = $myrow['login'];
echo "<div class='author_info'>".$img."<p>".$author."</p></div>";
echo "<div class='razd'></div>";
echo '<div class="message"><div class="time">Отправлено '.$myrow['time_create'].'</div><hr/><span class="text-message">'.$first_message.'</span></div>';
}
$result=mysql_query("SELECT m.*, u.login
FROM messages m
left join user u on m.author_id=u.id
WHERE theme_id='".$theme_id."' and first=0 order by time_create");
while ($myrow=mysql_fetch_assoc($result)) {
echo "<div class='author_info'>".$img."<p>".$author."</p></div>";
echo "<div class='razd'></div>";
echo '<div class="message"><div class="time">Отправлено '.$myrow['time_create'].'</div><hr/><span class="text-message">'.$myrow['message'].'</span></div>';
}
$result=mysql_query("SELECT * From themes Where id_themes ='".$theme_id."'");
$myrow=mysql_fetch_assoc($result);
if ($myrow['status']=='открыта') {
echo "<div class='reply'><h3 class='maintitle'>Ответить в тему</h3>
<div class='replybox'>
<form action='messages.php' method='post'>
<input type='hidden' name='try' value='1'/>
<textarea name='message' rows='10' cols='147' tabindex='0' style='height: 120px;cursor:text;'></textarea>
<input type='submit' name='submit' value='Отправить' class='submit'>
</form>
</div>
</div>";
}
if($myrow['status']=='открыта') {
echo "<a href='http://test.maxdamage.ru/themes.php?close=$theme_id'>Закрыть тему</a>";
}
else {
echo "<a href='http://test.maxdamage.ru/themes.php?open=$theme_id'>Открыть тему</a>";
}
echo "</div>";
}
}
}
}
?>
</body>
</html> -
Как мне передать ид темы, когда я создаю сообщение? К сообщениям темы перехожу вот тут:
<a href="messages.php?uid='.$myrow['id_themes'].'">'.$myrow['name_themes'].'</a>
Там поле отправить сообщение, пишу так:
$theme_id = $_GET['uid'];
$sql = "INSERT INTO `messages` (`theme_id`, `author_id`, `message`)
VALUES('$theme_id','$id','$message');";
$result = mysql_query($sql);Передает 0.
upd for rus:
Я заметил, что вы, как мой одногруппник, он всегда делал правильно, но не так, как все. Искал постоянно обходные пути и делал намного сложнее, чем можно было сделать)
Вот, как была решена предыдущая задача.
Ссылки:
if($myrow['status']=='открыта') {
echo "<a href='themes.php?close=$theme_id'>Закрыть тему</a>";
}
else {
echo "<a href='themes.php?open=$theme_id'>Открыть тему</a>";
}
if(abs(intval($_GET['close'])) > 0) {
mysql_query("UPDATE themes SET status = 'закрыта' WHERE id_themes=" . abs(intval($_GET['close'])));
}
if(abs(intval($_GET['open'])) > 0) {
mysql_query("UPDATE themes SET status = 'открыта' WHERE id_themes=" . abs(intval($_GET['open'])));
} -
отсюда
<a href="messages.php?uid='.$myrow['id_themes'].'">'.$myrow['name_themes'].'</a>
$theme_id = (int)$_GET['uid'];
-
Есть тема, таблица themes поле status равно открыта.
Есть ссылка, по нажатию на которую, нужно чтобы статус этот менялся на закрыта.
echo "<a href='messages.php?uid=".$myrow['id_themes']."&close=1'>Закрыть тему</a>";
if($_GET['close'] == 1) {
$result=mysql_query("SELECT * FROM themes WHERE id_themes='".$theme_id."'");
$myrow=mysql_fetch_assoc($result);
$myrow['status']=='закрыта';
}Намудрил чего-то и не работает, подскажите как это реализовать правильно.
-
Я понял, на что следует обратить внимание, просто во втором коде, даже если ошибки и есть, то он работает и работает именно так, как мне нужно и с кодом кстати мне тут помогли, а вот во втором случае он уже не хочет работать, вот я и спросил в чем разница.
-
Хорошо, тогда можете сказать от чего тут отталкиваться, я повторюсь, делал по аналогии, вот код из другого куска. Там принцип такой, сначала выводится список всех пользователей, нажимая на пользователя открывается новая страница и выводится инфа о нем. Вот код, он полностью рабочий, когда писал эту часть отталкивался от него. Просто я не вижу разницу.
if($_SESSION['type'] =='admin')
{
if(isset($_GET['uid']))
{
$result=mysql_query("SELECT * FROM user WHERE id='".$_GET['uid']."'");
if($myrow=mysql_fetch_array($result))
{
print('<center><h3>Пользователь:<br/>'.$myrow['site'].'<br /><a href="userinfo.php?uid='.$myrow['id'].'" style="margin-left:40px; margin-bottom:20px;">Вся инфа</a><hr/></h3></center>');
}
}
else
{ echo "<center><h1>Здравствуйте, администратор</center></h1>";
echo "<center><H3>Просмотр всех зарегистрированных</H3></center>";
$result=mysql_query("SELECT * FROM user");
while ($myrow=mysql_fetch_array($result))
{
print('<center><h3>Пользователь:<br/>'.$myrow['site'].'<br /><a href="userinfo.php?uid='.$myrow['id'].'" style="margin-left:40px; margin-bottom:20px;">Вся инфа</a><hr/></h3></center>');
}
}
$result=mysql_query("SELECT * FROM user WHERE id='".$_GET['uid']."'");
if($myrow=mysql_fetch_array($result))
{
print('<center><h3>Пользователь:<br/></h3></center>');
print ('<center><span class="userinfo">WWW: '.$myrow['site'].'</span></center>');
if($myrow['naimenovanie']!='')
{
print('<center><span class="userinfo">Наименование Юр. лица: '.$myrow['naimenovanie'].'<br /></span></center>');
}
} -
Так я учу, я понимаю, что ошибки, потому что ничего не работает, поэтому и пишу сюда, чтоб сказали, как правильно) А код не копировал) Только 3 строчки написал по аналогии с тем, что писал на другой странице, а тот код да мне на этом форуме написали, а так все сам пытаюсь.
-
Проблема явно не в этом.
-
Что-то химичу и вообще не выходит, была ранее у меня похожая ситуация, сделал по аналогии, только все равно выводить не хочет.
themes.php
<?
if (isset($_SESSION['id'])|| $_SESSION['type']== 'admin') {
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today</div>");
echo('<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">Статус темы</th>
<th width="12%" class="thCornerR" nowrap="nowrap">Автор</th>
<th width="18%" class="thCornerR" nowrap="nowrap">Обновления</th>
</tr>');
if($_POST['uid_themes'])
{
mysql_query('SET NAMES UTF8');
$themes = mysql_query("SELECT * FROM themes WHERE author_id = {$_SESSION ['id']}&& id='".$_POST['uid_themes']."' ORDER BY time_create DESC");
if (mysql_num_rows($themes) > 0) {
echo
('<tr height="50">
<td width="55%" valign="middle" align="center"><span class=""><b><a href="messages.php?uid='.$myrow['id_themes'].'">'.$myrow['name_themes'].'</a></b></span>
</td>
<td width="10%" class="row2" valign="middle" align="center">'.$myrow['status'].'
</td>
<td width="12%" valign="middle" align="center"><span>'.$myrow['author_name'].'</span>
</td>
<td width="18%" valign="middle" align="center" ><span>'.$myrow['time_create'].'</span>
</td>
</tr>');
}
}
else {
mysql_query('SET NAMES UTF8');
$themes = mysql_query("SELECT * FROM themes WHERE author_id = {$_SESSION ['id']}");
if (mysql_num_rows($themes) > 0) {
while ($myrow = mysql_fetch_assoc($themes)) {
echo
('<tr height="50">
<td width="55%" valign="middle" align="center"><span class=""><b><a href="messages.php?uid='.$myrow['id_themes'].'">'.$myrow['name_themes'].'</a></b></span>
</td>
<td width="10%" class="row2" valign="middle" align="center">'.$myrow['status'].'
</td>
<td width="12%" valign="middle" align="center"><span>'.$myrow['author_name'].'</span>
</td>
<td width="18%" valign="middle" align="center" ><span>'.$myrow['time_create'].'</span>
</td>
</tr>');
}
}
}
echo ('</tbody>
</table>
<a href="themescreate.php" class="spritethemes"></a>');
}
else
{
echo ("Для просмотра информации пожалуйста <a href='index.php'>авторизуйтесь</a>");
}
?>messages.php
<?
if (isset($_SESSION['id'])|| $_SESSION['type']== 'admin')
{
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today</div>");
if(isset($_POST['uid_themes']))
{
$result=mysql_query("SELECT * FROM themes WHERE id_themes='".$_POST['uid_themes']."'");
if($myrow=mysql_fetch_array($result))
{
echo "<div class='wrapper'>
<div class='topic'>
<span class='topic_title'>".$row['name_themes']."</span>
</div>
</div>";
}
}
}
?>в messages пустой экран, не хочет ничего выводить, хелп.
-
Ну это вообще потом, для начала мне бы разобраться с первой проблемой и выводом названия темы и первого сообщения конкретной темы, а с сообщениями уже потом буду разбираться
-
Ну суть такая, когда я создаю новую тему, я указываю имя темы и первое сообщение, ну как на любом форуме. Но все это я кидаю не в разные таблицы, а в одну - темы. Получается у меня там поля название темы, первое сообщение и тд. А все остальные сообщения уже будут храниться в другой таблице. Ну вот поэтому сначала мне нужно обратиться к одной таблице, чтобы вывести имя темы и первое сообщение, а потом ко второй, чтобы вывести остальные сообщения. Знаю муть, но и программист пхп с меня ещё никакой)
А по сабжу, получается, что мой код более менее правильные, просто нужно на странице тем в ссылке ещё передать айдишник темы?
-
В общем проблема такая. Пользователь заходит на сайт, вводит логин пасс, его кидает к списку его тем. В списке выводится название темы, имя автора. статус ну и прочее. Название темы есть ссылка, по нажатию на которую открывается новая страница, а на этой странице уже в свою очередь должны выводится данные той темы, на которую я нажал. Вот проблема с тем чтоб вывести данные конкретной темы, не могу правильно сделать запрос.
Вот код страницы тем, если нужен:
<?
if (isset($_SESSION['id'])|| $_SESSION['type']== 'admin') {
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today</div>");
echo('<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">Статус темы</th>
<th width="12%" class="thCornerR" nowrap="nowrap">Автор</th>
<th width="18%" class="thCornerR" nowrap="nowrap">Обновления</th>
</tr>');
mysql_query('SET NAMES UTF8');
$themes = mysql_query("SELECT * FROM themes WHERE author_id = {$_SESSION ['id']} ORDER BY time_create DESC");
if (mysql_num_rows($themes) > 0) {
while ($myrow = mysql_fetch_assoc($themes)) {
echo
('<tr height="50">
<td width="55%" valign="middle" align="center"><span class=""><b><a href="messages.php">'.$myrow['name_themes'].'</a></b></span>
</td>
<td width="10%" class="row2" valign="middle" align="center">'.$myrow['status'].'
</td>
<td width="12%" valign="middle" align="center"><span>'.$myrow['author_name'].'</span>
</td>
<td width="18%" valign="middle" align="center" ><span>'.$myrow['time_create'].'</span>
</td>
</tr>');
}
}
echo ('</tbody>
</table>
<a href="themescreate.php" class="spritethemes"></a>');
}
else
{
echo ("Для просмотра информации пожалуйста <a href='index.php'>авторизуйтесь</a>");
}
?>Вот одна из нерабочих версий messages.php
<?
if (isset($_SESSION['id'])|| $_SESSION['type']== 'admin') {
$date_today = date("d.m.y");
$today = date("H:i");
echo("<div class='date'>Здравствуйте, $login.<br/> Сегодня: $date_today - $today</div>");
if(isset($_GET['uid_themes']))
{
$result=mysql_query("SELECT * FROM themes WHERE id_themes='".$_GET['uid_themes']."'");
if($myrow=mysql_fetch_array($result))
{
echo("<div class='wrapper'>
<div class='topic'>
<span class='topic_title'>".$name_themes."
</span>
</div>
</div>");
}
}
}
?>Помогите люди добрые, правильно написать запрос, спасибо.
-
да. спасибо)
-
Добрый день, это снова я. Возник ещё один вопрос. Есть страница со списком тем и кнопка для создания новой темы. Получается адрес идет 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
-
при авторизации пишу
$_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>');
}Ну и вижу свое бла бла все время( что не так?
-
bgraf, получается в таблице themes я добавляю fk id_author и потом проверяю существует ли строка в этой таблице с таким id?
LunatiK, уж извините за доставленные неудобства, повторюсь это мое первое приложение и я новичек в этой области, простите что не правильно выражаюсь, если вам будет так угодно.
-
Ну как бы объяснить чтоб понятно было.
Значит вот пользователь авторизовался уже, проверило его тип
if($_SESSION['type'] =='user')
{
echo "<h3>Вы вошли как user. Для продолжения <a href='themes.php'>Нажмите</a></h3>";
}как бы страница вот эта themes.php получается шаблонная для всех идет.
И для каждого пользователя я должен делать проверку, создана ли для него уже страница с темами или её необходимо создать и выводим либо пустую либо страницу уже созданную. Дальше в ней же опять проверяем создавались ли уже темы, если да, то выводим эти темы.
Ну принцип такой.
Вот это я и не понимаю как реализовать.
-
Регистрацию и авторизацию я сделал, я написал на чем застрял, вот там проблема для меня.
-
Здравствуйте. Возник такой вопрос. Я пишу что-то типо мини-форума. Смысл такой. Пользователь авторизовывается и для него создается шаблонная страница, для каждого пользователя должна создаваться своя страница, если она уже существует, то должны выводится все ранее созданные темы. Я застрял. Просто раньше с пхп и mysql я не работал, это мое первое приложение и многого я найти не могу. Я не прошу писать за меня код, но может кто-то потратит немного времени и объяснит мне на пальцах, быть может с какими то небольшими строчками для наглядности, как мне связать все эти сущности, куда какие ключи добавить в базе, чтоб вытягивать записи и как вообще организовать то, что я хочу конкретно посредством пхп. Интересует конкретно создание вот этих страниц и проверка есть ли такая страница уже у пользователя.
Если кто-то поможет буду очень благодарен. Можете стучать в асю или гт.
415421225
d9idbka@gmail.com
Или напишите в данной теме. Заранее спасибо.
-
нет) идиот) спасибо, все нормально.
Изменить значение по нажатию на ссылку
in PHP
Posted
Неа, не работает) первый вариант вообще, второй опять же закрывает в любом случае, чтобы я не нажал.