Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема :(исчезают записи в MySQL)
 
 автор: maDMo3r   (08.12.2004 в 17:23)   письмо автору
 
 

Помогите не знаю почему у меня вроде все настроено ! Ввожу текст нажимю добавить все пишет ок добавлено в базу данных ! Смотрю запись да добавлена! Через некоторое время она просто исчезает :( А если с другого компьютера зайти то вообще текста нету :( НЕ знаю в чем проблема :) Если нужен код то я напишу ! Может это проблема в mysql ? :) или я не правельно написал код :)

И Еше вопрос такой Что означает например вот эта ссылка ?
http://forum.ilyichevsk.net/index.php?s=9ebd171b6cef715cceaae62df46e090e&showforum=5

Вот обьясните что означает вот это --
?s=9ebd171b6cef715cceaae62df46e090e&showforum=5
? :)

   
 
 автор: cheops   (08.12.2004 в 17:50)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 17:23)
 

1) Нужно бы подробнее описать проблему - добавляем запись, потом она исчезает и не видна больше ни откуда? Т.е. не phpMyAdmin и не из скрипта? Кстати было бы неплохо увидить запрос, который извлекает запись из базы данных.
2) Это параметры скрипта - они обсуждаются по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=495. Здесь два параметра s, в значении которого передан идентификатор сессии и showforum, через который судя по названию передаётся уникальный номер раздела форума. http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=512

   
 
 автор: maDMo3r   (08.12.2004 в 19:32)   письмо автору
 
   для: cheops   (08.12.2004 в 17:50)
 

Вообщем так я ввожу текст и он по идеи отправляется в mysql потом на index.php должно отоброзить вот этот скрипт

<?php
                        
if (isset($HTTP_SESSION_VARS['valid_user']))
                        {
                            echo 
': '.$HTTP_SESSION_VARS['valid_user'];
                        }
                        else
                        {
                            echo(
"Новостей нету");
                            }
                        
?>


Он его отображает показывает все! но Другие Люди не видят его!
А если через некоторое время обновить страницу его вообще нету :(

Вот код вставки новостей :)


<?php
$dblocation 
"10.15.239.243";
$dbname "news";
$dbuser "root";
$dbpasswd "";

if (isset(
$HTTP_POST_VARS['nes']))
{
$nes $HTTP_POST_VARS['nes'];
$db_connect mysql_connect($dblocation,$dbuser,$dbpasswd);
mysql_select_db('news',$db_connect);
$query "select * from news where nes='".$nes;
$result mysql_query($query,$db_connect);
if (!
$result)
{
    
$HTTP_SESSION_VARS['valid_user'] = $nes;
    }
}

?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
<!--
.style2 {color: #666666}
-->
</style>
</head>

<body>
<div align="center"><span class="style2">Добавить Новость</span>
  <table width="39%"  border="1" align="left" bordercolor="#000000" bgcolor="#99CCFF">
    <tr>
      <th scope="row"><form method="post" action="admin.php">
        <table>
      </th>
    </tr><tr>
    <td width="741"><textarea name="nes" cols="50" rows="8"></textarea> </td>
    <td width="317">&nbsp;      </td>
  </tr>
  <tr>
    <td colspan="2">
      <table width="17%"  border="0" align="left" cellspacing="0">
        <tr>
          <th scope="row"><input name="submit" type="submit" value="Добавить"></th>
        </tr>
    </table></td>
  </tr>
  </table></form>
  <?
if (isset($HTTP_SESSION_VARS['valid_user']))
{
    echo 
' Запись добавлена ';
}
else
{
    if(isset(
$nes))
    {
        echo(
"ЗАпись не добавлена :(");
        }
    
?>  
  <?
}
?>
</div>
</body>
</html>

кажись все )  

   
 
 автор: cheops   (08.12.2004 в 19:54)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 19:32)
 

Ммм... а как же он вставляет запись в базу данных, если нет ни одного SQL-оператора INSERT?!

   
 
 автор: maDMo3r   (08.12.2004 в 20:53)   письмо автору
 
   для: cheops   (08.12.2004 в 19:54)
 

эмм.. :) Не знаю :) Обьясни что к чему плизз :) Если не трудно

может вот это тебе нужно ? :)

<?
if (isset($HTTP_SESSION_VARS['valid_user']))
{
    echo 
' Запись добавлена ';
}
else
{
    if(isset(
$nes))
    {
        echo(
"ЗАпись не добавлена :(");
        }
    
?>

   
 
 автор: cheops   (08.12.2004 в 21:43)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 20:53)
 

Базы данных не понимают PHP, с ними мы говорим на их языке - SQL. В нём имеются определённые ключевые слова:
SELECT - извлечь данные из таблицы
INSERT - вставить запись в таблицу
DELETE - удалить запись из таблицы
UPDATE - обновить запись в таблице
При помощи этих и других операторов формируется SQL-запрос, который мы скармливаем функции mysql_query() - она передаёт его базе данных, которая в свою очередь его выполняет. Т.е. если в теле скрипта нет строки вида:
<?php
  mysql_query
("INSERT ...");
?>

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

   
 
 автор: maDMo3r   (08.12.2004 в 21:50)   письмо автору
 
   для: cheops   (08.12.2004 в 21:43)
 

ТАк а куда мне вписывать этот скрипт который ты вписал ? :)

   
 
 автор: cheops   (08.12.2004 в 21:59)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 21:50)
 

Для того чтобы сформировать SQL-опратор INSERT нужно знать структуру таблицы, потом заменить блок
<?php
if (isset($HTTP_POST_VARS['nes'])) 

    
$nes $HTTP_POST_VARS['nes']; 
    
$db_connect mysql_connect($dblocation,$dbuser,$dbpasswd); 
    
mysql_select_db('news',$db_connect); 
    
$query "select * from news where nes='".$nes
    
$result mysql_query($query,$db_connect); 
    if (!
$result
    { 
    
$HTTP_SESSION_VARS['valid_user'] = $nes
    } 

?>

на
<?php
if (isset($HTTP_POST_VARS['nes'])) 

    
$nes $HTTP_POST_VARS['nes']; 
    
$db_connect mysql_connect($dblocation,$dbuser,$dbpasswd); 
    
mysql_select_db('news',$db_connect); 
    
$query "INSERT INTO news VALUES(NULL,'$nes')"
    
$result mysql_query($query,$db_connect); 
    if (!
$result
    { 
    
$HTTP_SESSION_VARS['valid_user'] = $nes
    } 

?>

PS Я написал лишь примерно как должен выглядеть оператор INSERT, его точный вид зависит от структуры таблицы... Если вы её приведёте, я сформирую точный SQL-запрос.

   
 
 автор: maDMo3r   (08.12.2004 в 23:30)   письмо автору
 
   для: cheops   (08.12.2004 в 21:59)
 

Вот вообщем база данных так построена ! :)


create database news;
Create table news (
id_news int(6) not null auto_increment,
name text,
time datetime default null,
primary key (id_news)
) type=MyISAM;


Че там дальше мудрить ? :)

   
 
 автор: cheops   (08.12.2004 в 23:47)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 23:30)
 

Ага, тогда строку в предыдущем посте
<?php
  $query 
"INSERT INTO news VALUES(NULL,'$nes')";
?>

заменяем на
<?php
  $query 
"INSERT INTO news VALUES(NULL,'$nes', NOW())";
?>

   
 
 автор: maDMo3r   (08.12.2004 в 23:52)   письмо автору
 
   для: cheops   (08.12.2004 в 23:47)
 

Покажи плиз как еще оно выводится? или у меня нормально оно выводится? :)

   
 
 автор: cheops   (08.12.2004 в 23:57)   письмо автору
 
   для: maDMo3r   (08.12.2004 в 23:52)
 

Выводить новости лучше при помощи следующего скрипта:
<?php
$db_connect 
mysql_connect($dblocation,$dbuser,$dbpasswd); 
if(!
$db_connect) exit(mysql_erorr());
$usdb mysql_select_db('news',$db_connect); 
if(!
$usdb) exit(mysql_erorr());
$query "select * from news"
$result mysql_query($query); 
if (!
$result) exit(mysql_erorr());
while(
$news mysql_fetch_array($result))
{
  echo 
$news['name']."<br><br>";
}
?>

   
 
 автор: maDMo3r   (09.12.2004 в 00:04)   письмо автору
 
   для: cheops   (08.12.2004 в 23:57)
 

Вот еще вопрос можно сделать чтобы удалять их из базы данных или чтобы они сами удалялись через некоторо время? :)

   
 
 автор: cheops   (09.12.2004 в 00:15)   письмо автору
 
   для: maDMo3r   (09.12.2004 в 00:04)
 

Это подробно обсуждается по ссылке

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=319

   
 
 автор: maDMo3r   (09.12.2004 в 16:16)   письмо автору
 
   для: cheops   (09.12.2004 в 00:15)
 

все работает только когда ввожу новость она отображается в 2-ух экземплярах :( а должно 1

И вот еще Как можно замутить чтобы поместить только 2 или 3 новости ? :)

   
 
 автор: cheops   (09.12.2004 в 21:56)   письмо автору
 
   для: maDMo3r   (09.12.2004 в 16:16)
 

>все работает только когда ввожу новость она отображается в
>2-ух экземплярах :( а должно 1
Хм... а можно взглянуть на текущий скрипт (цикл While - нет ли где вывода лишнего)?
>И вот еще Как можно замутить чтобы поместить только 2 или 3
>новости ? :)
Ммм... не очень понятно, ведь можно поместить 2 или 3 новости и они будут отображаться :)))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования