如何在使用会话的地方发送网址?

时间:2014-07-08 11:34:25

标签: php mysql session sessionid

我在产品网站中使用会话。我的问题是如何发送单一产品数据表网站的网址。

在产品数据表网站中,当我点击索引网站中的产品图片时,我会填写会话:

<?php session_start(); include "connection.php";
$sql = mysql_query("SELECT * FROM products WHERE img = '".$_COOKIE['image_src']."'");

while ($f = mysql_fetch_array($sql))
{
    $_SESSION['fid'] = $f['id']; //product id
    $_SESSION['fimg'] = $f['image']; //product image
    $_SESSION['fname'] = $f['name']; //product name
    $_SESSION['fdecription'] = $f['decription']; //product description
    $_SESSION['fcategory'] = $f['category']; //product category
}
?>

比我写出会话(产品信息)的同一网站:

e.g:

<?php session_start(); print ($_SESSION[fname]);
echo "<img src='".$_SESSION['fimg']."' height='350' width='250'>";?>

但是这种方式总是最后点击的产品信息将在会话中。 而且我无法同时打开多个产品的数据表。

2 个答案:

答案 0 :(得分:3)

您只需要为会话数组创建另一个“级别”:

<?php
session_start();
include "connection.php";
$sql = mysql_query("SELECT * FROM products WHERE img = '".$_COOKIE['image_src']."'");

# Create a counter variable
$counter = 0;

while ($f = mysql_fetch_array($sql))
{
    $_SESSION[$counter]['fid']         = $f['id']; //product id
    $_SESSION[$counter]['fimg']        = $f['image']; //product image
    $_SESSION[$counter]['fname']       = $f['name']; //product name
    $_SESSION[$counter]['fdecription'] = $f['decription']; //product description
    $_SESSION[$counter]['fcategory']   = $f['category']; //product category

    # Increment the counter
    $counter++;
}
?>

然后在要查看图像的页面上,只需循环该数组:

<?php

for( $i=0; $i<count($_SESSION); $i++ )
{
    ...
    echo '<img src="'.$_SESSION[$i]["fimg"].'">';
    ...
}

?>

Multi-dimensional Arrays

PHP Docs - Arrays

答案 1 :(得分:0)

我解决了这个问题:

首先,我必须以这种方式调用页面:index.php?image_src=XY 然后我需要$_GET使用$_COOKIE。 最后,通过这种方式,会话是不必要的。

<?php include "connection.php";
$sql = mysql_query("SELECT * FROM products WHERE img = '".$_GET['image_src']."'");

while ($f = mysql_fetch_array($sql))
{
    $fid = $f['id']; //product id
    $fimg = $f['image']; //product image
    $fname = $f['name']; //product name
    $fdecription = $f['decription']; //product description
    $fcategory = $f['category']; //product category
}
?>

我可以写出数据:

<?php echo "<img src='".$fimg."' height='350' width='250'>";
echo "$fdecription";
?>