2009-12-06 28 views
0

问题,我想使用会话,但我遇到了从我的$ food数组中实现会话的问题,因此如果用户选择了Pizza,我不会给他或她一个三明治,同样,如果用户选择一个Sandwitch,我不会给用户一个披萨。php会话并确定是否通过会话选择了x值

我也想知道用户是否已经选择了披萨或三明治。

$food = array("Pizza" => $_POST["pepperoni"], "Sandwitch"=>$_POST["chickensandwitch"]); 

//How do I set up each $food element such that it gets its own session? 
// In addition to checking if $food["Pizza"] has been selected or not? 
if (isset($_SESSION('$food["Pizza"]'))) 
{ 
$_SESSION('$food["Pizza"]') = $_SESSION('$food["Pizza"]') 
echo "You have already selected Pepperoni"; 
} 
else 
{ 
echo "Please select a Pizza"; 
} 

PS,关于上面的代码的结构和语法我知道有很多问题,这就是为什么我要求帮助,谢谢你没有燃烧,则福利局。

回答

2
//How do I set up each $food element such that it gets its own session? 

结构应该是这样的:

$_SESSION['food']['pizza'] = 'pepperoni'; 
$_SESSION['food']['sandwich'] = 'chicken sandwich'; 

// checking if food[pizza]has been selected/defined 
if(isset($_SESSION['food']['pizza'])) { 
    echo "You've already selected " . $_SESSION['food']['pizza']; 
} else { 
    echo "Please select a Pizza"; 
} 

1

你其实代码中有一些问题,我也听不懂你的问题。这是我认为是你需要的一个例子。

if(!isset($_SESSION['food'])) { 
    if(isset($_POST['food'])) { 
     $_SESSION['food'] = $_POST['food']; 
    } else { 
     die("You'll have to select whicht type of food you want."); 
    } 
} 

if($_SESSION['food']=="Pizza") { 
    // User selected pizza 
    if(isset($_POST['pizza'])) { 
     // User selected a type of pizza 
     $_SESSION['pizza'] = $_POST['pizza']; 
    } else if(!isset($_SESSION['pizza'])) { 
     // No pizza selected by user and also none in session 
     die("You'll have to select a pizza."); 
    } else { 
     // User selected type of pizza previously 
     echo htmlspecialchars("You selected pizza '{$_SESSION['pizza']}'.") . "<br />\n"; 
    } 
} else if($_SESSION['food']=="Sandwhich") { 
    // Same as above just for sandwhiches.. 
} else { 
    echo "No pizza or other food selected."; 
} 
+0

谢谢你们。 – Newb