Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用会话将多个产品标记为favorit_Php_Session - Fatal编程技术网

Php 如何使用会话将多个产品标记为favorit

Php 如何使用会话将多个产品标记为favorit,php,session,Php,Session,那么我在这里错过了什么?我正在尝试在我的网页上创建“收藏夹”功能。访问者可以看到不同的产品页面,并选择一种产品作为收藏夹。页面顶部是一幅图像。当访问者单击此图像时,页面将加载以下代码行: <?php session_start(); ini_set('display_errors', 1); error_reporting(E_ALL); define("PRODUCTNAME", 1); define("inURL", 1); if ($_SERVER['REQUEST_METH

那么我在这里错过了什么?我正在尝试在我的网页上创建“收藏夹”功能。访问者可以看到不同的产品页面,并选择一种产品作为收藏夹。页面顶部是一幅图像。当访问者单击此图像时,页面将加载以下代码行:

<?php 
session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

define("PRODUCTNAME", 1);
define("inURL", 1);

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (isset($_POST['productname']))
{
  AddToCart();
}
} 


function AddToCart()
{
$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
$itemcount = isset($_SESSION['itemcount']) ? $_SESSION['itemcount'] : 0;
$event = $_POST['productname'];
$savelink = $_POST['url'];

$cart[PRODUCTNAME][$itemcount] = array('eventnaam' => $event, 'savelink' => $savelink, 'favSRC' => 'favJA');
$itemcount = $itemcount + 1;

$_SESSION['cart'] = $cart;
$_SESSION['itemcount'] = $itemcount;
header('Location: ' . $_POST['url']);
exit;
} 
?>
以上代码有效,我可以将多个产品标记为收藏夹,所有唯一的名称在页面右侧显示为文本,图像src完全更改为
favJA
(同一个星形,但带有颜色,因此访问者知道它已标记)。但是,只要我单击另一个产品并将此产品标记为favorit,它就会根据我的需要更改图像src,但会忘记之前标记的其他产品。右边的列表包含所有唯一的名称,它会记住所有标记的产品,但图像不会。该图像仅识别最后一个产品。一旦一个新产品被标记,它就会取消所有其他图像的标记


我错过了什么?无论标记了多少产品,我如何保持图像的标记?

因此我创建了一个解决方案。我在代码中添加了一个新的
SESSION
值,包含productpage的名称和图像的值

<?php 
session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

 define("PRODUCTNAME", 1);
define("inURL", 1);

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   if (isset($_POST['productname']))
   {
      AddToCart();
   }
} 


function AddToCart()
{
   $cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
   $itemcount = isset($_SESSION['itemcount']) ? $_SESSION['itemcount'] : 0;
   $event = $_POST['productname'];
   $savelink = $_POST['url'];
   $longeventname = $_POST['longeventname'];
   $favIMGsrc = 'favJA';

   $cart[PRODUCTNAME][$itemcount] = array('eventnaam' => $event, 'savelink' =>     $savelink);
   $itemcount = $itemcount + 1;

   $_SESSION['cart'] = $cart;
   $_SESSION['event_url_'.$longeventname] = $favIMGsrc;
   $_SESSION['itemcount'] = $itemcount;
   header('Location: ' . $_POST['url']);
exit;
} 
?>
这就解决了问题

<?php 
session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

 define("PRODUCTNAME", 1);
define("inURL", 1);

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
   if (isset($_POST['productname']))
   {
      AddToCart();
   }
} 


function AddToCart()
{
   $cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
   $itemcount = isset($_SESSION['itemcount']) ? $_SESSION['itemcount'] : 0;
   $event = $_POST['productname'];
   $savelink = $_POST['url'];
   $longeventname = $_POST['longeventname'];
   $favIMGsrc = 'favJA';

   $cart[PRODUCTNAME][$itemcount] = array('eventnaam' => $event, 'savelink' =>     $savelink);
   $itemcount = $itemcount + 1;

   $_SESSION['cart'] = $cart;
   $_SESSION['event_url_'.$longeventname] = $favIMGsrc;
   $_SESSION['itemcount'] = $itemcount;
   header('Location: ' . $_POST['url']);
exit;
} 
?>
<?php 
session_start();

ini_set('display_errors', 1);
error_reporting(E_ALL);

define("PRODUCTNAME", 1);

$cart = isset($_SESSION['cart']) ? $_SESSION['cart'] : '';
$eventURL = isset($_SESSION['event_url_blackout']) ? $_SESSION['event_url_blackout'] : '';
$itemcount = isset($_SESSION['itemcount']) ? $_SESSION['itemcount'] : 0;
$strHTML = "";

if ($itemcount == 0)
{
   $strHTML = "<font class='bewaardeItems'>U heeft nog geen evenementen aangeklikt.    </font>";
   $imageSRC = 'favNEE';
}
else
{
   $strHTML = "<div style=\"overflow:auto; height=358px;\">"."\n";
   $strHTML .= "<table border=\"0\" cellpadding=\"3\" cellspacing=\"2\"     width=\"100%\">"."\n";

   for ($i=0; $i<$itemcount; $i++)
   {
      $strHTML .= "<tr>"."\n";
      $strHTML .= "<td><a href='".$cart[PRODUCTNAME][$i]['savelink']."'     class='bewaardeItems'>".$cart[PRODUCTNAME][$i]['eventnaam']."</a></td>"."\n";
      $strHTML .= "</tr>"."\n";
   }

   $strHTML .= "</table>"."\n";
   $strHTML .= "</div>"."\n";
};

if ($eventURL == "favJA"){
    $imageSRC = 'favJA';
} else {
            $imageSRC = 'favNEE';
      }
?>