2013-07-03 3 views
0

Я создал таблицу, содержащую id - names - jobs и страницу, на которой отображаются только имена, и рядом с каждым именем есть кнопка Job и сессия, содержащая идентификатор. это мой кодPHP - Как получить сеанс в php

$query = mysql_query("SELECT * FROM table"); 
while($fetch = mysql_fetch_array("$query")){ 
$name = $fetch['names']; 
$id = $fetch['id']; 
echo '</br>'; 
echo $name; 
$_SESSION['name'] = $id; 
echo "<button>Job</button>"; 
} 

Я хочу, когда пользователь нажимает на кнопку Job перенаправления на страницу, которая содержит работу этой сессии. так как я могу это сделать?

ответ

1

Заменить echo линию:

echo "<button onclick='document.location=\"show_job.php?id=$id\">Job</button>"; 

Кстати, хранить $ ID в $ _SESSION не будет работать - есть только один $ _SESSION на веб-сессии, и так как вы перечисляете различные рабочие места , $_SESSION['id'] будет содержать LAST $id.

+0

это нормально, но я не хочу показывать $ id. –

+0

@KlausJasper у вас только 1! переменная, как вы можете хранить в ней все идентификаторы? – vladkras

+0

Это сработало. Я выхожу из сеанса, и он показывает мне каждый идентификатор. –

0

вы перепишите $ _SESSION переменного каждый цикл, поэтому он будет содержать только тх последний идентификатор из таблицы

единственным способом я вижу, это сделать ссылку <a href="?job_id=$id>Job</a> и запросить точную работу на странице, как SELECT * FROM table WHERE id=$_GET['job_id']

в любом случае вы должны написать где-нибудь в HTML, потому что серверный скрипт должен знать, что идентификатор вы ищете

Имо вы на самом деле не понимают, что происходит между клиентской и серверной стороне, но я не могу предоставить вам ссылку на учебник, потому что это долгое время, когда я использовал t в последний раз

0

Существует более простой способ, чем использование сеанса. Поскольку вы используете сеанс, только один идентификатор может быть сохранен сразу.

Вместо кнопки попробуйте использовать ссылку с идентификатором в качестве параметра.

<a href="link-to-target-page?id=$id">Job</a> 

И на этой целевой странице

$id = $_GET['id']; 

Теперь у Вас есть идентификатор в целевой странице. Если вы хотите загружать больше материала, чем просто задание, попробуйте вытащить из БД.

С другой стороны, если вы хотите показать здесь только работу, вся эта вещь является плохой реализацией. Причина не переводит пользователя на новую страницу, чтобы увидеть название задания. Позвольте ему увидеть его на первой странице.