За последние 24 часа нас посетили 36690 программистов и 1707 роботов. Сейчас ищут 1003 программиста ...

запись данных в MySQL

Тема в разделе "PHP для новичков", создана пользователем Lexx, 25 авг 2008.

  1. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Подскажите пожалуйста как решить вот такую проблемку:

    Имеется скрипит который записывает в базу данных (MySQL) информацию в веденную в текстовом окне но если обновить страничку скрипт записывает пустую строку в базу данных.
    То есть я нечего не написал в текстовом окне страничку обновил и в базу данных записалась пустая строка!
     
  2. Vitas

    Vitas Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    Быстрее хабрака... то есть код, код, код!
     
  3. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Вот код. Проблема я думаю в том что запись сохраняются в $_POST['text_message'] и скрипт работает по кругу, и как эту проблему решить не знаю!!!!!!!!!! :?: :?: :?: :?: :?: :?: :?:
    PHP:
    1. <? 
    2. $host = "localhost";
    3. $user = "root";
    4. $database = "subjects";
    5. $tables = "test";
    6. $connect = mysql_connect($host, $user);
    7. mysql_select_db($database);
    8.            
    9.                 $user = $_SESSION['name'];             
    10.                 $text_message = $_POST['text_message'];
    11.                
    12.         if ($text_message != $text_message)
    13.            
    14.         {  
    15.                 if (!empty ($text_message) && !empty ($user))
    16.                
    17.                 {
    18.                     mysql_query("INSERT INTO $tables VALUES ('$user', '$text_message')");
    19.                     echo "соощение добавлено";    
    20.                 }
    21.                    
    22.                 else
    23.                             {  
    24.                                 echo "вы нечего не ввели";
    25.                             }
    26.                
    27.         }
    28.                 mysql_close($connect);
    29. ?>
     
  4. wap7.ru

    wap7.ru Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    28
    Симпатии:
    0
    мне понравилось

    PHP:
    1. if ($text_message != $text_message)
     
  5. wap7.ru

    wap7.ru Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    28
    Симпатии:
    0
    Чтобы при обновлении страницы не происходило повторного добавления камента в самом начале скрипта напиши:

    if(isset($_POST['message'])) header('Location: http://домен.ру/index.php');
     
  6. sitelev

    sitelev Активный пользователь

    С нами с:
    1 май 2008
    Сообщения:
    8
    Симпатии:
    0
    Да, наверно перенаправление спасет, только думаю. нужно делать это в конце,
    после топравки данных в базу :)
     
  7. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    Не помогает. :cry:
     
  8. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    PHP:
    1. <?php
    2. if( isset($_POST['text_message']) && strlen($_POST['text_message']))
    3. {
    4.     session_start();
    5.     @mysql_pconnect('localhost', 'root', 'password') or die( mysql_error());
    6.     @mysql_select_db('subjects') or die( mysql_error());
    7.     @mysql_query('INSERT INTO ' .$tables .'VALUES ("' .mysql_real_escape_string($_SESSION['name']) .'", "' .mysql_real_escape_string($text_message) .'")') or die( mysql_error());
    8.     echo 'Сообщение добавлено!';
    9. }
    10. else
    11.     echo 'Вы ничего не ввели!';
    12. ?>
     
  9. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    А можно с коментаричми!

    Может что то я не так делаю. Соединил коды:
    PHP:
    1. <?
    2.  $host = "localhost";
    3.  $user = "root";
    4.  $database = "subjects";
    5.  $tables = "test";
    6.  $connect = mysql_connect($host, $user);
    7.  mysql_select_db($database);
    8.              
    9.                  $user = $_SESSION['name'];                
    10.                  $text_message = $_POST['text_message'];
    11.                  
    12.          if( isset($_POST['text_message']) && strlen($_POST['text_message']))
    13.  {
    14.      session_start();
    15.      @mysql_pconnect('localhost', 'root', 'password') or die( mysql_error());
    16.      @mysql_select_db('subjects') or die( mysql_error());
    17.      @mysql_query('INSERT INTO ' .$tables .'VALUES ("' .mysql_real_escape_string($_SESSION['name']) .'", "' .mysql_real_escape_string($text_message) .'")') or die( mysql_error());
    18.      echo 'Сообщение добавлено!';
    19.  }
    20.  else
    21.      echo 'Вы ничего не ввели!';
    22.  ?>
    и стала выдовать ошибку:
    Warning: session_start() [function.session-start]: open(c:/Program Files/WEB Server/PHP5/tmp\sess_f53e7813aa3fbf47bc817641ff649034, O_RDWR) failed: No such file or directory (2) in D:\WEB_Server\host\lexx.com\php skript\4.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\WEB_Server\host\lexx.com\php skript\4.php:2) in D:\WEB_Server\host\lexx.com\php skript\4.php on line 2

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\WEB_Server\host\lexx.com\php skript\4.php:2) in D:\WEB_Server\host\lexx.com\php skript\4.php on line 2
    Вы ничего не ввели!
    Warning: Unknown: open(c:/Program Files/WEB Server/PHP5/tmp\sess_f53e7813aa3fbf47bc817641ff649034, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

    Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:/Program Files/WEB Server/PHP5/tmp) in Unknown on line 0
     
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    у тебя сессия стартует 2 раза.
    Второй session_start убери.
     
  11. Graph

    Graph Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    22
    Симпатии:
    0
    и к базе данных два раза коннектишься
     
  12. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Просто скопируй мой скрипт, свой удали. Что ты тупишь :).
     
  13. Lexx

    Lexx Активный пользователь

    С нами с:
    31 июл 2008
    Сообщения:
    35
    Симпатии:
    0
    ООООООООООООО!!!!!!!!!!!!!!!!!!! ступил только сечас заметил :oops: .

    Спасибо всем за помощь! Все разобрался! Заработало! :D