Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Гостевая книга, Это финиш, прошу помощи. 
:(
    Опции темы
IZ@TOP
Дата 2.2.2005, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



В общем для начала неплохо.
Чего не хватает:

1) Дизайна.
2) Переадресации на тему когда создал сообщение.
3) Если это все же гостевая, а не форм, то ответы в сообщение лучше всеже как то выделять.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
  Дата 2.2.2005, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(IZ @ 2.2.2005, 10:51)
В общем для начала неплохо.
Чего не хватает:

1) Дизайна.
2) Переадресации на тему когда создал сообщение.
3) Если это все же гостевая, а не форм, то ответы в сообщение лучше всеже как то выделять.

Пускай будет форум, гостевая, как название мне не очень нравится.
Вопрос:
Нет Переадресации на тему когда создал сообщение, как ее сделать?
Я не совсем поняла суть.
Как она должна выглядеть?

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




--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 2.2.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(PARROT @ 2.2.2005, 14:29)
Нет Переадресации на тему когда создал сообщение, как ее сделать?
Я не совсем поняла суть.
Как она должна выглядеть?

Ну как на этом форуме, когда создаешь тему, тебя переадресовывает на нее. То есть тебе после добавления записи нужно взять ее ИД (mysql_insert_id()), и переадресовать на тему:
Код
<?php

// ... здесь у нас идет добавление записи в базу.

header('location: http://www.admin.traktora.spb.ru/comment.php?idp='.mysql_insert_id());
exit;

?>


Думаю этот пример должен быть понятен. Главное не забудь что надо делать переадресацию до любого вывода.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 2.2.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



http://www.admin.traktora.spb.ru/comment.php?idp=90 сама догадаешься? или помочь?
PM MAIL Skype   Вверх
IZ@TOP
Дата 2.2.2005, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Opr, не понял smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 2.2.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Я ответил в несуществующей теме.
Добавлено @ 16:16
+ Хотелось бы что бы по умолчанию при ответе тема указывалась текущая:
Re: Тема.
Добавлено @ 16:20
+ можно "опускать" обязательные поля:
http://www.admin.traktora.spb.ru/comment.php?idp=28
перед проверкой делай: trim($str) - что бы отсечь пробелы по краям
PM MAIL Skype   Вверх
PARROT
Дата 2.2.2005, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Opr @ 2.2.2005, 16:12)
Я ответил в несуществующей теме.
Добавлено @ 16:16
+ Хотелось бы что бы по умолчанию при ответе тема указывалась текущая:
Re: Тема.
Добавлено @ 16:20
+ можно "опускать" обязательные поля:
http://www.admin.traktora.spb.ru/comment.php?idp=28
перед проверкой делай: trim($str) - что бы отсечь пробелы по краям

Re: Тема- Я подумаю. Сегодня много работы.
Что значит "опускать" обязательные поля?
Перед какой проверкой делать trim($str) ?
Перед записью в базу?

Вообще мыслей много, надо бы разобраться и выстроить их последовательно, а то запутаюсь.

smile
Добавлено @ 19:10
Цитата(Opr @ 2.2.2005, 15:52)
http://www.admin.traktora.spb.ru/comment.php?idp=90 сама догадаешься? или помочь?

В чем догадаться? Что подставив в ссылку http://www.admin.traktora.spb.ru/comment.php любой номер idp, можно создать сообщение?
Да можно smile
А как этого избежать?
Исправить?




--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 3.2.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Я тут все про адресацию (header) думаю, да сейчас все работает, а стоит подключить какие-то файлы сверху и будет ошибка.
Как поступить?
На яваскрипте ошибок не дает.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 3.2.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Цитата
А как этого избежать?

select * from topics where id = $_GET['id'];
если записей нет - писать что ошибся темой))
Цитата
Перед какой проверкой делать trim($str) ?

зайди к себе на форум и сразу нажми "добавить", вылезит, что не все заполнено, вот перед этим и делай ))
Цитата
какие-то файлы сверху и будет ошибка.
Как поступить?

подключать снизу smile)
PM MAIL Skype   Вверх
IZ@TOP
Дата 3.2.2005, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



PARROT, даю совет всех времен и народов.
В начале файла который будет запущен из браузера и в котором могут быть проблемы с передачей заголовков используем функцию ob_start:

Код
<?php
// Самое начало файла
ob_start();

// ... а далее уже ижет и HTML и твой код и т.п.


// Самый конец файла
ob_end_flush();
?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Kurt
Дата 3.2.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: нет
Всего: 36



PARROT
Все сообщения при просмотре через Opera представляют собой набор нечитаемых каракулей. В IE все ОК. Разберись, пожалуйста, с кодировкой.


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
PARROT
Дата 3.2.2005, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Kurt @ 3.2.2005, 17:23)
PARROT
Все сообщения при просмотре через Opera представляют собой набор нечитаемых каракулей. В IE все ОК. Разберись, пожалуйста, с кодировкой.

До кодировки как и до дизайна дело еще не дошло, с этим не так плохо, как с программированием на php, этот вопрос сейчас главный!
smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 3.2.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Opr @ 2.2.2005, 16:12)
Я ответил в несуществующей теме.
Добавлено @ 16:16
+ Хотелось бы что бы по умолчанию при ответе тема указывалась текущая:
Re: Тема.
Добавлено @ 16:20
+ можно "опускать" обязательные поля:
http://www.admin.traktora.spb.ru/comment.php?idp=28
перед проверкой делай: trim($str) - что бы отсечь пробелы по краям

Исправила все кроме re: тема
Не доходит пока. Прошу подсказки. smile
Добавлено @ 18:22
Бред какой-то, переадресация не работает, просьба исправить, моя голова на сегодня соображать видимо закончила, если можно еще, объяснить ошибки:

Код

<html>
<head>
<script language=JavaScript src="anim.js"></SCRIPT>
</head>
<body>
<table width=900>
<tr>
<td align=right><a href="index.php">Посмотреть сообщения</td>
</tr>
</table>
<?
$db=mysql_pconnect("localhost","reviews","1538733");
       mysql_select_db("reviews");
$name=$_POST['name'];
$txt=$_POST['txt'];
$capt=$_POST['capt'];
if(isset($send) and $send=="Добавить")
{
if (mysql_num_rows(mysql_query("select count(id) from review where id=$idp"))==0)
{
echo "Такой темы нет!";
}
if (empty($name) || empty($capt) || empty ($mess)){
 echo "<center><font color=red>Не заполнены обязательные поля!</font></center>";
}
else
{
$data=date("Y.m.d  G:i:s");
mysql_query ("INSERT INTO review VALUES ('', '$data', '$capt', '$mess', '$name', '$idp','')");
?>
<script>document.location.href="comment.php?idp=<? echo $idp;?>";</script>
<?
}
}
?>
<Form name=myform action="add.php" Method="POST">
<table height=200 cellpadding="0" cellspacing="0" align="center"  border bordercolor=silver style=border-collapse:collapse>
<tr>
<td>
<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td style="padding-left:10">Имя:</td>
<td><Input Type="text" Name="name" maxlength="40" size="48"></td>
</tr>
<tr>
<td style="padding-left:10">тема:</td>
<td><Input Type="text" Name="capt" maxlength="40" size="48"></td>
</tr>
<tr>
<td  colspan=2 align=center>Сообщение:</td>
</tr>
<tr>
<td colspan=2 align=center><TextArea id=txtmes name="mess" rows=5 cols=30></TextArea></td>
</tr>
<tr>
<td><Input Type="submit" name=send Value="Добавить" style="cursor:hand"></td>
<td align="right"><Input Type=reset Value="Очистить" style="cursor:hand"></td>
</tr>
</table>
<input type=hidden name=idp value=<? echo $idp; ?>>

</td>
</tr>
</table>
</Form>
<center>Для добавления смайла щелкни по картинке.<br>
<table width=100% style="border:1 solid silver;border-collapse:collapse">
<tr align=center>
<?
for($i=1;$i<=10;$i++)
{
?>
<td><img src='smile/<? echo"$i.gif"?>' onClick="smile('#<?=$i?>')" onMouseover="this.style.cursor='hand'" onMouseout="this.style.cursor=''"></td>
<?
}
?>
</tr>
<tr align=center>
<?
for($i=11;$i<=20;$i++)
{
?>
<td><img src='smile/<? echo"$i.gif"?>' onClick="smile('#<?=$i?>')" onMouseover="this.style.cursor='hand'" onMouseout="this.style.cursor=''"></td>
<?
}
?>
</tr></table></center>
</body>
</html>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
IZ@TOP
Дата 4.2.2005, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Эх... вот, я немного переделал.

Код
<?php
ob_start();
// Как я уже говорил, эта функция буферезует вывод, и соответственно проблем
// с отправкой заголовков быть не должно.

