Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите исправить баг при обновление страницы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
tgcoin
Отправлено: 13 Января, 2012 - 14:00:53
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




смотри в админке когда создаёшь подраздел
потом обновляешь получается что он ещо раз создаётся
подскажыте как исправить?

(Отредактировано автором: 13 Января, 2012 - 14:01:13)



-----
 
 Top
OrmaJever
Отправлено: 13 Января, 2012 - 14:03:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




даные post отправляются повторно после обновления, самый простой способ это редирект после создания.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
tgcoin
Отправлено: 13 Января, 2012 - 14:04:54
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




давайте код дам сделаете?


-----
 
 Top
Саныч
Отправлено: 13 Января, 2012 - 14:06:27
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




tgcoin пишет:
давайте код дам сделаете?
А что там делать-то? Записали все в базу, и кинули заголовок на обновление страницы. Все.

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


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
tgcoin
Отправлено: 13 Января, 2012 - 14:08:49
Post Id


Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




ну вот код сделайте плиз
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.         require_once "../_app.php";
  4.         require_once 'auth.php';
  5.         include 'menu.php';
  6.  
  7.         if(!$_REQUEST[os]>0){
  8.         $_REQUEST[os]=0;
  9.         }
  10.  
  11.    if(isset($_REQUEST['act'])){
  12.         switch($_REQUEST['act']){
  13.                 case 'p_up':
  14.                     $row=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where id='.$_REQUEST[id]));
  15.                     mysql_query('update '.$_conf[table_prefix].'categories set pos=pos+1 where parent_id='.$_REQUEST[parent_id].' and pos='.($row[pos]-1));
  16.                     mysql_query('update '.$_conf[table_prefix].'categories set pos=pos-1 where id='.$_REQUEST[id]);
  17.                     show();
  18.                     break;
  19.                 case 'p_down':
  20.                     $row=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where id='.$_REQUEST[id]));
  21.                     mysql_query('update '.$_conf[table_prefix].'categories set pos=pos-1 where parent_id='.$_REQUEST[parent_id].' and pos='.($row[pos]+1));
  22.                     mysql_query('update '.$_conf[table_prefix].'categories set pos=pos+1 where id='.$_REQUEST[id]);
  23.                     show();
  24.                     break;
  25.            case 's_add':
  26.                show_form('add');
  27.                echo "<a href=\"categories.php?parent_id={$_REQUEST[parent_id]}\">Назад</a>";
  28.                 break;
  29.            case 's_edit':
  30.                 if($_REQUEST[mode]=='del_pic'){
  31.                         if(file_exists('../images/categories/'.$_REQUEST[id].'.gif')){
  32.                         unlink('../images/categories/'.$_REQUEST[id].'.gif');
  33.                         }
  34.                         if(file_exists('../images/categories/'.$_REQUEST[id].'.jpg')){
  35.                         unlink('../images/categories/'.$_REQUEST[id].'.jpg');
  36.                         }
  37.                         echo '<script language=JavaScript>alert(\'Картинка удалена успешно!\');</script>';
  38.                 }
  39.                show_form('edit',$_REQUEST['id']);
  40.                echo "<a href=\"categories.php?parent_id={$_REQUEST[parent_id]}\">Назад</a>";
  41.                 break;
  42.                 case 'add':
  43.                $row=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where parent_id=\''.$_REQUEST[parent_id].'\' order by pos desc limit 1'));
  44.                     mysql_query('insert into '.$_conf[table_prefix].'categories (name, parent_id, pos) values (\''.$_REQUEST[name].'\', \''.$_REQUEST[parent_id].'\', \''.($row[pos]+1).'\')');
  45.                if(is_uploaded_file($_FILES['user_pic']['tmp_name'])) {
  46.                    $row=mysql_fetch_array(mysql_query("select id from {$_conf[table_prefix]}categories order by id desc limit 1"));
  47.                    switch($_FILES[user_pic][type]){
  48.                    case 'image/gif':
  49.                        $type='.gif';
  50.                             move_uploaded_file($_FILES['user_pic']['tmp_name'],'../images/categories/'.$row[id].".gif");
  51.                             chmod('../images/categories/'.$row[id].".gif",0664);
  52.                         break;
  53.                    case 'image/jpeg':
  54.                    case 'image/pjpeg':
  55.                        $type='.jpg';
  56.                             move_uploaded_file($_FILES['user_pic']['tmp_name'],'../images/categories/'.$row[id].".jpg");
  57.                             chmod('../images/categories/'.$row[id].".jpg",0664);
  58.                         break;
  59.                    }
  60.                    mysql_query("update {$_conf[table_prefix]}categories set pic_type='{$type}' where id={$row[id]}");
  61.                }
  62.                     show();
  63.                         break;
  64.                 case 'edit':
  65.                $type='';
  66.                     if(is_uploaded_file($_FILES['user_pic']['tmp_name'])) {
  67.                    switch($_FILES[user_pic][type]){
  68.                    case 'image/gif':
  69.                        $type='.gif';
  70.                             move_uploaded_file($_FILES['user_pic']['tmp_name'],'../images/categories/'.$_REQUEST[id].".gif");
  71.                             chmod('../images/categories/'.$_REQUEST[id].".gif",0664);
  72.                         break;
  73.                    case 'image/jpeg':
  74.                    case 'image/pjpeg':
  75.                        $type='.jpg';
  76.                             move_uploaded_file($_FILES['user_pic']['tmp_name'],'../images/categories/'.$_REQUEST[id].".jpg");
  77.                             chmod('../images/categories/'.$_REQUEST[id].".jpg",0664);
  78.                         break;
  79.                    }
  80.                     }
  81.                     mysql_query('update '.$_conf[table_prefix].'categories set name = \''.$_REQUEST['name'].'\', pic_type=\''.$type.'\' where id='.$_REQUEST[id]);
  82.                     show();
  83.                         break;
  84.                 case 'del':
  85.                $row=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where id=\''.$_REQUEST[id].'\''));
  86.                mysql_query('update '.$_conf[table_prefix].'categories set pos=pos-1 where parent_id=\''.$_REQUEST[parent_id].'\' and pos>'.$row[pos]);
  87.                mysql_query('delete from '.$_conf[table_prefix].'categories where id='.$_REQUEST[id]);
  88.                mysql_query('delete from '.$_conf[table_prefix].'sites where category_id='.$_REQUEST[id]);
  89.                $res=mysql_query('select * from '.$_conf[table_prefix].'categories where parent_id='.$_REQUEST[id]);
  90.                while($row=mysql_fetch_array($res)){
  91.                         mysql_query('delete from '.$_conf[table_prefix].'categories where id='.$row[id]);
  92.                         mysql_query('delete from '.$_conf[table_prefix].'sites where category_id='.$row[id]);
  93.                }
  94.                show();
  95.                break;
  96.                 default:
  97.                 show();
  98.         }
  99.    }else{
  100.         show();
  101.    }
  102.  
  103.         function show(){
  104.                 GLOBAL $_conf;
  105.        if($_REQUEST[parent_id]>0){
  106.                 $cat=mysql_fetch_array(mysql_query('select * from '.$_conf[table_prefix].'categories where id='.$_REQUEST[parent_id]));
  107.            $name = $cat[name].': подразделы';
  108.        }else{
  109.                 $name = 'Разделы каталога';
  110.                 $_REQUEST[parent_id]=0;
  111.        }
  112.  
  113.             $min=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where parent_id='.$_REQUEST[parent_id].' order by pos limit 1'));
  114.             $max=mysql_fetch_array(mysql_query('select pos from '.$_conf[table_prefix].'categories where parent_id='.$_REQUEST[parent_id].' order by pos desc limit 1'));
  115.  
  116.        $query='select
  117.                     c.id,
  118.                     c.name,
  119.                     c.pos,
  120.                     count(sc.id) sc_n
  121.                 from
  122.                         '.$_conf[table_prefix].'categories c
  123.                         left join '.$_conf[table_prefix].'categories sc on (c.id = sc.parent_id)
  124.                 where
  125.                         c.parent_id=\''.$_REQUEST[parent_id].'\'
  126.                 group by c.id order by c.pos';
  127.        $res=mysql_query($query);
  128.  
  129.        $res1=mysql_query('select c.id, count(s.id) s_n from '.$_conf[table_prefix].'categories c left join '.$_conf[table_prefix].'sites s on (s.category_id=c.id) where c.parent_id=\''.$_REQUEST[parent_id].'\' group by c.id');
  130.        $total_sites=array();
  131.        while($row1=mysql_fetch_array($res1)){
  132.                 $total_sites[$row1[id]]=$row1[s_n];
  133.        }
  134.  
  135.        $res1=mysql_query('select c.id, count(s.id) s_n from '.$_conf[table_prefix].'categories c left join '.$_conf[table_prefix].'sites s on (s.category_id=c.id and s.allowed=0) where c.parent_id=\''.$_REQUEST[parent_id].'\' group by c.id');
  136.        $new_sites=array();
  137.        while($row1=mysql_fetch_array($res1)){
  138.                 $new_sites[$row1[id]]=$row1[s_n];
  139.        }
  140.        ?>
  141.                 <table bgcolor="#d1d1d1" cellpadding="0" cellspacing="0" width="100%">
  142.                         <tr>
  143.                                 <th style="padding: 5px;">
  144.                         <table border="0" cellspacing="0" cellpadding="0" width="100%">
  145.                             <tr>
  146.                                 <td><b><?=$name?>:</b> <a href="categories.php?act=s_add&parent_id=<?=$_REQUEST[parent_id]?>">добавить</a></td>
  147.                                 <td align="right" valign="bottom"><strong>Всего: <?=mysql_num_rows($res)?></strong></td>
  148.                             </tr>
  149.                         </table>
  150.                                 </th>
  151.                         </tr>
  152.                         <tr>
  153.                                 <td>
  154.                         <table cellspacing="1" border="0" cellpadding="2" width="100%">
  155.                             <tr>
  156.                                 <td bgColor="#f5f5f5" align="left" width=100%>&nbsp;Название</td>
  157.                                 <td bgColor="#f5f5f5">&nbsp;Позиция</td>
  158.                                 <td bgColor="#f5f5f5" align="center">&nbsp;Сайтов</td>
  159.                                 <td bgColor="#f5f5f5" align="center">&nbsp;На&nbsp;модерации</td>
  160.                                 <?
  161.                            if($_REQUEST[parent_id]==0){
  162.                                     //учет сайтов в подразделах
  163.                                $query='
  164.                                    select
  165.                                        c.id,
  166.                                        count(s.id) s_n
  167.                                    from
  168.                                        '.$_conf[table_prefix].'categories c
  169.                                        left join '.$_conf[table_prefix].'categories sc on (sc.parent_id=c.id)
  170.                                        left join '.$_conf[table_prefix].'sites s on (s.category_id=sc.id)
  171.                                    where
  172.                                        c.parent_id=\''.$_REQUEST[parent_id].'\'
  173.                                    group by c.id';
  174.                                     $res1=mysql_query($query);
  175.                                     $cn_sites=array();
  176.                                     while($row1=mysql_fetch_array($res1)){
  177.                                         $cn_sites[$row1[id]]=$row1[s_n];
  178.                                     }
  179.                                $query='
  180.                                    select
  181.                                        c.id,
  182.                                        count(s.id) s_n
  183.                                    from
  184.                                        '.$_conf[table_prefix].'categories c
  185.                                        left join '.$_conf[table_prefix].'categories sc on (sc.parent_id=c.id)
  186.                                        left join '.$_conf[table_prefix].'sites s on (s.category_id=sc.id and s.allowed=0)
  187.                                    where
  188.                                        c.parent_id=\''.$_REQUEST[parent_id].'\'
  189.                                    group by c.id';
  190.                                     $res1=mysql_query($query);
  191.                                     $cn_sites_n=array();
  192.                                     while($row1=mysql_fetch_array($res1)){
  193.                                         $cn_sites_n[$row1[id]]=$row1[s_n];
  194.                                     }
  195.  
  196.                                 echo '<td bgColor="#f5f5f5" align="center">&nbsp;Подразделов</td>';
  197.                                 echo '<td bgColor="#f5f5f5" align="center">&nbsp;Сайтов&nbsp;в&nbsp;подразделах</td>';
  198.                                 echo '<td bgColor="#f5f5f5" align="center">&nbsp;На&nbsp;модерации</td>';
  199.                            }
  200.                                 ?>
  201.                                 <td bgColor="#f5f5f5">&nbsp;</td>
  202.                             </tr>
  203.                             <?
  204.                             while ($row=mysql_fetch_array($res)) {
  205.                             ?>
  206.                             <tr bgColor="#f5f5f5" onmouseover="this.style.background='#ffffff';" onmouseout="this.style.background='#f5f5f5';">
  207.                                 <td align="left">&nbsp;<?=$row[name]?></td>
  208.                             <td>&nbsp;[ <?=($row[pos]>$min[pos]?'<a href="categories.php?parent_id='.$_REQUEST[parent_id].'&act=p_up&id='.$row[id].'">+</a>':'<font color=red>x</font>').' | '.($row[pos]<$max[pos]?'<a href="categories.php?parent_id='.$_REQUEST[parent_id].'&act=p_down&id='.$row[id].'"">-</a>':'<font color=red>x</font>');?> ]</td>
  209.                                 <td align="center">&nbsp;<?=(int)$total_sites[$row[id]]?></td>
  210.                                 <td align="center">&nbsp;<?=($new_sites[$row[id]]>0?'<b style="color: red;">'.(int)$new_sites[$row[id]].'</b>':'0')?></td>
  211.                             <?
  212.                            if($_REQUEST[parent_id]==0){
  213.                                 echo '<td align="center">&nbsp;'.$row[sc_n].'</td>';
  214.                                 echo '<td align="center">&nbsp;'.(int)$cn_sites[$row[id]].'</td>';
  215.                                 echo '<td align="center">&nbsp;'.($cn_sites_n[$row[id]]>0?'<b style="color: red;">'.(int)$cn_sites_n[$row[id]].'</b>':'0').'</td>';
  216.                            }
  217.                                 ?>
  218.                                 <td align="right"><nobr>
  219.                                 <?
  220.                                                                 echo '[<a href="categories.php?act=s_edit&id='.$row[id].'&parent_id='.$_REQUEST[parent_id].'">Изменить</a>]';
  221.                                                                 if($_REQUEST[parent_id]==0){
  222.                                         echo '[<a href="categories.php?parent_id='.$row[id].'">Подразделы</a>]';
  223.                                                                 }
  224.                                                                 echo '[<a href="sites.php?category_id='.$row[id].'">Сайты</a>]';
  225.                                                                 echo '[<a href="categories.php?act=del&id='.$row[id].'&parent_id='.$_REQUEST[parent_id].'" onclick="return confirm(\'Действительно удалить раздел?\');">Удалить</a>]';
  226.                                 ?> </nobr>
  227.                                 </td>
  228.                             </tr>
  229.                             <?
  230.                             }
  231.                             ?>
  232.                         </table>
  233.                         </td>
  234.                 </tr>
  235.                 </table>
  236. <?
  237.                 if($_REQUEST[parent_id]>0){
  238.                 echo '<a href="categories.php">Назад</a>';
  239.                 }
  240.         }
  241.  
  242.         function show_form($act,$id=null){
  243.        GLOBAL $_conf;
  244.        if($act=='edit'){
  245.                 $row=mysql_fetch_array(mysql_query('select * from '.$_conf[table_prefix].'categories where id='.$id));
  246.                 $name = '<b>Редактирование раздела</b>';
  247.                 $submit='Сохранить';
  248.             }else{
  249.           $d->priority=0;
  250.           $name = '<b>Создание нового раздела</b>';
  251.                  $submit='Добавить';
  252.             }
  253. ?>
  254.             <script Language="JavaScript">
  255.             function checkform(theForm)
  256.             {
  257.                 if (theForm.name.value == "")
  258.                 {
  259.                     alert("Введите название раздела!");
  260.                     theForm.name.focus();
  261.                     return (false);
  262.                 }
  263.                 return (true);
  264.             }
  265.             </script>
  266.                 <table bgcolor="#d1d1d1" cellpadding="1" cellspacing="0" border="0" width="100%">
  267.                         <form enctype="multipart/form-data" action="categories.php" method="post" onsubmit="return checkform(this);">
  268.                         <tr>
  269.                                 <th style="padding: 5px;">
  270.                         <table border="0" cellspacing="0" cellpadding="0" width="100%">
  271.                             <tr>
  272.                                 <td><b><?=$name?></b></td>
  273.                             </tr>
  274.                         </table>
  275.                                 </th>
  276.                         </tr>
  277.             <tr>
  278.                 <td>
  279.                         <input type="hidden" name="act" value="<?=$act?>">
  280.                         <input type="hidden" name="id" value="<?=$id?>">
  281.                         <input type="hidden" name="parent_id" value="<?=$_REQUEST[parent_id]?>">
  282.                         <table cellpadding="2" bgcolor="#f5f5f5" width="100%" border="0">
  283.                                 <tr>
  284.                                 <td valign="top">Название&nbsp;</td>
  285.                                 <td bgColor=#ffffff width="100%">
  286.                                         <input style="width:100%" type="text" name="name" value="<?=htmlspecialchars($row[name])?>">
  287.                                 </td>
  288.                         </tr>
  289.  
  290.                                 <tr>
  291.  
  292.  
  293.                             <tr>
  294.                                 <td valign="top">&nbsp;</td>
  295.                                 <td><input bgColor=#f5f5f5 type="submit" value="<?=$submit?>" style="width:100;"></td>
  296.                             </tr>
  297.                         </table>
  298.                 </td>
  299.             </tr>
  300.             </form>
  301.         </table>
  302. <?
  303.         }
  304.  


-----
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB