За последние 24 часа нас посетили 17411 программистов и 1601 робот. Сейчас ищут 948 программистов ...

не вставляются записи в базу данных при помощи php скрипта,

Тема в разделе "Установка PHP", создана пользователем kuzkas, 7 апр 2011.

  1. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    причем на хостинг сервере все отлично работает, этот сайт заказывали , а сейчас появилась необходимость его изменить, установила на свой комп apache+php+mysql+smarty+phpmyadmin, правлю php и tpl скрипты для отображения все отлично работает, тестится и 1 скрипт на добавление в базу "Отправить заявку" срабатывает, а вот 3 скрипта на добавление нового пользователя, обновления прайс-листа и обновления каталога - нет, премиленько удаляют все записи из базы, а добавлять отказываются... если добавлять записи непосредственно из phpmyadmin - все работает....... не могу найти причину... всю голову уже сломала... может где в настройках .... скрипты с заявкой и пользователем сравнила, идентичные по добавлению... и если на хостинг сервере работает значит причина не в скрипте....
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
  3. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    Код (Text):
    1. <?
    2.  
    3. class PriceTable extends ModuleTable
    4. {
    5.     var $classname = 'Price';
    6.    
    7.     function DelDir($directory) {
    8.         $dir = opendir($directory);
    9.         while(($file = readdir($dir))) {
    10.             if (is_file($directory."/".$file)) {
    11.                 unlink ($directory."/".$file);
    12.             } elseif (is_dir($directory."/".$file) && ($file!=".") && ($file != "..")) {
    13.                 full_del_dir ($directory."/".$file);  
    14.             }
    15.         }
    16.        
    17.         closedir ($dir);
    18.         #rmdir ($directory);
    19.     }
    20.  
    21.     function init () {
    22.         $sPath  = '../files/db_price/';
    23.         $dDir = opendir($sPath);
    24.         $aFileList=array();
    25.         while ($sFileName=readdir($dDir)) {
    26.             if ($sFileName!='.' && $sFileName!='..') {
    27.                 $aFileList[]=$sFileName;
    28.             }
    29.             sort($aFileList);
    30.         }
    31.         closedir ($dDir);
    32.         $iNumFiles=count($aFileList);
    33.        
    34.         if ($iNumFiles!=0) {
    35.            
    36.             $del_price = &new Price();
    37.             $del_price->query ('TRUNCATE '.$del_price->__table);
    38.             $this->DelDir('../files/price/');
    39.            
    40.             foreach ($aFileList as $k=>$file) {
    41.                 if (strtolower(substr($file,strlen($file)-4))=='html') {
    42.                     $bufer = substr($file,0,strlen($file)-5);
    43.                     $date = substr($bufer,strlen($bufer)-9,strlen($bufer));
    44.                     $name = substr($bufer,0,strlen($bufer)-9);
    45.                    
    46.                     $add = &new Price();
    47.                     $add->pr_name = $name;
    48.                     $add->pr_date = $date;
    49.                     $add->update();
    50.                    
    51.                     if (file_exists($sPath.$file)) {
    52.                         copy($sPath.$file,'../files/price/price_'.$add->pr_name.'.html');
    53.                     }
    54.                    
    55.                     $update_file = &new Price();
    56.                     $update_file->pr_id = $add->pr_id;
    57.                     $update_file->pr_file = '/files/price/price_'.$add->pr_name.'.html';
    58.                     $update_file->update();
    59.                 } else {
    60.                     $name = substr($file,0,strlen($file)-5);
    61.                    
    62.                     $add = &new Price();
    63.                     $add->pr_name = $name;
    64.                     $add->pr_date = date('d.m.Y');
    65.                     $add->update();
    66.                    
    67.                     if (file_exists($sPath.$file)) {print_r($name);
    68.                         copy($sPath.$file,'../files/price/'.$file);
    69.                     }
    70.                    
    71.                     $update_file = &new Price();
    72.                     $update_file->pr_id = $add->pr_id;
    73.                     $update_file->pr_file = '/files/price/'.$file;
    74.                     $update_file->update();
    75.                 }
    76.                 unlink($sPath.$file);
    77.             }
    78.         }
    79.     }
    80. }
    81. ?>
     
  4. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    это обновление прайс-листа, все записи из таблицы старые удаляются, из каталога в каталог копируются, а в БД не добавляются..
     
  5. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    Код (Text):
    1. <?
    2. class Price extends Access
    3. {
    4.     var $pr_id;
    5.  
    6.     var $pr_name;
    7.     var $pr_file;
    8.     var $pr_date;
    9.  
    10.     var $pr_isactive;
    11.     var $pr_pos;
    12.  
    13.     var $prefix = 'pr_';
    14.  
    15.     function setFrom ($array)
    16.     {
    17.         parent::setFrom ($array);
    18.     }
    19. }
    20. ?>
     
  6. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    ОШИБКИ:

    Warning: Call-time pass-by-reference has been deprecated in D:\server\aist76.ru\admin\modules\moduletable.php on line 431

    Warning: Call-time pass-by-reference has been deprecated in D:\server\aist76.ru\admin\modules\moduletable.php on line 446

    Notice: Undefined index: 0 in D:\server\aist76.ru\admin\tpl\c\back\%%47^470^470AABD1%%tree.tpl.php on line 5
     
  7. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    Код (Text):
    1.                 $item = &new $this->classname;
    2.                 $item->{$fildparent} = isset ($_GET[$fildparent]) ? $_GET[$fildparent] : null;
    3.                 ModuleFront::getBranch ($item, &$tree , array('title'=>$setting->TableTitle (), 'sub_title'=>$setting->TableSubTitle())); //строка 431
    4.            
    5.  
    6.                 $this->buildCreateTable (&$rows[$i]);// строка 446
    7.            
     
  8. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    при добавлении нового пользователя выходит ошибка
    Notice: Undefined index: font in D:\server\aist76.ru\security.php on line 103


    это строка

    Код (Text):
    1. if ($a = $AllowableHTML[$tag])//строка 103
    2.         if ($reg[1][0] == "/") $tag = "</$tag>";
    3.         elseif (($a == 1) || ($reg[2] == "")) $tag = "<$tag>";
    4.         else {
    5.             $attrb_list=delQuotes($reg[2]);
    6.             $tag = "<$tag" . $attrb_list . ">";
    7.         }
    8.         else $tag = "";
     
  9. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    поправила на

    Код (Text):
    1. if ($a == $AllowableHTML[$tag])//строка 103
    предупреждение перестало выходить но запись в таблицу так и не добавилась
     
  10. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    Код (Text):
    1. function update ()
    2.     {
    3.         $ret = false;
    4.         if ($this->isEdit ())
    5.         {
    6.             $idfield = $this->_id;
    7.             $classname = get_class ($this);
    8.             $this->old = new $classname;
    9.             $this->old->get ($this->$idfield);
    10.             if ((($result = parent::update ()) > 0) || $this->isPresentUploadedFiles ())
    11.             {
    12.                 $this->updatePos ('update');
    13.                 $ret = $this->updateFiles ();
    14.                 $this->backups ();
    15.             }
    16.         } else
    17.         {
    18.             if (($result = parent::insert ()) > 0)
    19.             {
    20.                 $this->updatePos ('insert');
    21.                 $ret = $this->updateFiles ();
    22.             }
    23.         }
    24.         return $result || $ret;
    25.     }
     
  11. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
  12. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    mysql_error() не знаю куда здесь вставлять... в загрузке прайс-листов после update();
    он ничего не показал..
     
  13. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    а загрузка каталога, как начинается так и продолжается до бесконечности, хотя на хостинг-сервере ей хватает 30 мин для обработки всей базы (~5500 записей), удаляются все наименования, добавления не происходит...
     
  14. kuzkas

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

    С нами с:
    7 апр 2011
    Сообщения:
    13
    Симпатии:
    0
    Адрес:
    Ярославль
    обратила внимание на классы, что привело к папке pear в директории сайта, я его установила (раньше это была только копия с сервера), перетащила туда все папки, которых не хватало и все заработало....