Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

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

 

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

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

тема: проблема с добавлением записи
 
 автор: Angel_Hranitel   (27.06.2007 в 23:20)   письмо автору
 
 

вообщем пишу гостю и сталкнулся с такой проблемой...
пишу первое сообщение, в гостевой пусто, пишу второе, а появляется первое... почему такое может быть????????
гостя на мускуле

   
 
 автор: bronenos   (27.06.2007 в 23:36)   письмо автору
 
   для: Angel_Hranitel   (27.06.2007 в 23:20)
 

кэширование - попробуйте F5

   
 
 автор: Angel_Hranitel   (28.06.2007 в 00:01)   письмо автору
 
   для: bronenos   (27.06.2007 в 23:36)
 

очистил кэш, а ничего не изменилось

   
 
 автор: sim5   (28.06.2007 в 00:12)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 00:01)
 

В коде ошибка.

   
 
 автор: Петр   (28.06.2007 в 10:11)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 00:01)
 

Убедись, в том что:
добавление записи идет до вывода всех записей

<?
// Подключение к БД;
if ($_POST) {
 
// Запись в БД;
}
// Чтение и вывод из БД;
?>

   
 
 автор: Yuriev   (28.06.2007 в 00:16)   письмо автору
 
   для: Angel_Hranitel   (27.06.2007 в 23:20)
 

Причин может быть примерно 950.
Скрипт можно увидеть?

   
 
 автор: Angel_Hranitel   (28.06.2007 в 07:33)   письмо автору
 
   для: Yuriev   (28.06.2007 в 00:16)
 

Можно... А в какой странице? Главная или где идет добавление записи?

   
 
 автор: bronenos   (28.06.2007 в 08:47)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 07:33)
 

по хорошему обе, но для начала можно бы добавление

   
 
 автор: Angel_Hranitel   (28.06.2007 в 21:49)   письмо автору
 
   для: bronenos   (28.06.2007 в 08:47)
 


