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]   

> Без описания
Sankaboy
Отправлено: 03 Мая, 2012 - 00:21:07
Post Id



Гость


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


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




Привет! Вот кусок кода:
PHP:
скопировать код в буфер обмена
  1.  
  2. while ( $postrow = mysql_fetch_array($aviables_post))  
  3. {
  4. $aviables_click_post = mysql_query("SELECT `already_shown` FROM `BYpost` WHERE `id` = '".$postrow['id']."'");
  5. $aviab_ckick_post = mysql_fetch_assoc($aviables_click_post);
  6. foreach($aviab_ckick_post as $valupost => $keypost){
  7. $keyvtwi[$valupost] = $keypost;
  8. }  
  9. $clock_en_post = $keyvtwi['already_shown'] + 1;
  10.  
  11. echo '
  12. <hr />'.rawurldecode($postrow['text']).'<br />'.$postrow['link_post'].'<form method="post">
  13. <input type="hidden" value="'.$postrow['id'].'" name="reepost"/>
  14. <input type="submit" id="stylebut" value="Жми" />
  15. </form>';
  16.  
  17. if($_POST['reepost'] === $postrow['id']){
  18. mysql_query("UPDATE `BYpost` SET `already_shown`= '$clock_en_post' where `id`='".$postrow['id']."'");
  19. echo '
  20. <script type="text/javascript">
  21. location.replace("/b.php?:atom=relink&reet='.$postrow['id'].'");
  22. </script>
  23. ';
  24. }
  25. }    


Не понимаю почему постоянно не срабатывают условия: if($_POST['reepost'] === $postrow['id']) ? При нажатии на субмит формы, вывод с БД обновляется, а вот не переходит. Сказать бы, что в условиях много работы для выполнения и оно просто не успевает перерабатывать так это не так. Браузер шалит - возможно. Наверно через раз быстрее обновляет страницу, чем срабатывают условия. Какая-то не понялка между формой и условием. Как его упростить чтобы работало надежно? Спасибо!
По началу стаял рефрешь через мета, но вроде как через скрипт быстрее делает переход.

(Отредактировано автором: 03 Мая, 2012 - 00:22:29)

 
 Top
nordghost
Отправлено: 03 Мая, 2012 - 00:34:30
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $_POST['reepost'] === $postrow['id']


=== сравнивает и по типу и по значению, может типы разные?
пробуй просто ==

или перед тем как сравнивать на всякий случай приведи их к общему типу и проверь

(Отредактировано автором: 03 Мая, 2012 - 00:36:03)



-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
DelphinPRO
Отправлено: 03 Мая, 2012 - 01:08:22
Post Id



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


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


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




конечно. в $postrow['id'] наверняка тип INT, а в POST всегда строки


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Sankaboy
Отправлено: 03 Мая, 2012 - 09:47:52
Post Id



Гость


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


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




nordghost пишет:
пробуй просто ==

Пробовал одна и та же дыня. Через раз.
DelphinPRO пишет:
конечно. в $postrow['id'] наверняка тип INT, а в POST всегда строки

Да: $postrow['id'] - число. Если больше нет короткого, разного значения для каждой строки из БД. Что же делать?
Раньше пробовал вставлять простое слово вместе с $postrow['id']. К примеру получалось: "тыц67", все равно через раз работало.
 
 Top
Alho
Отправлено: 03 Мая, 2012 - 09:57:20
Post Id



Посетитель


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


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




Так не бывает, что бы работало через раз Подмигивание
Пробуйте:
PHP:
скопировать код в буфер обмена
  1.  intval($_POST['reepost']) == $postrow['id']
 
 Top
Sankaboy
Отправлено: 03 Мая, 2012 - 12:28:02
Post Id



Гость


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


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




Alho пишет:
Так не бывает, что бы работало через раз
Пробуйте:
PHP:
скопировать код в буфер обмена

intval($_POST['reepost']) == $postrow['id']


Все равно почему-то не всегда срабатывает. Нажал, страницу обновило, но не перешло.
 
 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