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
Форумы портала PHP.SU :: Версия для печати :: Глобальный Массив GET
Форумы портала PHP.SU » » HTTP и PHP » Глобальный Массив GET

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

1. romantik2011 - 01 Сентября, 2011 - 21:47:10 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.                 $id = strip_tags($_GET['id']);
  3.                 switch($id){
  4.          case 'page1': include 'page1.php'; break;
  5.          case 'page2': include 'page2.php'; break;
  6.                  case 'page3': include 'page3.php'; break;             
  7.          case 'table': echo '<center><h1>Привет мир!</h1></center>';
  8.                  default : $id = NULL;
  9.         }
  10. ?>

Как определить, передан параметр или нет в $_GET ?
Дело в том что имеется меню с пунктов:

Меню

Номе
Page1
Page2
Page3
Table

При нажатии на Home должно ссылаться на главную страницу, но он выдаёт ошибку, никак не получается убрать. Как сделать чтоб при нажатии на Home ссылалось на index.php не выдавая ошибок?
2. evgenijj - 01 Сентября, 2011 - 21:53:56 - перейти к сообщению
romantik2011 пишет:
Как определить, передан параметр или нет в $_GET ?

Как всегда -- if ( isset( $_GET['id'] ) ) { ... }
3. romantik2011 - 01 Сентября, 2011 - 21:57:19 - перейти к сообщению
Гляньте в архиве пожалуйста, чего-то не срабатывает.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         include "lib.inc.php";
  4.         //include 'menu.php';
  5.         $t = 'Петя';
  6.         if(!$t) //Если ложь, тогда вывести, верно?
  7.         echo 'The end!';
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10.  
  11. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
  12. <head>
  13.         <title>Шаблон сайта</title>
  14.         <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  15. </head>
  16. <body>
  17.  
  18. <table width="100%" border="1">
  19.  
  20. <tr>
  21.         <td colspan="2" align="center">
  22.                 <!-- Верхняя часть страницы -->
  23.                 <?PHP
  24.                         include "top.inc.php";
  25.                 ?>
  26.         </td>
  27. </tr>
  28.  
  29. <tr>
  30.         <td width="20%" valign="top">
  31.                 <!-- Меню -->
  32.                 <?PHP
  33.                         include "menu.inc.php";
  34.                 ?>
  35.         </td>
  36.         <td>
  37.                 <!-- Область основного контента -->
  38.         <?PHP
  39.                 $id = strip_tags($_GET['id']);
  40.                 if ( !isset( $_GET['id'] ) ) { include 'index.php';}
  41.                 switch($id){
  42.                  case 'page1': include 'page1.php'; break;
  43.          case 'page2': include 'page2.php'; break;
  44.                  case 'page3': include 'page3.php'; break;             
  45.          case 'table': echo '<center><h1>Привет мир!</h1></center>';
  46.                  default : $id = NULL;
  47.         }
  48.         ?>
  49.                 &nbsp;
  50.         </td>
  51. </tr>
  52.  
  53. <tr>
  54.         <td colspan="2" align="center">
  55.                 <!-- Нижняя часть страницы -->
  56.                 <?PHP
  57.                         include "bottom.inc.php";
  58.                 ?>
  59.         </td>
  60. </tr>
  61. </table>
  62.  
  63. </body>
  64. </html>
  65.  


Цитата:
Notice: Undefined index: id in C:\www\htdocs\test.ru\www\index.php on line 38

Fatal error: Cannot redeclare getMenu() (previously declared in C:\www\htdocs\test.ru\www\lib.inc.php:2) in C:\www\htdocs\test.ru\www\lib.inc.php on line 12
4. evgenijj - 01 Сентября, 2011 - 22:07:54 - перейти к сообщению
Цитата:
Notice: Undefined index: id in C:\www\htdocs\test.ru\www\index.php on line 38

Fatal error: Cannot redeclare getMenu() (previously declared in C:\www\htdocs\test.ru\www\lib.inc.php:2) in C:\www\htdocs\test.ru\www\lib.inc.php on line 12


Тебе нужен перевод?

Неопределенный индекс: id (массива $_GET) - проще говоря, в строке запроса не было переменной id:
http://www[dot]server[dot]com/index.php?a=b&c=d - было примерно так
http://www[dot]server[dot]com/index.php?id=17&c=d - а должно было быть так

Очень серьезная ошибка (Fatal error) - PHP жалуется - не могу переопределить функцию, которая была определена ранее в строке ... файле ...

Нельзя писать код типа
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function abc ( x, y, z ) {
  3.   .....
  4. }
  5. .....
  6. function abc ( x, y, z ) {
  7.   .....
  8. }
  9. ?>
5. romantik2011 - 01 Сентября, 2011 - 22:23:57 - перейти к сообщению
Вот так сработало:
PHP:
скопировать код в буфер обмена
  1. $id = isset($_GET['id']) ? $_GET['id'] : '/index.php';

Смотрел видео, автор как-то его в свитче сделал именно в этом который я выше описал, у меня тчо-то не срабатывает если сделать в свитче, как в свитче прописать это
PHP:
скопировать код в буфер обмена
  1. $id = isset($_GET['id']) ? $_GET['id'] : '/index.php';

?

 

Powered by ExBB FM 1.0 RC1