<?php
switch($w)
{
case 
"write":
include(
"../up.php");
echo 
"<head><meta http-equiv=\"Cache-Control\" content=\"no-cache\" forua=\"true\"/></head>\n";
echo 
"<card id=\"index\" title=\"Написать в гостевую\">";
echo 
"<p align=\"center\">";
require(
"../conf.php");
$w='ok';
 if(!isset(
$_SESSION['name']))
 {
   if (!isset(
$nick))
   {
    echo 
"</p><p align=\"left\">
    Ник: <input name=\"name\" maxlength=\"40\"/><br/>
    Сообщение: <input type=\"text\" name=\"mess\"/><br/>
    Email: <input name=\"email\" maxlength=\"40\"/><br/>
    Сайт: <input name=\"url\" maxlength=\"40\"/><br/>
    <anchor title=\"Написать\">Написать<go href=\"write.php\" method=\"post\">
    <postfield name=\"name\" value=\"$(name)\"/>
    <postfield name=\"mess\" value=\"$(mess)\"/>
    <postfield name=\"email\" value=\"$(email)\"/>
    <postfield name=\"url\" value=\"$(url)\"/>
    <postfield name=\"w\" value='"
.$w."'/>
    </go></anchor></p><p align=\"center\">"
;
    include (
"../exit.php");
   }
   else
   {
    echo 
"</p><p align=\"left\">
    Ник: <input name=\"name\" maxlength=\"40\"/><br/>
    Сообщение: "
.$nick.", <input type=\"text\" name=\"mess\"/><br/>
    Email: <input name=\"email\" maxlength=\"40\"/><br/>
    Сайт: <input name=\"url\" maxlength=\"40\"/><br/>
    <anchor title=\"Написать\">Написать<go href=\"write.php?nick="
.$nick."\" method=\"post\">
    <postfield name=\"name\" value=\"$(name)\"/>
    <postfield name=\"mess\" value=\"$(mess)\"/>
    <postfield name=\"email\" value=\"$(email)\"/>
    <postfield name=\"url\" value=\"$(url)\"/>
    <postfield name=\"w\" value='"
.$w."'/>
    </go></anchor></p><p align=\"center\">"
;
    include (
"../exit.php");
   }
 }
 else
 {
    
$query "SELECT * FROM users WHERE name = '$_SESSION[name]'";
    
$usr mysql_query($query);
    if(!
$usr)
     {
        echo 
"Ошибка - ".mysql_error();
        include (
"../exit.php");
     }
    
$user mysql_fetch_array($usr);

   if (!isset(
$nick))
   {
    echo 
"</p><p align=\"left\">".$v."
    Ник: "
.$user['name']."<br/>
    Сообщение: <input type=\"text\" name=\"mess\"/><br/>
    Email: "
.$user['email']."<br/>
    Сайт: "
.$user['url']."<br/>
    <anchor title=\"Написать\">Написать<go href=\"write.php\" method=\"post\">
    <postfield name=\"mess\" value=\"$(mess)\"/>
    <postfield name=\"w\" value='"
.$w."'/>
    </go></anchor>"
.$v1."</p><p align=\"center\">";
    include (
"../exit.php");
   }
   else
   {
       echo 
"</p><p align=\"left\">".$v."
    Ник: "
.$user['name']."<br/>
    Сообщение: "
.$nick.", <input type=\"text\" name=\"mess\"/><br/>
    Email: "
.$user['email']."<br/>
    Сайт: "
.$user['url']."<br/>
    <anchor title=\"Написать\">Написать<go href=\"write.php?nick="
.$nick."\" method=\"post\">
    <postfield name=\"mess\" value=\"$(mess)\"/>
    <postfield name=\"w\" value='"
.$w."'/>
    </go></anchor>"
.$v1."</p><p align=\"center\">";
    include (
"../exit.php");
   }
 }
break;

case 
'ok':
    include (
"../up.php");
    echo 
"<head><meta http-equiv=\"Cache-Control\" content=\"no-cache\" forua=\"true\"/></head>\n";
    echo 
"<card id=\"reg\" title=\"Написать в гостевую\">";
    echo 
"<p align=\"center\">";
    require(
"../conf.php");
if(!isset(
$_SESSION['name']))
 {
    
// Если на сервер не включены "магические кавычки"
    // обрабатываем введённые пользователями данные
    // функцией mysql_escape_string()

    
if (!get_magic_quotes_gpc())
      {
          
$_POST['mess']  = mysql_escape_string($_POST['mess']);
      }

    
$_POST['mess'] = htmlspecialchars(trim($_POST['mess']));

    
// Проверяем правильно ли заполнены обязательные поля
    
if(empty($_POST['name']))
     {
     echo 
"Поле \"Ник\" не заполнено";
     include (
"../exit.php");
     }

    if(empty(
$_POST['mess']))
     {
     echo 
"Поле \"Сообщение\" не заполнено";
     include (
"../exit.php");
     }

    if(!
preg_match("/^[а-яёa-z1-9\@\-\_\=]+$/iu",$_POST['name']))
     {
     echo 
"В поле \"Ник\" введены недопустимые символы!";
     include (
"../exit.php");
     }

    if (!empty(
$_POST['city']) && !check_sity($_POST['sity']))
     {
     echo 
"В поле \"Город\" введены недопустимые символы!";
     include (
"../exit.php");
     }

    if (!empty(
$_POST['email']) && !check_email($_POST['email']))
     {
     echo 
"В поле \"Email\" введены недопустимые символы!";
     include (
"../exit.php");
     }

    if(!empty(
$_POST['url']) && !eregi("[^a-z0-9_@+-]",$_POST['url']))
     {
     echo 
"В поле \"Url\" введены недопустимые символы!";
     include (
"../exit.php");
     }

    
// Проверяем не было ли переданное имя
    // зарегистрировано ранее
    
$query "SELECT COUNT(*) FROM users WHERE name = '".$_POST['name']."'";
    
$usr mysql_query($query);
    if(!
$usr)
     {
     echo 
"Ошибка - ".mysql_error();
     include (
"../exit.php");
     }
    
$total mysql_result($usr0);
    if(
$total 0)
     {
     echo 
"Данное имя уже зарегистрировано, пожалуйста, выберите другое";
     include (
"../exit.php");
     }

    
///////////////////////////////////////////////////
    
if (!isset($nick))
    {
        
$mess=$_POST['mess'];
    }
    else
    {
        
$mess=$nick.", ".$_POST['mess'];
    }
            
$ip=$REMOTE_ADDR;
            
$ua=$HTTP_USER_AGENT;
            
$date_post=htmlspecialchars(date('d-m-y H:i:s'));
    
///////////////////////////////////////////////////

    // Формируем и выполняем SQL-запрос на
    // добавление записи

      
if(!mysql_query("INSERT INTO gb SET
                name='"
.$_POST['name']."',
                post='"
.$mess."',
                email='"
.$_POST['email']."',
                url='"
.$_POST['url']."',
                ua='"
.$ua."',
                ip='"
.$ip."',
                date_post='"
.$date_post."'"))
       {
        echo 
"Ошибка при добавлении записи - ".mysql_error();
        include (
"../exit.php");
       }
       else
       {
           echo 
"Ваше сообщение добавлено";
           
header("location:index.php?page=1");
       }
 }
 else
 {
    if (!
get_magic_quotes_gpc())
      {
          
$_POST['mess']  = mysql_escape_string($_POST['mess']);
      }

    
$_POST['mess'] = htmlspecialchars(trim($_POST['mess']));

    
$query "SELECT * FROM users WHERE name = '$_SESSION[name]'";
    
$usr mysql_query($query);
    if(!
$usr)
     {
        echo 
$v."Ошибка - ".mysql_error().$v1;
        include (
"../exit.php");
     }
    
$user mysql_fetch_array($usr);

    
///////////////////////////////////////////////////
    
if (!isset($nick))
    {
        
$mess=$_POST['mess'];
    }
    else
    {
        
$mess=$nick.", ".$_POST['mess'];
    }
            
$ip=$REMOTE_ADDR;
            
$ua=$HTTP_USER_AGENT;
            
$date_post=htmlspecialchars(date('d-m-y H:i:s'));
    
///////////////////////////////////////////////////

    // Формируем и выполняем SQL-запрос на
    // добавление записи

      
if(!mysql_query("INSERT INTO gb SET
                name='"
.$user['name']."',
                post='"
.$mess."',
                email='"
.$user['email']."',
                url='"
.$user['url']."',
                ua='"
.$ua."',
                ip='"
.$ip."',
                date_post='"
.$date_post."'"))
       {
        echo 
$v."Ошибка при добавлении записи - ".mysql_error().$v1;
        include (
"../exit.php");
       }
       else
       {
           echo 
"Ваше сообщениедобавлено";
             
header("location:index.php?page=1");
       }
 }
break;
 }

