Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Метод GET 
:(
    Опции темы
England
Дата 8.10.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 16.7.2008
Где: Владикавказ

Репутация: нет
Всего: нет



есть код
Код

echo "<a href=3.php?letter=$product[name]>$product[name]</a>";
echo $_GET[letter];

вот когда  $product[name] состоит из нескольки слов то выводит только первое. А как быть чтобы выводились все слова?
PM MAIL   Вверх
skyboy
Дата 8.10.2008, 16:57 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



где кавычки в значении атрибута href?
PM MAIL   Вверх
SneG0K
Дата 8.10.2008, 17:00 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



В двойных кавычках не ищються переменные... ставь одинарные...
PM WWW Skype   Вверх
skyboy
Дата 8.10.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(SneG0K @  8.10.2008,  16:00 Найти цитируемый пост)
В двойных кавычках не ищються переменные... ставь одинарные... 

во-первых, с точностью до наоборот.
во-вторых, вне зависимости от "обработки переменных" ссылка
Код

<a href=http://www.mysite.com/index.php?mode=first and second>

перейдет на http://www.mysite.com/index.php?mode=first
PM MAIL   Вверх
Sunvas
Дата 8.10.2008, 18:12 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Цитата(skyboy @  8.10.2008,  16:57 Найти цитируемый пост)
где кавычки в значении атрибута href?

Точно там же, где и кавычки в 
Цитата(England @  8.10.2008,  16:49 Найти цитируемый пост)
echo $_GET[letter];

Я очень сомневаюсь, что letter - константа. ТС рекомендую немножко подучить синтаксис.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Валерия
Дата 8.10.2008, 18:40 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



Цитата(Sunvas @  8.10.2008,  18:12 Найти цитируемый пост)
echo $_GET[letter];

А чем не правильно не заключать имена значений массива в кавычки? Я где-то читала что так даже быстрее работает)
Это примерно тоже, стоит ли заключать в ` кавычки запросы MySql... Просто кавычки необходимы если в них заключаеться слово с пробелом...
PM MAIL   Вверх
DizelGenerator
Дата 8.10.2008, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 15.6.2008

Репутация: 1
Всего: 1



http://www.php.net/manual/ru/language.types.array.php

секция:

Массив делает и не делает
Почему $foo[bar] это неверно?
PM MAIL   Вверх
BrainWorker
Дата 8.10.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 9.8.2007
Где: Дубна, Россия

Репутация: 1
Всего: 2



Цитата(England @ 8.10.2008,  16:49)
есть код
Код

echo "<a href=3.php?letter=$product[name]>$product[name]</a>";
echo $_GET[letter];

вот когда  $product[name] состоит из нескольки слов то выводит только первое. А как быть чтобы выводились все слова?

urlencode  
PM MAIL Jabber   Вверх
bars80080
Дата 8.10.2008, 20:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



urlencode пойдёт автоматом, если поставить кавычки, как того требует html-разметка


Цитата(Валерия @  8.10.2008,  18:40 Найти цитируемый пост)
echo $_GET[letter];


А чем не правильно не заключать имена значений массива в кавычки?

тем что надо не совершать магические пасы руками, а читать документацию и разбираться, что и почему
индекс в массиве - это данные. и как все данные они должны иметь тип. в данном случае для слова - тип: строка.
строка в коде (литерал) может существовать только в одном виде - в обрамлении кавычек. сделано это по той простой причине, чтобы отличать этот же код от самой строки. когда мы говорим, что в echo "<a href=3.php?letter=$product[name]> используется переменная без кавычек в индексе, то только потому, что она сама находится внутри строки, а " двойные кавычки здесь выступают в роли оператора, говорящего пхп - здесь может находится переменная, которую следует обработать. но он не позволит обработать функцию или кусок кода, а значит кавычки здесь излишне.

что касается просто упоминания name в коде - то если мы по установленной процедуре объявим это слово константой, то она зафиксируется в пхп, как часть командных слов (грубо говоря), потому ей и пользуются без кавычек, она уже не литерал
PM MAIL WWW   Вверх
HackMan
Дата 8.10.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(bars80080 @  8.10.2008,  20:21 Найти цитируемый пост)
urlencode пойдёт автоматом, если поставить кавычки, как того требует html-разметка

хм..а как же, если в $product[name] будет что-то вроде "123&a=222"? автоматически urlencode() никуда не пойдёт, просто некоторые браузеры сами умеют заменять пробелы на %20. Причём IE этого вроде не умеет (хотя утверждать не стану)

Это сообщение отредактировал(а) HackMan - 8.10.2008, 20:42


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
bars80080
Дата 8.10.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(HackMan @  8.10.2008,  20:40 Найти цитируемый пост)
Причём IE этого вроде не умеет 

может-может, с этим вроде никаких проблем никогда не испытывал


Цитата(HackMan @  8.10.2008,  20:40 Найти цитируемый пост)
123&a=222
а что здесь такого? я постоянно собираю урлы из ? & для зондирующих запросов в переменную, а потом echo и пошла дальше...

PM MAIL WWW   Вверх
HackMan
Дата 8.10.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(bars80080 @  8.10.2008,  21:05 Найти цитируемый пост)
а что здесь такого?
 
ну я к тому, что переменная то у него, наверное, от пользователя приходит, и вряд ли где-то фильтруется, и получается, что можно задавать несколько переменных. Вряд ли эта "уязвимость" даст какую-то практическую пользу, но сам факт  smile 



--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
teroni
Дата 8.10.2008, 21:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Цитата(Валерия @  8.10.2008,  18:40 Найти цитируемый пост)
А чем не правильно не заключать имена значений массива в кавычки? Я где-то читала что так даже быстрее работает

Смотрим в мануал и видим:
Цитата

key может быть либо integer, либо string

А если он string - то значит должен быть в одинарных или двойных кавычках. Если кавычек нету - то php воспринимает этот ключ как константу. Ищет её, естественно не находит, матюкается, и с горя считает, что это не константа, а таки строка, в которой программер просто забыл добавить кавычки. Так что быстрей это работать просто не может.
PM MAIL   Вверх
bars80080
Дата 8.10.2008, 22:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(teroni @  8.10.2008,  21:57 Найти цитируемый пост)
Ищет её, естественно не находит, матюкается, и с горя считает, что это не константа, а таки строка, в которой программер просто забыл добавить кавычки

что кстати вкупе с таким вопросом: 
Цитата(Валерия @  8.10.2008,  18:40 Найти цитируемый пост)
 чем не правильно не заключать имена значений массива в кавычки?
 говорит, что у Валерии заглушены ошибки


 smile ой, нельзя

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0884 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.