Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在没有数据库的情况下增加整数并保存以备将来使用_Php_Int_Increment - Fatal编程技术网

Php 如何在没有数据库的情况下增加整数并保存以备将来使用

Php 如何在没有数据库的情况下增加整数并保存以备将来使用,php,int,increment,Php,Int,Increment,我想从网页中获取一个整数,在提交表单时递增,然后在网页的同一位置用新整数替换旧整数。更新的int应该对所有用户可见,而不仅仅是一台计算机。我正在使用PHP,似乎无法完成这个看似简单的任务 此外,由于我目前在连接数据库时遇到问题,因此无法使用数据库 这是我的代码,它是为我的研究生班级创建的一种无声拍卖 <?php $nameB = $priceB = $numbB = $emailB = false; if($_SERVER["REQUEST_METHOD"] == "POST") {

我想从网页中获取一个整数,在提交表单时递增,然后在网页的同一位置用新整数替换旧整数。更新的int应该对所有用户可见,而不仅仅是一台计算机。我正在使用PHP,似乎无法完成这个看似简单的任务

此外,由于我目前在连接数据库时遇到问题,因此无法使用数据库

这是我的代码,它是为我的研究生班级创建的一种无声拍卖

<?php
$nameB = $priceB = $numbB = $emailB = false;

if($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST['name']))
        {$nameERR = "Name is required"; $nameB = true;}
    if(empty($_POST['price']))
        {$priceERR = "A bet amount is required"; $priceB = true;}
    if(empty($_POST['number']))
        {$numERR = "A bet amount is required"; $numbB = true;}
    if(empty($_POST['email']))
        {$emailERR = "A bet amount is required"; $emailB = true;}
}

if($_POST && $nameB == false && $priceB == false && $numbB == false && $emailB == false) {
    $name = $_POST['name'];
    $numb = $_POST['number'];
    $email = $_POST['email'];
    $betAmount = $_POST['price'];
}

$filename = 'counter.txt';
if(!file_exists($filename)) {
    $bids = 0;
}
else
    $bids = file_get_contents ($filename);
$bids++;
file_put_contents($filename, $bids);

function getBids() {
    if(!file_exists($filename)) {
        $bids = 0;
    }
    else
        $bids = file_get_contents ($filename);
}
?>

<html>
<body>
<form>
</form>
Number of Bids:
<br>
<?php echo getBids(); ?>
</html>

投标数量:

表格上实际上有内容,但与问题无关。唯一相关的是发送确认电子邮件的submit按钮。按下该键时,计数器应增加1

我希望我解释得足够好。

用这种方式试试

session_start();
if (isset($_POST['SOME_THING'])) {
   if ( isset($_SESSION['int']) ) {
      $_SESSION['int'] = $_SESSION['int']+1;
   } else {
      $_SESSION['int'] = 1;
   }
}

在表单发布的位置添加此代码

您可以使用文件存储计数器,如下所示:

//after form submit
$filename='counter.txt';
if(!file_exists($filename)){
    $counter = 0 ;
}
else
    $counter = file_get_contents ($filename);
$counter++;
file_put_contents($filename, $counter); //save the new counter ( +1 )
if(!file_exists($filename)){
        $counter = 0 ;
    }
else
        $counter = file_get_contents ($filename);
function getBids() {
    $filename='counter.txt'; // ADD THIS LINE
    if(!file_exists($filename)) {
        $bids = 0;
    }
    else
        $bids = file_get_contents ($filename);
    return $bids; //ADD THIS LINE
}
每隔一次,当你想在任何地方使用这个号码时,就这样得到它:

//after form submit
$filename='counter.txt';
if(!file_exists($filename)){
    $counter = 0 ;
}
else
    $counter = file_get_contents ($filename);
$counter++;
file_put_contents($filename, $counter); //save the new counter ( +1 )
if(!file_exists($filename)){
        $counter = 0 ;
    }
else
        $counter = file_get_contents ($filename);
function getBids() {
    $filename='counter.txt'; // ADD THIS LINE
    if(!file_exists($filename)) {
        $bids = 0;
    }
    else
        $bids = file_get_contents ($filename);
    return $bids; //ADD THIS LINE
}
更新:您的
getBids()
函数必须返回如下值:

//after form submit
$filename='counter.txt';
if(!file_exists($filename)){
    $counter = 0 ;
}
else
    $counter = file_get_contents ($filename);
$counter++;
file_put_contents($filename, $counter); //save the new counter ( +1 )
if(!file_exists($filename)){
        $counter = 0 ;
    }
else
        $counter = file_get_contents ($filename);
function getBids() {
    $filename='counter.txt'; // ADD THIS LINE
    if(!file_exists($filename)) {
        $bids = 0;
    }
    else
        $bids = file_get_contents ($filename);
    return $bids; //ADD THIS LINE
}

请首先管理与数据库的连接,以便成功回答您的问题。如果已连接到数据库,请添加以下代码:

<?php
$conn; // connection link to your database
$query = mysqli_query($conn,"SELECT max(int) as int FROM tbl_table") or die("Error" . mysqli_error());
$row = mysqli_fetch_assoc($query);
$result = $row['int'] + 1;
echo $result;
?>


希望这有帮助。

如果没有数据库,您需要将您的int保存到文件中,然后在重新加载页面时,在int中添加1并将其保存回文件。诚实地解决您的数据库问题,将使生活更加轻松。$int++;echo$int;管理变量状态取决于您我认为用户也希望为其他访问者保存值,会话仅为单个访问者保留该值。我澄清了该问题,说明我也想为其他用户设置该值。该问题是关于“不使用数据库”的。我更新了该问题,以便您可以使用它来显示您发布的代码片段的放置位置。我试过你是怎么说的,但什么也没发生。这仍然不起作用,页面上的数字没有更新,文本文件中的数字在我每次刷新页面时都会增加,不是每次提交表单时都会增加。注意:你没有定义
$filename
,请再次查看更新,查找
添加此行
好的,现在我有了另一个名为addBids()的函数,我将把它放入表单中的onsubmit函数中。但是每次我刷新页面时,计数器都会不断增加,而不是实际提交表单。如果($_POST){addBids();}