?>

   
 
 автор: Trianon   (28.06.2007 в 21:59)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 21:49)
 

У Вас третьей строкой стоит echo .
Какой после этого может быть header()?

   
 
 автор: Angel_Hranitel   (28.06.2007 в 23:25)   письмо автору
 
   для: Trianon   (28.06.2007 в 21:59)
 

это где вы нашли?

   
 
 автор: Unkind   (29.06.2007 в 00:04)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 23:25)
 

Вы про header()?

else
{
echo "Ваше сообщениедобавлено";
header("location:index.php?page=1");
}

   
 
 автор: Trianon   (29.06.2007 в 00:20)   письмо автору
 
   для: Angel_Hranitel   (28.06.2007 в 23:25)
 

возможно насчет третьей строки я и неправ. Попозже чуток. Но все равно в той же ветви switch, что и header() внизу приведенного фрагмента.

   
 
 автор: Angel_Hranitel   (29.06.2007 в 18:15)   письмо автору
 
   для: Trianon   (29.06.2007 в 00:20)
 

пишу первое сообщение, в гостевой пусто, пишу второе, а появляется первое... почему такое может быть???????? :(

   
 
 автор: Angel_Hranitel   (30.06.2007 в 23:09)   письмо автору
 
   для: Angel_Hranitel   (29.06.2007 в 18:15)
 

убрал перед header() строку echo... результата никакого....
код главной прикрепил....

   
 
 автор: Angel_Hranitel   (02.07.2007 в 03:05)   письмо автору
 
   для: Angel_Hranitel   (30.06.2007 в 23:09)
 

вопрос еще актуален

   
 
 автор: Unkind   (02.07.2007 в 05:01)   письмо автору
 
   для: Angel_Hranitel   (02.07.2007 в 03:05)
 

Скорее всего ошибка при выводе сообщений и искать ее в файле, где оно добавляется не стоит.

   
 
 автор: Angel_Hranitel   (02.07.2007 в 09:01)   письмо автору
 
   для: Unkind   (02.07.2007 в 05:01)
 

Я постом выше прикрепил файл с выводом сообщений из базы

   
 
 автор: Angel_Hranitel   (04.07.2007 в 01:19)   письмо автору
 
   для: Angel_Hranitel   (02.07.2007 в 09:01)
 

Up

   
Rambler's Top100
вверх

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