Cookies PHP会话名称不会显示和连接

Cookies PHP会话名称不会显示和连接,cookies,session-variables,session-cookies,php,Cookies,Session Variables,Session Cookies,Php,我似乎不明白为什么我的名字不会出现。这是一个会议,我相信一切都是正确的。我必须再要一双眼睛。此外,我似乎不知道如何连接链接1正确的最后一部分。它每次都会抛出一个未定义的索引错误。无论如何,代码如下,请提前感谢 <?php session_start(); //name if(isset($_SESSION['name'])){ echo "Session Set"; } else if(!isset($_SESSION['name']) && isset($_COO

我似乎不明白为什么我的名字不会出现。这是一个会议,我相信一切都是正确的。我必须再要一双眼睛。此外,我似乎不知道如何连接链接1正确的最后一部分。它每次都会抛出一个未定义的索引错误。无论如何,代码如下,请提前感谢

<?php
session_start();
//name
if(isset($_SESSION['name'])){
    echo "Session Set";
}
else if(!isset($_SESSION['name']) && isset($_COOKIE['name'])){
$_SESSION['name'] = $_COOKIE['name'];
}
else{
    $_SESSION['name'] = "Bill";
}

//picUrl
if(isset($_SESSION['picURL'])){
    echo "Session Set";
}
else if(!isset($_SESSION['picURL']) && isset($_COOKIE['picURL'])){
$_SESSION['picURL'] = $_COOKIE['picURL'];
}
else{
    $_SESSION['picURL'] = "http://www.mugshots.org/misc/bill-gates.jpg";
}

//bgColor
if(isset($_SESSION['bgColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['bgColor']) && isset($_COOKIE['bgColor'])){
$_SESSION['bgColor'] = $_COOKIE['bgColor'];
}
else{
    $_SESSION['bgColor'] = "black";
}

//txtColor
if(isset($_SESSION['txtColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['txtColor']) && isset($_COOKIE['txtColor'])){
$_SESSION['txtColor'] = $_COOKIE['txtColor'];
}
else{
   $_SESSION['txtColor'] = "green";
}

//hyperColor
if(isset($_SESSION['hyperColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['hyperColor']) && isset($_COOKIE['hyperColor'])){
$_SESSION['hyperColor'] = $_COOKIE['hyperColor'];
}
else{
    $_SESSION['hyperColor'] = "yellow";
}

//vHyperColor
if(isset($_SESSION['vHyperColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['vHyperColor']) && isset($_COOKIE['vHyperColor'])){
$_SESSION['vHyperColor'] = $_COOKIE['vHyperColor'];
}
else{
    $_SESSION['vHyperColor'] = "red";
}

//aHyperColor
if(isset($_SESSION['aHyperColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['aHyperColor']) && isset($_COOKIE['aHyperColor'])){
$_SESSION['aHyperColor'] = $_COOKIE['aHyperColor'];
}
else{
    $_SESSION['aHyperColor'] = "cyan";
}

//link1
if(isset($_SESSION['bgColor'])){
    echo "Session Set";
}
else if(!isset($_SESSION['bgColor']) && isset($_COOKIE['bgColor'])){
$_SESSION['bgColor'] = $_COOKIE['bgColor'];
}
else{
    $_SESSION['link1'] = "http://en.wikipedia.org/wiki/Bill_Gates";
}

//link2
if(isset($_SESSION['link2'])){
    echo "Session Set";
}
else if(!isset($_SESSION['link2']) && isset($_COOKIE['link2'])){
$_SESSION['link2'] = $_COOKIE['link2'];
}
else{
    $_SESSION['link2'] = "http://www.usdoj.gov/atr/cases/ms_index.htm";
}

//link3
if(isset($_SESSION['link3'])){
    echo "Session Set";
}
else if(!isset($_SESSION['link3']) && isset($_COOKIE['link3'])){
$_SESSION['link3'] = $_COOKIE['link3'];
}
else{
    $_SESSION['link3'] = "http://www.microsoft.com";
}

//link1Name
if(isset($_SESSION['link1Name'])){
    echo "Session Set";
}
else if(!isset($_SESSION['link1Name']) && isset($_COOKIE['link1Name'])){
$_SESSION['link1Name'] = $_COOKIE['link1Name'];
}
else{
    $_SESSION['link1Name'] = "Bill Gates Net Worth Page";
}

//link2Name
if(isset($_SESSION['link2Name'])){
    echo "Session Set";
}
else if(!isset($_SESSION['link2Name']) && isset($_COOKIE['link2Name'])){
$_SESSION['link2Name'] = $_COOKIE['link2Name'];
}
else{
    $_SESSION['link2Name'] = "United States v. Microsoft";
}

//link3Name
if(isset($_SESSION['link3Name'])){
    echo "Session Set";
}
else if(!isset($_SESSION['link3Name']) && isset($_COOKIE['link3Name'])){
$_SESSION['link3Name'] = $_COOKIE['link3Name'];
}
else{
    $_SESSION['link3Name'] = "Microsoft Home Page";
}

?>
<html>

<head>
<title>A05_SessionColors</title>
</head>

<body bgcolor="<?php echo $_SESSION['bgColor']?>" 
      text="<?php echo $_SESSION['txtColor']?>" 
      link="<?php echo $_SESSION['hyperColor']?>" 
      vlink="<?php echo $_SESSION['vHyperColor']?>" 
      alink="<?php echo $_SESSION['aHyperColor']?>">



<center>
<h1><?php echo $_SESSION['name'] ?>'s Home Page</h1>
<p><img border="0" src=<?php echo '"'.$_SESSION['picURL'].'"'?>/></p>
<h2>My Three Favorite Links</h2>
<ul>
  <li>
    <p style="line-height: 150%"><a href=<?php echo '"'.$_SESSION['link1'].'"'?>/><?php echo $_SESSION['link1Name']?></a></li>
  <li>
    <p style="line-height: 150%"><a href=<?php echo '"'.$_SESSION['link2'].'"'?>/><?php echo $_SESSION['link2Name']?></a></li>
  <li>
    <p style="line-height: 150%"><a href=<?php echo '"'.$_SESSION['link3'].'"'?>/><?php echo $_SESSION['link3Name']?></a>&nbsp;</li>
</ul>


</center>

<h3 align="center">Click <a href="optionsForm.php">HERE</a> to change display options.</h3>

<p>&nbsp;</p>

</body>

</html>

A05_会话色
的主页
/>

我最喜欢的三个链接
单击以更改显示选项。


在重复代码中,您遗漏了一些数组键。我建议改写如下:

<?php
session_start();
$default_values = array(
  'name' => 'Bill',
  'picURL' => "http://www.mugshots.org/misc/bill-gates.jpg",
  'bgColor' => "black",
  ...
);

foreach ($default_values as $key => $value) {
  if(!isset($_SESSION[$key]) && isset($_COOKIE[$key])){
    $_SESSION[$key] = $_COOKIE[$key];
  }
  else{
    $_SESSION[$key] = $value;
  }
}

?>
<html>
...

...

顺便说一句,您将会话值设置为cookie值似乎有点奇怪,而这两个值都被当前访问者持久化。

您的代码非常重复。如果有一个函数或循环,时间会短得多。是的,我知道。我刚刚开始学习PHP。你知道为什么我的问题会发生吗。我真的解决了名字的问题。链接3的连接让我很难受我的道歉,我是说链接1是的,你错过了一把钥匙。请看下面我的答案。