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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Ya_Prizrak
Отправлено: 08 Июня, 2010 - 21:33:54
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?  include("includes/head.php");   ?>
  3. <? $mod =       isset ( $_GET['mod'] ) ? $_GET['mod'] : 'default';
  4. if (isset($_POST['name'])) {$name = $_POST['name'];}
  5. if (isset($_POST['url'])) {$url = $_POST['url'];}
  6. if ($name =='')
  7. {
  8. unset($name);
  9. }
  10. if ($url =='')
  11. {
  12. unset($url);
  13. }
  14. ?>
  15. <body>
  16. <?
  17. switch ($mod)
  18. {
  19. default:
  20. echo '<div class="a">Добавление рекламы</div>';
  21. echo '<div class="b">';
  22. echo '
  23. <form action="add_rek.php?mod=add" method="post">
  24. *Название ссылки*<br>
  25. <input name="name" type="text" /><br>
  26. *URL Адрес*<br>
  27. <input name="url" type="text" value="http://" /><br>
  28. <input name="" type="submit" value="Добавить" />
  29. </form>';
  30. echo '</div>';
  31. echo '<div class="a">Существующие ссылки</div>';
  32. echo'<div class="b">';
  33. $sql = mysql_query("select * from `reklama`");
  34. if (mysql_num_rows($sql) != 0)
  35. {
  36. while ($data = mysql_fetch_array($sql))
  37. {
  38. echo '» <a href="'.$data['url'].'">'.$data['name'].'</a> <a href="add_rek?mod=del"><font color="red">[D]</font></a>  <a href="add_rek?mod=write"><font color="green">[W]</font></a><br/>';
  39. }
  40. }
  41. else
  42. {
  43. echo 'База ссылок пока пустая!';
  44. }
  45. echo '</div>';
  46. break;
  47.  
  48. case 'add':
  49. $add = mysql_query("INSERT INTO reklama (name,url) VALUES ('$name','$url')");
  50. if ($add == true)
  51. {
  52. echo '<div class="a">Добавление Рекламы</div>';
  53. echo '<div class="e">Ссылка успешно добавлена!<br>_ _ _ _<br>';
  54. echo '<a href="add_rek.php">Назад</a></div>';
  55. }
  56. else
  57. {
  58. echo '<div class="a">Добавление Рекламы</div>';
  59. echo 'Ссылка не добавлена!<br>';
  60. echo '<a href="add_rek.php">Назад</a>';
  61. }
  62. break;
  63. }
  64. ?>
  65. </body>
  66. </html>
  67. Когда обновляю страницу опять добавляется реклама  та что я писал
  68.  

(Отредактировано автором: 08 Июня, 2010 - 21:35:03)

 
 Top
qbik
Отправлено: 08 Июня, 2010 - 22:04:47
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




вроде все верно
если обновляешь страницу с post браузер спрашивает "отправлять данные снова?"
 
 Top
Ya_Prizrak
Отправлено: 08 Июня, 2010 - 22:12:27
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




qbik пишет:
вроде все верно
если обновляешь страницу с post браузер спрашивает "отправлять данные снова?"

Вот оно почему спрашивает на повторну отправку.После отправки данных они почемуто еще остаются в переменных и после обновления страницы опять отправляются.

(Отредактировано автором: 08 Июня, 2010 - 22:49:50)

 
 Top
qbik
Отправлено: 08 Июня, 2010 - 22:53:36
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




что-то я не понял

если
есть форма она заполняется
потом отправить через post
добавление в базу

если сразу после этого f5 то будет штатное повторение отправки через post
 
 Top
Ya_Prizrak
Отправлено: 08 Июня, 2010 - 23:04:07
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




qbik пишет:
что-то я не понял

если
есть форма она заполняется
потом отправить через post
добавление в базу

если сразу после этого f5 то будет штатное повторение отправки через post

Да,а можно его как то устранить (чтобы не отправляло повторно)
 
 Top
valenok Модератор
Отправлено: 08 Июня, 2010 - 23:08:36
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




После сохранения перенаправить пользователя на новую страницу
Header("Location: add_rek.php");


-----
Truly yours, Sasha.
 
My status
 Top
Ya_Prizrak
Отправлено: 08 Июня, 2010 - 23:10:17
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




valenok пишет:
После сохранения перенаправить пользователя на новую страницу
Header("Location: add_rek.php");
Спасибо щас попробую Улыбка
(Добавление)
Нет не хочет ошибка
(Добавление)
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\includes\head.php:7) in Z:\home\test1.ru\www\add_rek.php on line 53
 
 Top
qbik
Отправлено: 08 Июня, 2010 - 23:23:30
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




редирект должон быть саамым первым, т.е
<?
if (isset($_POST)) header('Refresh: 3; URL=http://куда.сла.ть');

правда будет та-же ошибка от head.php но думаю разберешся
можно вообще отдельную скрипт сделать, где будет "обхедк вставлен" и редирект по таймауту, как например на этом форуме

(Отредактировано автором: 08 Июня, 2010 - 23:25:22)

 
 Top
Ya_Prizrak
Отправлено: 08 Июня, 2010 - 23:27:21
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




qbik пишет:
редирект должон быть саамым первым, т.е
<?
if (isset($_POST)) header('Refresh: 3; URL=http://куда.сла.ть');

правда будет та-же ошибка от head.php но думаю разберешся
можно вообще отдельную скрипт сделать, где будет "обхедк вставлен" и редирект по таймауту, как например на этом форуме
Cпасибо побежал испытания делать Улыбка
(Добавление)
Ето пипец какой то что только не пробовал все равно на редирект ошибка
 
 Top
qbik
Отправлено: 09 Июня, 2010 - 08:58:21
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




перед посылкой хеадера не должно быть пробелов и ентеров
 
 Top
JustUserR
Отправлено: 09 Июня, 2010 - 11:12:02
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Ya_Prizrak пишет:
Что только не пробовал все равно на редирект ошибка
Попробуйте с самого начала PHP-скрипта добавить буферазцию вывода с помощью ob_start - чтобы никакие лишние данные не выводились до выполнения функции посылки HTTP-заголовков А еще лучше используйте статическую HTML-страницу с JS-скриптом и динамической передачей данных с помощью Iframe/AJAX - в таком случае отправка и обновление будет происходить автоматически


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ya_Prizrak
Отправлено: 09 Июня, 2010 - 15:18:55
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?  include("includes/head.php");   ?>
  3.  
  4. <? $mod =       isset ( $_GET['mod'] ) ? $_GET['mod'] : 'default';
  5. if (isset($_POST['name'])) {$name = $_POST['name'];}
  6. if (isset($_POST['url'])) {$url = $_POST['url'];}
  7. if ($name =='')
  8. {
  9. unset($name);
  10. }
  11. if ($url =='')
  12. {
  13. unset($url);
  14. }
  15. ?>
  16. <body>
  17. <?
  18. switch ($mod)
  19. {
  20. default:
  21. echo '<div class="a">Добавление рекламы</div>';
  22. echo '<div class="b">';
  23. echo '
  24. <form action="add_rek.php?mod=add" method="post">
  25. *Название ссылки*<br>
  26. <input name="name" type="text" /><br>
  27. *URL Адрес*<br>
  28. <input name="url" type="text" value="http://" /><br>
  29. <input name="" type="submit" value="Добавить" />
  30. </form>';
  31. echo '</div>';
  32. echo '<div class="a">Существующие ссылки</div>';
  33. echo'<div class="b">';
  34. $sql = mysql_query("select * from `reklama`");
  35. if (mysql_num_rows($sql) != 0)
  36. {
  37. while ($data = mysql_fetch_array($sql))
  38. {
  39. echo '» <a href="'.$data['url'].'">'.$data['name'].'</a> <a href="add_rek?mod=del"><font color="red">[D]</font></a>  <a href="add_rek?mod=write"><font color="green">[W]</font></a><br/>';
  40. }
  41. }
  42. else
  43. {
  44. echo 'База ссылок пока пустая!';
  45. }
  46. echo '</div>';
  47. break;
  48.  
  49. case 'add':
  50. $add = mysql_query("INSERT INTO reklama (name,url) VALUES ('$name','$url')");
  51. if ($add == true)
  52. {
  53. echo '<div class="a">Добавление Рекламы</div>';
  54. echo '<div class="e"><font color="green">Ссылка успешно добавлена!</font>';header('Refresh: 3; URL=add_rek.php');///Вот ставлю и ошибка :(
  55. }
  56. else
  57. {
  58. echo '<div class="a">Добавление Рекламы</div>';
  59. echo '<div class="e"><font color="red">Ссылка не добавлена!</font></div>';
  60. }
  61. break;
  62. }
  63. ?>
  64. </body>
  65. </html>
  66.  
  67.  
 
 Top
qbik
Отправлено: 09 Июня, 2010 - 16:21:25
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




первой строкой
PHP:
скопировать код в буфер обмена
  1. if ($_GET['mod']=="add")
  2. { echo "реклама добавлена";
  3. header('Refresh: 3; URL=add_rek.php');
  4. }


при этом нужно посылку хеадера в другом скрипте запретить
и не должно быть пробелов и ентеров вне <? ?>

ps ну и конечно перед посылкой хеадера не должно быть echo

что у тебя важного в head.php? может его сюда-же и по условию или-или хеадеры слать?

(Отредактировано автором: 09 Июня, 2010 - 16:30:02)

 
 Top
Ya_Prizrak
Отправлено: 09 Июня, 2010 - 17:36:38
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июнь 2010  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. /////Содержимое head.php
  3.  
  4. <? include("includes/config.php")
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  10. <title><? echo $title;  ?></title>
  11. <link href="../style.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <?
  14. echo '<div class="a">'.$title.'</div>';
  15. //////////////Вывод рекламы
  16. echo'<div class="e">';
  17. $sql = mysql_query("select * from `reklama`");
  18. if (mysql_num_rows($sql) != 0)
  19. {
  20. while ($data = mysql_fetch_array($sql))
  21. {
  22. echo '<a href="'.$data['url'].'">'.$data['name'].'</a><br/>';
  23. }
  24. }
  25. else
  26. {
  27. echo 'Здесь может быть ваша реклама!';
  28. }
  29. echo '</div>';
  30. ?>
  31.  
  32.  
  33.  
  34.  
 
 Top
qbik
Отправлено: 09 Июня, 2010 - 20:06:14
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Июнь 2010  


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




в твоем head.php между 8 и 9 строчками
PHP:
скопировать код в буфер обмена
  1. <? if ($_GET['mod']=="add")  echo '<META HTTP-EQUIV="REFRESH" CONTENT="5">' ?>


а где нибудь в тексте

PHP:
скопировать код в буфер обмена
  1. if ($_GET['mod']=="add") echo "реклама добавлена";


ps это вместо всех других советов

(Отредактировано автором: 09 Июня, 2010 - 20:07:19)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB