За последние 24 часа нас посетили 17803 программиста и 1685 роботов. Сейчас ищут 967 программистов ...

В чем ошибка?

Тема в разделе "PHP для новичков", создана пользователем agent669212, 20 дек 2009.

  1. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    if($submit){
    $at_real_world=$_POST['at_real_world'];
    if(empty($at_real_world)) echo "Введите текст!";
    else {
    $db = mysql_connect("localhost", "******","******");
    mysql_select_db("***********m",$db);
    $n = mysql_query("SELECT text FROM books",$db) or die(mysql_error());
    $t = mysql_result($n,$id,"text");
    $nt = $t.$at_real_world;
    $ok = mysql_query("UPDATE books SET text='$nt' WHERE id=$id" ) or die(mysql_error());
    echo 'Спасибо за добавление текста! Чтобы просмотреть свой текст обновите страницу.';
    }
    }

    Подскажите в чем здесь ошибка надо чтобы текст который находился в базе данных соединялся с введенным текстом и сохранялся в базу. Почему то при каждом обновлении текст который был введен опять пишеться.
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Я думаю это потому, что при обновлении текст, который введен, снова посылается на сервер и естественно снова пишется.
     
  3. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    а как сделать чтобы не посылался снова?
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    PHP:
    1. <?php
    2. if ($_SERVER["REQUEST_METHOD"]="POST"){
    3. //обработка ввода
    4.  
    5. header( 'refresh: 5; url='.$_SERVER['PHP_SELF'] );
    6. //Тут выводим нечто вроде "все ОК, щас обратно бросим"
    7.  exit;
    8. }
    9.  
     
  5. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    ну предположим в "обработка кода" я ввел код который сверху а что вводить в "тут выводим..." превидите небольшой пример (на словах)
     
  6. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    если не сложно можно вставить в этот фрагмент мой код
    1. <?php
    2. if ($_SERVER["REQUEST_METHOD"]="POST"){
    3. //обработка ввода
    4.
    5. header( 'refresh: 5; url='.$_SERVER['PHP_SELF'] );
    6. //Тут выводим нечто вроде "все ОК, щас обратно бросим"
    7. exit;
    8. }
     
  7. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Примерно то что получается когда добавляешь комментарий на этом форуме. Просто некая страница с подтверждением, того что информация принята.
     
  8. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    Вот это обязательная строка или ее можно заменить
     
  9. agent669212

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

    С нами с:
    15 дек 2009
    Сообщения:
    94
    Симпатии:
    0
    Адрес:
    Новосибирск
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    что это за ошибка
     
  10. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Переводите. Там все понятно.
    error in your SQL syntax - ошибка в sql синтаксисе. =))

    Эта та строка ради которой все и затевалось.
    Можно
    PHP:
    1. <?php
    2. header( 'refresh: 5; url='.$_SERVER['PHP_SELF'] );
    3.  //Тут выводим нечто вроде "все ОК, щас обратно бросим"
    4.   exit;
    заменить на:
    PHP:
    1. <?php
    2. header('Location: [url=http://www.example.com/'.$_SERVER]http://www.example.com/'.$_SERVER[/url]['PHP_SELF'] );
    И да я пропустил сайт в первом примере.