PHP投票代码适用于5.2.5,但不再适用于5.2.11

PHP投票代码适用于5.2.5,但不再适用于5.2.11,php,Php,好的,不久前我在编写PHP投票代码时得到了一些帮助,在我升级服务器以使用最新版本的PHP之后,它工作得很好。但是现在我已经切换了服务器,PHP没有另一个服务器更新。无论如何,这是我的代码: <?php if(!file_exists('vote/1u.txt')){ file_put_contents('vote/1u.txt', '+1'); } if($_GET['click'] == 'up1'){ file_put_contents('vote/1u.txt', ((int) fi

好的,不久前我在编写PHP投票代码时得到了一些帮助,在我升级服务器以使用最新版本的PHP之后,它工作得很好。但是现在我已经切换了服务器,PHP没有另一个服务器更新。无论如何,这是我的代码:

<?php
if(!file_exists('vote/1u.txt')){
file_put_contents('vote/1u.txt', '+1');
}
if($_GET['click'] == 'up1'){
file_put_contents('vote/1u.txt', ((int) file_get_contents('vote/1u.txt')) + 1);
header('Location: ' . $_SERVER['SCRIPT_NAME']);
die;
}
?>

执行并显示:

<a href="?click=up1"><img src="images/thumbsup.jpg" width="40px"border="0">            </a><br>Votes: <?php echo file_get_contents('vote/up1.txt'); ?>

投票:
现在,在我的另一台服务器(PHP版本5.2.5)上,这段代码运行得非常好!然而,在我的新服务器上,PHP版本是5.2.11,因此代码无法工作。我的问题是,有没有办法使它与早期版本的PHP更兼容,或者编写与此类似的全新代码?或者有没有办法告诉我的服务器使用PHP5.2.5+?我正在使用cPanel X管理面板


我已将文本文件权限设置为777,但仍然没有任何设置

您正在检查变量“click”,但仅当它等于“up1”时才执行代码

但是您的链接告诉click to等于“yes”,所以部分代码永远不会为true,因此永远不会执行

将您的遗嘱执行人更改为:

<a href="?click=up1"><img src="images/thumbsup.jpg" width="40px"border="0">            </a><br>Votes: <?php echo file_get_contents('counteru.txt'); ?>

您正在检查变量“click”,但仅当它等于“up1”时才执行代码

但是您的链接告诉click to等于“yes”,所以部分代码永远不会为true,因此永远不会执行

将您的遗嘱执行人更改为:

<a href="?click=up1"><img src="images/thumbsup.jpg" width="40px"border="0">            </a><br>Votes: <?php echo file_get_contents('counteru.txt'); ?>

在文件\u get\u contents()周围添加trim()不是一个坏主意。或者在检查$_GET['click']isset()是否等于'up1'之前检查它是否为

通常在头重定向后退出()而不是死亡()——至少从我所看到的情况来看

基本上,在开发过程中,打开错误报告并将错误标志设置为E_ALL以查看所有内容,包括警告和通知——这两种情况都不会停止代码,但仍然应该知道并解决


通过打开完整的错误报告,您可能会发现代码在不同的PHP小版本下产生不同结果的原因。

在文件\u get\u contents()周围添加trim()不是一个坏主意。或者在检查$_GET['click']isset()是否等于'up1'之前检查它是否为

通常在头重定向后退出()而不是死亡()——至少从我所看到的情况来看

基本上,在开发过程中,打开错误报告并将错误标志设置为E_ALL以查看所有内容,包括警告和通知——这两种情况都不会停止代码,但仍然应该知道并解决



通过打开完整的错误报告,您可能会发现您的代码在不同的PHP次要版本下产生不同结果的原因。

如果您使用“单击”“是”而不是“up1”,那么您的上述代码在任何地方都能工作吗?哦,对不起,我从两个不同的页面获取了这两个代码,它们在这两个不同的页面上有不同的值,所以是的。不过我会在中编辑。php.ini中有什么变化吗???如果你用“click”“yes”而不是“up1”,那么你上面的代码将如何工作?哦,对不起,我从两个不同的页面获取了这两个代码,它们在这两个不同的页面上有不同的值。我将在中编辑它。php.ini中有任何更改吗???我已经更新了,但是这两个代码来自两个不同的页面,我只是为了说服他们而抓取它们。尽管如此,我还是很感激你。我做了你说的一切,在1u.txt的值上加了1,更新了代码,但仍然一无所获。即使将该值设置为1,它也应该显示一些内容,但没有显示任何内容。我想知道文件内容是否有问题。如果文件内容失败,则返回FALSE。我会更新我的代码,添加一个检查。我已经更新了,但是这两个代码来自两个不同的页面,我只是为了说服他们。尽管如此,我还是很感激你。我做了你说的一切,在1u.txt的值上加了1,更新了代码,但仍然一无所获。即使将该值设置为1,它也应该显示一些内容,但没有显示任何内容。我想知道文件内容是否有问题。如果文件内容失败,则返回FALSE。我将更新我的代码以添加一个与之相对的检查。我这样做了,但是没有出现任何问题。ini设置(“显示错误”,1);错误报告(E|u ALL | E|u STRICT);嗯,您是否尝试过在有或没有预先存在的vote/1u.txt文件的情况下运行脚本?它是否在丢失时创建?我假设当你说你的代码不工作时,它不是在插入一个现有的文件。。。顺便说一句,我会将您的代码重构为这样,以避免出现一个额外的文件\u put\u contents():
谢谢您的提示,当我说它不工作时,我的意思是该文件也没有被写入,即使在我实际写入时,它也没有显示文本。但我会试试你的代码。我试过你的代码,结果还是一样的,我准备跳过所有这些,也许只是尝试一些javascript。我做到了,但是什么都没有出现。ini设置(“显示错误”,1);错误报告(E|u ALL | E|u STRICT);嗯,您是否尝试过在有或没有预先存在的vote/1u.txt文件的情况下运行脚本?它是否在丢失时创建?我假设当你说你的代码不工作时,它不是在插入一个现有的文件。。。顺便说一句,我会将您的代码重构为这样,以避免出现一个额外的文件\u put\u contents():
谢谢您的提示,当我说它不工作时,我的意思是该文件也没有被写入,即使在我实际写入时,它也没有显示文本。但我会试试你的代码。我试过你的代码,结果还是一样的,我准备跳过这一切,也许试试javascript。