![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
У меня такая проблема: создаю таблицу из селект-запроса, в таблице хранится список имен:
Иванов Петров Сидоров ... Каждое имя является ссылкой, при щелчке на имени - открывается новый php-сценарий, которому должно передаваться ИМЯ с первой странице, по которому щелкнул пользователь. Как запомнить это имя для нового сценария. Я использую $_SESSION['name'] при заполнении таблицы, но в ней оказывается последнее имя в таблице, а мне надо то, по которому кликнул пользователь. Помогите, пожалуйста! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Так по ссылке и передавать.
<a href=scenario.php?name=<?=$name?>> только лучше передавать не имя, а id |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Так имен-то много, они из запроса все выбираются.
А мне надо запомнить ТО ИМЯ, по которому кликнет пользователь Вот код:
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
повторяю. запоминать не надо. надо передавать. по ссылке.
6-я строчка твоего кода:
передавать желательно не имя, а id |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Я попробовала - не получается так обратится Это сообщение отредактировал(а) Sliva - 18.12.2007, 10:39 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
$_GET['name']
|
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
А если в сценарии указан method POST ? И его надо использовать. Или по-другому никак не получится?
Я исправила в сценарии на GET, вызываю $_GET['name'] , а у меня ошибка undefinded index: name in ... Это сообщение отредактировал(а) Sliva - 18.12.2007, 10:50 |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
У тебя в сценарии указан метод GET.
POST использовать не надо. В данном случае. Вообще, судя по вопросам, очень желательно расказать всю картину и объяснить смысл скрипта. Тогда местные гуру расскажут и покажут, как пишут сайты на PHP. Добавлено через 3 минуты и 35 секунд
в каком сценарии? page2.php? Добавлено через 4 минуты и 45 секунд А строчку-то ты исправила, как я написал? Это сообщение отредактировал(а) Feldmarschall - 18.12.2007, 10:51 |
|||
|
||||
| Sliva |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
в
Да. Смысл скрипта: Надо с одной странички (нажав на имя) попасть на другую, а по имени (на которое нажал пользователь) выбирать и отображать на второй страничке данные того, чье имя выбрал пользователь
Да Это сообщение отредактировал(а) Sliva - 18.12.2007, 11:00 |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Отлично. Стандартная задача. Используется на миллионах сайтов.
Метод POST для этого не нужен. Посмотри на адресную строку, когда переходишь по ссыке - а в ней-то имя есть? |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ладно, в роли гуру выступлю я и поведаю волшебство php
с поправкой на твои запросы и таблицы в page2.php
|
||||
|
|||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Нет, в том-то и дело! Я знаю, что если метод GET, то в адрессной ссылке должны прописываться данные.
Метод GET я указала:
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
если ты реализуешь на каждое имя кнопку с формой, то это мягко говоря неправильное решение
ибо слишком много не нужной (не смысловой инфо), лучше реализуется ссылками |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Нет, у меня табличка - и каждое имя - это ссылка на след. сценарий. НО: Это имя я должна передать в этот второй сценарий, чтобы потом по этому имени делать запрос |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Sliva, послушай.
Ты что - никогда простых сайтов, на HTML не делала? Зачем тебе здесь форма, если у тебя обыкновенные ссылки? послушай, вот такой код у тебя работает: file.php <a href=file2.php?name=Vasya>click</a> file2.php <? echo $_GET['name'] ?> ? а когда кликнула по ссылке - что видно в адресе? Скопируй адрес сюда. Это сообщение отредактировал(а) Feldmarschall - 18.12.2007, 12:29 |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
как это сочетается с
и вообще, код в студию! |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Мне кажется, что человек начинает осваивать PHP и просто думает, что в PHP какие-то нуждны особенные методы для навигации. Отличающиеся от таковой в HTML.
|
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
да |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Sliva, страницы, которые генерирует PHP - это самые обычные HTML страницы.
Ладно, с этим разобрались. А с передачей параметра по ссылке? Твой код работает? А мой, который я давал выше? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
многоуважаемая Слива, нам же интересно, нам нетерпится узнать, а что же у вас получилось
получилось ли вообще, а то говорим и впустую а если бы код показали, вообще было бы супер вопрос к модераторам: а есть ли тема: как правильно задать вопрос, чтобы тебе ответили по-моему она должна быть прикреплена абсолютно во всех форумах если я не разглядел, значит хорошо спрятали главнокомандующий, а чёй-то ты с "опытного" перекатился на "новичок"? |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Да, работает
Все генерируется, все хорошо |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
тогда и тему можно пометить галочкой
во-о-он там, внизу... |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
Если есть замечания - очень прошу указать их. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Sliva, можно пару замечаний?
во-первых, функция processData(); представляется мне несколько излишней. возможно, в будущем она начнет выполнять какие-то функции, но в нынешнем виде она не делает вообще ничего. во-вторых, непонятно, как вообще работает этот код. в функцию print_table передается переменная $query_host, которая нигде выше не определяется. в-третьих, не забывай в page2.php обрабатывать переменную $_GET['id'], чтобы не возникало ошибок и атак. в-четвертых, атрибуты Html тегов надо брать в кавычки. поэтому echo "\t\t<td><a href=\"page2.php?id=$row[0]\">$row[1]</a></td>\n"; и вообще, я бы переписал этот кусок так:
а функция тут, по-моему, не нужна Это сообщение отредактировал(а) Feldmarschall - 19.12.2007, 15:50 |
|||
|
||||
| Sliva |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 4.5.2006 Репутация: нет Всего: нет |
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
во-первых, массив $_GET не надо делать доступным. он и так доступный всегда.
во-вторых, несколько странно хотеnь сделать доступной одну переменную($_GET) , а писать global $HTTP_GET_VARS; - т.е., другую. в-третьих, в этом скрипте ни $_GET, ни $HTTP_GET_VARS не нужны вовсе. в-четвертых, массив $HTTP_GET_VARS использовать не имеет смысла, поскольку он устарел и есть $_GET в-пятых, делать отдельную функцию, чтобы переменная была доступна в другой - несколько эээ... неправильно. почитай, для чего нужен оператор http://php.net/global Это сообщение отредактировал(а) Feldmarschall - 19.12.2007, 16:05 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |