2013-03-26 2 views
0

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

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

Итак, я думаю, мой вопрос в том, как я переношу эту переменную по своему выбору на следующую страницу из галереи?

Любая помощь очень ценится

Кстати это мой код для получения изображения, отображаемые из базы данных:

<?php 

    mysql_connect("localhost","root",""); 
    mysql_select_db ("imagez"); 

    $res=mysql_query("select * from imgz"); 

    while($row=mysql_fetch_array($res)) 
    { 

    echo "<a href=\"page.php?id={$row['id']}\" />  
    <img src=\"{$row['img']}\> </a>"; 

    } 

?> 
+0

'"; 'должно быть' ";' - см. Разницу? – michi

+0

Вау, ты потрясающий человек! спасибо, что это работает, только один последний вопрос, если вы не возражаете, как я + репрессирую кого-то здесь? =) – user2209644

+0

Слева от моего ответа, нажмите отметку под стрелкой V, чтобы принять мой ответ, чтобы проголосовать, вам нужно больше rep – michi

ответ

0

вы можете передать значения на другую страницу ...

(1) QueryString (URL)

page.php?do=show&id=5 

создают те, потянув уникальный идентификатор записи из вашей БД и создать ссылку:

echo "<a href=\"page.php?id={$row['id']}\" />{$row['name']}</a>"; 

предполагая, что ваша таблица imgz имеет поля ID, имя.

в page.php, вы получите эти переменные с

$_GET['do']; $_GET['id']; 

про: быстрый & легкий
контра: можно легко манипулировать злыми пользователями - они изменяют строку запроса и получить свой сценарий делать странные вещи.

(2) POST

создать <form method="post" action="page.php"> со скрытым полем имени id, содержащий 'идентификатор', который вы хотите передать. Добавьте кнопку <submit>, чтобы отправить данные на страницу.

в page.php, вы получите эти значения с помощью:

$_POST['id']; 

про: безопасно, потому что зло пользователь не может играть с POST
противопоказаны: накладные

(3) СЕССИЯ:

звонок session_start(); наверху каждой страницы, wri т.е ваши данные в сессии ...

$_SESSION['id'] = $id; $_SESSION['do'] = "show"; 

эти переменные будут храниться между страницами, в page.php вы можете просто использовать S_SESSION['id'] и имеют это значение - если вы назвали session_start().

про: легко и безопасно, PHP будет делать работу за вас (например, обработка печенье и т.д.)
противопоказаны: поставит нагрузку на веб-сервер, если трафик идет на вашем сайте.

+0

Спасибо, что я должен указать, хотя я понимаю, как передать переменную из одна страница к другой, то, что я не получаю, - как я могу получить «идентификатор» изображения, который будет помещен в переменную, в первую очередь, как только пользователь нажмет на изображение? если это имеет смысл? : S – user2209644

+0

@ user2209644: см. Мое редактирование за несколько секунд – michi

+0

Некоторые потрясающие вещи, я пробовал использовать это, все работает до тех пор, пока я не добавлю изображения, вот как я сделал это «эхо» {$row['name']} «; но теперь каждая ссылка связывает только идентификатор 1 и отображает только 3 изображения вместо 4, любые идеи почему? – user2209644

0

Вы можете установить параметры URL, поэтому, когда они щелкают его, вы бы параметр как;

http://example.com/pricecheck.php?photoid=435

Затем на странице вы могли бы сделать;

$ photo = $ _GET ['photoid'];

Тогда вы бы идентификатор этой фотографии на странице

0

Вместо передачи переменной с помощью URL-адреса, вы можете использовать куки для хранения переменной и делает вычисления, чтобы проверить.

<?php 
$expire=time()+60*60*24*30; 
setcookie("price", "$54", $expire); 

echo $_COOKIE['price']; 
?> 

Теперь, когда переменная $price будет доступна для каждого веб-страницы, и, наконец, не забудьте очистить куки `SetCookie («л»,«», $ истекают);

Смежные вопросы