Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Март 01, 2017, 23:50:23


Войти


Страниц: [1]
  Печать  
Автор Тема: Создание форума(php +mysql)  (Прочитано 8030 раз)
0 Пользователей и 1 Гость смотрят эту тему.
kirill
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« : Май 16, 2008, 18:39:10 »

Ребят пытаюсь создать нечто вроде форума. Имя и сообщение заносятся в базу. Все работает, только при обновлении страницы последнее сообщение повторяется. То есть если 10раз обновишь - 10 раз последний пост будет отображаться. Файл forum.php один вызывает сам себя. Может кто-то сталкивался с подобной проблемой? 

Файл forum.php :
Код:
.......
<form name="blform"  action="forum.php" method="post">
<input  type="text" name="nam" size=15>
<textarea rows=20 cols="20"  name="msg"></textarea>
    <input type="submit" value="Войти">
</form>

<?php
 
    
$link mysql_connect("localhost""root""")or die("Could not connect");
    
mysql_select_db("vr") or die("Could not select database"); 
$u substr($_POST['nam'],0,15);
             
$s substr($_POST['msg'],0,10000);
             
$query "INSERT INTO `frm` (`nam`, `msg`) VALUES ('$u', '$s')";
$result mysql_query($query) or die("Query failed");

$result mysql_query("SELECT `nam`,`msg` FROM `frm`") or die("Query failed"); 
             while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
             foreach (
$line as $col_value) {
             print 
"$col_value";
         }
 
    } 
mysql_free_result($result);
mysql_close($link);
?>

..........
Записан
atimur
Просветлённый
****

Карма: 59
Сообщений: 990


Живу в SanCity


Просмотр профиля WWW
« Ответ #1 : Май 16, 2008, 19:07:11 »

Код:
.......
<form name="blform"  action="forum.php" method="post">
<input type="hidden" name="seenform" value="form">
<input  type="text" name="nam" size=15>
<textarea rows=20 cols="20"  name="msg"></textarea>
    <input type="submit" value="Войти">
</form>

<?php
 
    
$link mysql_connect("localhost""root""")or die("Could not connect");
    
mysql_select_db("vr") or die("Could not select database"); 
$seenform substr($_POST['seenform'],0,10);
$u substr($_POST['nam'],0,15);
             
$s substr($_POST['msg'],0,10000);

if (
$seenform == "form") {
            
$query "INSERT INTO `frm` (`nam`, `msg`) VALUES ('$u', '$s')";
$result mysql_query($query) or die("Query failed");
};

$result mysql_query("SELECT `nam`,`msg` FROM `frm`") or die("Query failed"); 
             while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
             foreach (
$line as $col_value) {
             print 
"$col_value";
         }
 
    } 
mysql_free_result($result);
mysql_close($link);
?>

..........
например так
Записан

- Правда, она всегда глаза режет...
- Капча - Идите лесом...
kirill
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« Ответ #2 : Май 16, 2008, 19:16:21 »

нет так все равно не работает. там косяк в том, что данные с формы 1 раз отправляются, при обновлении страницы они заново не отправляются. То есть при обн-ии $seenform == "form" все равно
Записан
kirill
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« Ответ #3 : Май 16, 2008, 19:17:38 »

эта штука работает, только если по "submitu" кликать
Записан
atimur
Просветлённый
****

Карма: 59
Сообщений: 990


Живу в SanCity


Просмотр профиля WWW
« Ответ #4 : Май 16, 2008, 19:20:06 »

А не проще переделать что бы показывало месаги, а когда нужно комент вставить то по get открывало форуму ввода комента ?
Записан

- Правда, она всегда глаза режет...
- Капча - Идите лесом...
kirill
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« Ответ #5 : Май 16, 2008, 19:30:20 »

да можно. я просто не хотел, чтобы еще какое-то окно открывалось. а нельзя как-нибудь  брать последнюю строку из базы и сравнивать с новой, чтобы не совпадали оба поля?
Записан
atimur
Просветлённый
****

Карма: 59
Сообщений: 990


Живу в SanCity


Просмотр профиля WWW
« Ответ #6 : Май 16, 2008, 19:48:06 »

эта штука работает, только если по "submitu" кликать
Собсно нипанятно зачем кликать на кнопку если неотправляешь сообщение
там же и без кнопки месаги из БД выводятся для просмотра
Записан

- Правда, она всегда глаза режет...
- Капча - Идите лесом...
kirill
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« Ответ #7 : Май 16, 2008, 19:58:26 »

просто я пробовал тиа такого алгоритма: после внесения $u и $s в базу, предавть их опять скрипту и сравнивать с новыми значениями, если совпадают не добавлять. и скрипт при введении в форму значей идентичных предыдущим не добавлял их в базу, но это токо при нажатии сабмита, а при обновлении простом это не работает.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.055 секунд. Запросов: 17.