error_reporting(E_ALL);
// После отладки выставь в 0
?>
<html>
<head>
<script language=JavaScript src="anim.js"></SCRIPT>
</head>
<body>
<table width=900>
<tr>
 <td align=right><a href="index.php">Посмотреть сообщения</td>
</tr>
</table>
<?
$db = mysql_pconnect("localhost","reviews","1538733");
mysql_select_db("reviews");

// Отсюда присвоения переменных я убрал. Незачем засорять память лишними перемнными.
// Тем более если у тебя register_globals на сервере = on, тебе использование $_POST, $_GET и т.п.
// не так уж и нужно. Однако если ты хочешь чтобы твои скрипты работали в будущем как надо и везде,
// то тебе необходимо пользоваться глобальными массивами и забыть о register_globals = on!

if(isset($send) and $send=="Добавить") {
if (mysql_num_rows(mysql_query("select count(id) from review where id=".intval($_POST['$idp'])))==0) {
 echo "Такой темы нет!";
}
if (empty($_POST['name']) || empty($_POST['capt']) || empty ($_POST['mess'])) {
 echo "<center><font color=red>Не заполнены обязательные поля!</font></center>";
}
} else {
$data=date("Y.m.d  G:i:s");
mysql_query ("INSERT INTO review VALUES ('', '".mysql_escape_string($data).
 "', '".mysql_escape_string($_POST['capt'])."', '".mysql_escape_string($_POST['mess'])."', '".
 mysql_escape_string($_POST['name'])."', '".intval($_POST['idp'])."','')");

// Более тщательная проверка передаваемых переменных.
// Надо всегда помнить самое главное правило: ни когда и ни при каких обстоятельствах,
// не доверять тому что ввел пользователь.

header('location: comment.php?idp='.$idp);
ob_end_flush();
exit;

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

}
}
$q = mysql_query("select capt from review where id=".intval($idp));
list($subject) = mysql_fetch_array($q, MYSQL_NUM);

// По поводу "re: тема". Выбираем из юазы тему сообщения в которую отвечаем, и выводим re: $subject в соотв. поле.

?>
<Form name=myform action="add.php" Method="POST">
<table height=200 cellpadding="0" cellspacing="0" align="center"  border bordercolor=silver style=border-collapse:collapse>
 <tr>
  <td>
   <table cellpadding="0" cellspacing="0" align="center">
    <tr>
     <td style="padding-left:10">Имя:</td>
      <td><Input Type="text" Name="name" maxlength="40" size="48"></td>
     </tr>
     <tr>
      <td style="padding-left:10">тема:</td>
      <td><Input Type="text" Name="capt" maxlength="40" value="Ответ: <?php echo $subject; ?>" size="48"></td>
     </tr>
     <tr>
      <td  colspan=2 align=center>Сообщение:</td>
     </tr>
     <tr>
      <td colspan=2 align=center><TextArea id=txtmes name="mess" rows=5 cols=30></TextArea></td>
     </tr>
     <tr>
      <td><Input Type="submit" name=send Value="Добавить" style="cursor:hand"></td>
      <td align="right"><Input Type=reset Value="Очистить" style="cursor:hand"></td>
    </tr>
   </table>
   <input type=hidden name="idp" value="<? echo $idp; ?>">
  </td>
 </tr>
</table>
</Form>
<center>Для добавления смайла щелкни по картинке.<br>
<table width=100% style="border:1 solid silver;border-collapse:collapse">
<tr align="center">
<?
for($i=1;$i<=10;$i++) {
?>
<td><img src='smile/<? echo"$i.gif"?>' onClick="smile('#<?=$i?>')" onMouseover="this.style.cursor='hand'" onMouseout="this.style.cursor=''"></td>
<?
}
?>
</tr>
<tr align="center">
<?
for($i=11;$i<=20;$i++)
{
?>
<td><img src='smile/<? echo"$i.gif"?>' onClick="smile('#<?=$i?>')" onMouseover="this.style.cursor='hand'" onMouseout="this.style.cursor=''"></td>
<?
}
?>
</tr>
</table></center>
</body>
</html>
<?php
ob_end_flush();
?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
PARROT
Дата 4.2.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Спасибо большое IZ@TOP.
Почти все работает.
smile
Ща еще доковыряю, немного осталось.

Вот, доковыряла, требует проверки и дальнейших советов.


Это сообщение отредактировал(а) PARROT - 4.2.2005, 20:08


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1921 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.