[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Одинаковый вывод
SnowWind
Всем привет, интересует 2 небольших вопроса. Буду благодарен ответам. Почему вывод получается одинаковым?


Вот имеем 2 файла, с одного в другой отправляем переменную id

1ый файл

<?php
echo "<a href='2.php?id=2'>Предача массивом GET</a>";
?>

2ой файл

<?php
echo "$_GET[id]";
?>

Вывод будет такой же как если написать

<?php
echo "$id";
?>

Почему???Это же по идеи 2 разные переменные?

И второй вопрос - почему нужно писать так - echo "$_GET[id]" а не так - echo "$_GET['id']", ведь в книгах указано что ключ массива заключается в апострофы?



Спустя 16 минут, 59 секунд (26.09.2010 - 07:33) twin написал(а):
Вообще кавычки не нужны.
<?php
echo $_GET['id'];

Что за книга такая? Не Фленов ли какой-нибудь?

А одинаково, потому что register_globals включен.

Спустя 3 минуты, 8 секунд (26.09.2010 - 07:36) SnowWind написал(а):
Я бы сказал тебе кто автор, но ты опять начнёшь ругаться laugh.gif

А как быть с первым вопросом?

Спустя 13 минут, 19 секунд (26.09.2010 - 07:50) twin написал(а):
Дописал же...

Спустя 7 минут, 59 секунд (26.09.2010 - 07:58) SnowWind написал(а):
Я позже заметил просто.

Но попробовал сейчас без кавычек, вот так --> echo $_GET[id]; - ошибка huh.gif

Notice: Use of undefined constant id - assumed 'id' in z:\home\dormost.ru\www\2.php on line 2
[Денвер: показать возможную причину ошибки]2

А так нормально --> echo $_GET['id'];
И так тоже --> echo "$_GET[id]";

А всмысле апострофы оставить? А остальное лишнее?

Спустя 12 минут, 38 секунд (26.09.2010 - 08:10) twin написал(а):
ну вот, сам догадался. И еще, нельзя обращаться напрямую к неопределенной переменной. Если $_GET['id'] не будет, будет ошибка.

Спустя 17 минут, 27 секунд (26.09.2010 - 08:28) SnowWind написал(а):

<php
if (isset ($_GET['id']))
{
$id=$_GET['id'];
}
else
{
$id = ///тут какое нить значение///;
}
echo $_GET['id'];

так пойдёт?

Спустя 13 минут, 54 секунды (26.09.2010 - 08:42) Гость_Michael написал(а):
у тебя должно уже быть echo $id.

Так короче:
$id = (isset ($_GET['id'])) ? $_GET['id'] : '';
echo $id;

Спустя 3 минуты, 9 секунд (26.09.2010 - 08:45) Overway написал(а):
Избавься вообще от головняка добавь @extract($_GET, EXTR_SKIP);

-)))) и затем выводи <?= $id ?>

Спустя 9 минут, 51 секунда (26.09.2010 - 08:55) Гость_Michael написал(а):
Overway, не советуй плохого. dry.gif

Спустя 53 минуты, 31 секунда (26.09.2010 - 09:48) twin написал(а):
Overway
4 ошибки в слове "ещё".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.