2011-03-06 104 views
0

我已经有一个PHP文件与开关箱包括不同的文件,取决于一个变量$viewPHP包括不工作

当我在本地机器上的WAMP服务器上运行这个功能时,这是完美的。 但现在我已经上传到网络服务器和include功能刚刚停止工作。没有包含任何内容。

switch($view) 
    { 
    case 'AddToCart': 
     echo 'adding to cart'; 
     if($_POST['qty']>0) 
     { 
      if(!isset($_SESSION['cart'][$_POST['id']])) 
      { 
       $_SESSION['cart'][$_POST['id']]=$_POST['qty']; 
      } 
      else 
      { 
       $_SESSION['cart'][$_POST['id']]+= $_POST['qty']; 
      } 
     } 
     header('Location:index.php'); 
     break; 

    case 'UpdateCart': 
     echo 'updating cart...'; 
     if(isset($_SESSION['cart'][$_POST['id']])) 
     { 
      if($_POST['updateqty']>0) 
       $_SESSION['cart'][$_POST['id']]=$_POST['updateqty']; 
      else 
       unset($_SESSION['cart'][$_POST['id']]); 
     } 
     header('Location:index.php?view=ViewCart'); 
     break; 

    case 'ViewCart': 
     echo 'This is the full feature cart.'; 
     include('models\cart.php'); 
     include('models\fullcart.php'); 
     break; 

    case 'Checkout': 
     echo 'reached checkout'; 
     include('models\finalcart.php'); 

     break; 

    case 'ClearCart': 
     echo 'Clear cart reached'; 
     $_SESSION['cart']=array(); 
     $_SESSION['total_items']=0; 
     $_SESSION['total_price']=0; 
     header('Location:index.php'); 
     break; 

    case 'RemoveItem': 
     echo 'Removing item '.$_POST['id'].'<br><br>'; 
     unset($_SESSION['cart'][$_POST['id']]); 
     header('Location:index.php?view=ViewCart'); 
     break; 

    default: 
     echo 'index page...lalalalalal...<br>'; 
     include('models\cart.php'); 
     include('models\catalog.php'); 
    } 

我做phpinfo在Web服务器上,并发现它的运行PHP版本5.2.17。

怎么回事?

+0

在正确的路径中的文件吗?他们是否拥有正确的权限?你有任何错误/警告信息? – nico 2011-03-06 10:45:26

+0

关闭我的头顶,这可能是一个目录分隔符问题,因为Window使用\和Unix /。但是,您是否打开了错误报告? – 2011-03-06 10:47:01

回答

1

检查包括文件的权限,我认为他们应该是755或775

+0

755,是理想的烫发 – Kumar 2011-03-06 10:46:58

+0

是755是最好的 – 2011-03-06 10:52:45

3

希望你知道不附和/打印任何你发送头之前。 你可以检查你的服务器操作系统是什么,我用\,而不是\,在文件路径中

+0

是,这是它的斜线......许多感谢的好先生......我的愚蠢,斜线是我应该检查的第一件事,但它从来没有发生,我认为斜线可能有问题... – user434885 2011-03-06 10:52:26

2

我猜你的web服务器运行的是linux或其他类Unix系统,它使用正斜杠而不是反斜杠作为目录分隔符。所以,你必须更换斜线在包括路径:

include('models\fullcart.php'); 

成为

include('models/fullcart.php'); 

等等...