2013-07-05 48 views
3

嗨,我在PHP新开始学习。我想,当提交按钮被按下递增变量值与。PHP递增变量值时提交

我的代码:

<?php 
    $i=0; 
    if($_POST['submit']){ 
     echo $i+1; 
    } 
?> 

感谢

+1

你需要存储变量的地方,比如页面之间的最后一个值。文件,数据库甚至会话。你在做什么总是会显示'1'。 – vee

+0

@vinodadhikary谢谢,我会尝试:) – Manan

+1

这个脚本运行后,变量$ i是释放内存(又名就不见了)。下次执行脚本时,PHP不知道$ i是什么,直到您设置$ i = 0。所以当你点击提交时,它总会回显1。 –

回答

0
var_dump($IsPost = !strcasecmp($_SERVER['REQUEST_METHOD'], 'POST')); 

^告诉你,如果它是一个职位。

echo ++$i; 

^增量$I,然后打印$I

echo $i++; 

^打印$I然后递增$I

empty($_POST['submit']); // or isset($_POST['submit']); 

^告诉你,如果存在$_POST['submit'],恕不另行通知。

4

你变量$我应该存储在会话例如,所以当你提交表单也不会失去它的价值。 (您可以检查这个答案Is PHP or PHP based web framework stateful or stateless?

此外,当执行脚本时,你要做的第一件事是$i = 0;所以每当你执行它,重新初始化变量为0

session_start(); 

// if your variable is not yet defined, you assigned it with 0 
if (isset($_SESSION['myVariable'])) 
{ 
    $_SESSION['myVariable'] = 0; 
} 

if($_POST['submit']) 
{ 
    echo $_SESSION['myVariable'] +1; 
} 
0
<?php 
if(!isset($_SESSION['i'])) $_SESSION['i'] = 0; 
if(isset($_POST['submit'])){ 
    $_SESSION['i']++; 
} 
echo $_SESSION['i']; 
?> 
1
<?php 
session_start(); 

    if($_POST['submit']){ 
     $_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 0; 
     echo $_SESSION['i']; 
    } 
?> 

这会记得