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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача параметра при переходе по ссылке 
:(
    Опции темы
Sliva
Дата 18.12.2007, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня такая проблема: создаю таблицу из селект-запроса, в таблице хранится список имен:
Иванов 
Петров
Сидоров
...
Каждое имя является ссылкой, при щелчке на имени - открывается новый php-сценарий, которому должно передаваться ИМЯ с первой странице, по которому щелкнул пользователь. 

Как запомнить это имя для нового сценария. Я использую $_SESSION['name'] при заполнении таблицы, но в ней оказывается последнее имя в таблице, а мне надо то, по которому кликнул пользователь. 

Помогите, пожалуйста!
PM   Вверх
Feldmarschall
Дата 18.12.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Так по ссылке и передавать.
<a href=scenario.php?name=<?=$name?>>

только лучше передавать не имя, а id
PM   Вверх
Sliva
Дата 18.12.2007, 09:53 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Так имен-то много, они из запроса все выбираются. 
А мне надо запомнить ТО ИМЯ, по которому кликнет пользователь  smile  
Вот код:
Код

  while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
        echo "\t<tbody><tr class = 'TAB'>\n";
        foreach ($row as $name) {
            $_SESSION['name'] = $name;
            $arr[]=$_SESSION['name'];
            echo "\t\t<td><a href='page2.php'>$name </a></td>\n";
        }
        echo "\t</tr>\n";

PM   Вверх
Feldmarschall
Дата 18.12.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



повторяю. запоминать не надо. надо передавать. по ссылке.
6-я строчка твоего кода:
Код

echo "\t\t<td><a href='page2.php?name=$name'>$name </a></td>\n";
понятно? или всё ещё нет?

передавать желательно не имя, а id
PM   Вверх
Sliva
Дата 18.12.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



 smile  понятно! А как во втором сценарии обращаться к $name? Можно 
Код

echo "$name";

Я попробовала - не получается так обратится  smile 

Это сообщение отредактировал(а) Sliva - 18.12.2007, 10:39
PM   Вверх
skyboy
Дата 18.12.2007, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



$_GET['name']
PM MAIL   Вверх
Sliva
Дата 18.12.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А если в сценарии указан method POST ? И его надо использовать. Или по-другому никак не получится?
 Я исправила в сценарии на GET, вызываю $_GET['name'] , а у меня ошибка
undefinded index: name in ... 

Это сообщение отредактировал(а) Sliva - 18.12.2007, 10:50
PM   Вверх
Feldmarschall
Дата 18.12.2007, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



У тебя в сценарии указан метод GET.
POST использовать не надо. В данном случае.

Вообще, судя по вопросам, очень желательно расказать всю картину и объяснить смысл скрипта.
Тогда местные гуру расскажут и покажут, как пишут сайты на PHP.

Добавлено через 3 минуты и 35 секунд
Цитата(Sliva @  18.12.2007,  10:43 Найти цитируемый пост)
вызываю $_GET['name'] , а у меня ошибка
undefinded index: name in ... 


в каком сценарии? page2.php?

Добавлено через 4 минуты и 45 секунд
А строчку-то ты исправила, как я написал?

Это сообщение отредактировал(а) Feldmarschall - 18.12.2007, 10:51
PM   Вверх
Sliva
Дата 18.12.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



в
Цитата

 каком сценарии? page2.php?

Да. 
Смысл скрипта: Надо с одной странички (нажав на имя) попасть на другую, а по имени (на которое нажал пользователь) выбирать и отображать на второй страничке данные того, чье имя выбрал пользователь  
Цитата

А строчку-то ты исправила, как я написал?

Да 

Это сообщение отредактировал(а) Sliva - 18.12.2007, 11:00
PM   Вверх
Feldmarschall
Дата 18.12.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Отлично. Стандартная задача. Используется на миллионах сайтов.
Метод POST для этого не нужен.

Посмотри на адресную строку, когда переходишь по ссыке - а в ней-то имя есть?


PM   Вверх
bars80080
Дата 18.12.2007, 11:41 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



ладно, в роли гуру выступлю я и поведаю волшебство php
Код

$sql = ''; // запрос к БД
$res = select_from_db($sql); // выборка из БД
for($i = 0; isset($res[$i]['id']); $i++) {

echo '<a href="page2.php?id='.$res[$i]['id'].'">'.$res[$i]['name'].'</a><br />';

}


с поправкой на твои запросы и таблицы

в page2.php
Код

if(isset($_GET['id'])) {
$sql = 'select * from table where id='.$_GET['id'];
// и так далее
}

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


Бывалый
*


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

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



Нет, в том-то и дело! Я знаю, что если метод GET, то в адрессной ссылке должны прописываться данные. 
Метод GET я указала:
Код

 echo "<form action = 'page2.php' method = 'GET'>\n";

PM   Вверх
bars80080
Дата 18.12.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



если ты реализуешь на каждое имя кнопку с формой, то это мягко говоря неправильное решение
ибо слишком много не нужной (не смысловой инфо),
лучше реализуется ссылками
PM MAIL WWW   Вверх
Sliva
Дата 18.12.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

если ты реализуешь на каждое имя кнопку с формой, то это мягко говоря неправильное решение
ибо слишком много не нужной (не смысловой инфо),
лучше реализуется ссылками

Нет,  у меня табличка - и каждое имя - это ссылка на след. сценарий. НО: Это имя я должна передать  в этот  второй сценарий, чтобы потом по этому имени делать запрос  smile  
PM   Вверх
Feldmarschall
Дата 18.12.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 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
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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