PHP程序在localhost上非常完美,赢得';不要在现场工作
下面是我的php类的一个赋值。我在本地主机上解决了这个问题。那里的一切都很完美,但当我把它上传到我的直播网站时,逻辑就变得一团糟了。这是一个典型的“猜谜游戏”程序。没有报告任何错误 唯一的问题是,在live server上,用户可以输入任何内容——甚至是“1”,这表明他们的输入“太高” 这可能是我的网站(fatcow)php设置的问题吗?我认为现在发生的是,不知为什么,它显示了我的会话变量为“零”,而不是rand(1,10)数字。为什么会发生这种情况?如何修复它,使其与在本地主机上的工作方式相同 守则:PHP程序在localhost上非常完美,赢得';不要在现场工作,php,localhost,Php,Localhost,下面是我的php类的一个赋值。我在本地主机上解决了这个问题。那里的一切都很完美,但当我把它上传到我的直播网站时,逻辑就变得一团糟了。这是一个典型的“猜谜游戏”程序。没有报告任何错误 唯一的问题是,在live server上,用户可以输入任何内容——甚至是“1”,这表明他们的输入“太高” 这可能是我的网站(fatcow)php设置的问题吗?我认为现在发生的是,不知为什么,它显示了我的会话变量为“零”,而不是rand(1,10)数字。为什么会发生这种情况?如何修复它,使其与在本地主机上的工作方式相同
<?php
session_start();
error_reporting (E_ALL | E_STRICT);
$pageTitle = "Guessing Game";
include('includes/header.inc.php');
if (isset($_POST['finish']))
{
unset($_SESSION);
$_SESSION = array();
session_destroy();
die ('<h2>Congratulations</h2>
<p>Your session has been reset.<br />
Click <a href="guessingGame.php">HERE</a> to play again!</p>');
}
elseif (isset($_POST['guess']))
{
$_SESSION['count'] = $_SESSION['count'] + 1;
$guess = $_POST['guess'];
if (!ctype_digit($guess) || $guess <= 0 || $guess > 10 )
{
echo'<p span class="italic">SORRY, that entry is invalid</span></p>';
}
else
{
if ($guess == $_SESSION['num'])
{
die ('<h1>Hooray!</h1>
<h2>You got it correct<br />
And it only took you ' . $_SESSION['count'] . ' tries!</h2>
<p>Click the button to finish:</p>
<form action="guessingGame.php" method="post">
<input type="submit" name="submit" value="Finished" />
<input type="hidden" name="finish" value="true" />
</form></p>');
}
elseif ($guess < $_SESSION['num'])
{
echo '<h2>Sorry, that is incorrect.</h2>
<p>Your guess is too LOW</p>';
}
else
{
echo '<h2>Sorry, that is incorrect.</h2>
<p>Your guess is too HIGH</p>';
}
}
}
else
{
$_SESSION['num'] = rand(1,10);
$_SESSION['count'] = 0;
}
?>
<h1>Please guess a number between 1 and 10</h1>
<p>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<input type="text" name="guess" size="2" />
<input type="submit" name="submit" value="Submit" />
</form>
</p>
<?php
include('includes/footer.inc.php');
?>
请猜一个介于1和10之间的数字
(我将添加我的评论作为答案,因为这有助于解决问题。)
显然,会议不工作的盒子与肥牛主持。要查看的一些链接:
B.鳞茎。我建议您尝试找到一个解决方案而不是,因为它已被弃用,并且将从PHP 5.4.0中删除。您的live站点的链接在哪里?您确定会话已保存吗?也许可以在您的站点中添加一个var_dump($\u session)语句;并将其升级到Live版本,这样您就可以查看$\u会话的内容(如果有的话)以及这些内容与本地主机上的内容有何不同?另外,header.inc.PHP文件中是否运行任何PHP代码?如果是这样的话,你能发布它吗?该页面的链接是[[1]:我假设会话已保存。浏览器在页面上显示一个现有cookie。我的live主机运行php 5.3,我的localhost也是。这是我实际查找的第一件事。至于header.inc文件,它没有实际的php,只有一点javascript来定位光标。尝试删除js部分,仍然不起作用。正如我所说的这是非常基本的。我将尝试使用var_dump()语句来查看它所说的内容。谢谢!我与同样使用FatCow的同事共享了此信息。实际上根本不需要register_globals。很高兴知道它即将被弃用。