2012-11-03 270 views
1

我希望每次按下提交按钮时,变量$order都会增加1。每次按下按钮(PHP)时增加一个变量

(页面的名称是study.php所以按下按钮的页面被刷新每次):

<?php 
$order = $_GET['number']; 

echo "<form action='study.php' method='GET'> 
    <input type='hidden' name='number' value='$order++' /> 
    <input class='big_b' type='submit' value='next' /> 
</form>"; 

echo "$order"; 
?> 

第一次1推按钮$顺序是1,第二个2,第三个是3 ...等

感谢您的帮助!

编辑:解决

<?php 
session_start(); 
if(empty($_SESSION['count'])) $_SESSION['count'] = 0; 
$order = $_SESSION['count']+1; 
$_SESSION['count'] = $order; 

echo "<form action='study.php' method='GET'> 
     <input class='big_b' type='submit' value='next' /> 
    </form>"; 

echo "$order"; 
?> 
+1

使用PHP会话! – Vucko

+0

感谢Vucko的提示! –

回答

0
<?php 
session_start(); 
if(empty($_SESSION['order'])){ 

    $_SESSION['order'] = 1; 
} 


echo "<form action='study.php' method='GET'> 
    <input type='hidden' name='number' value='".$_SESSION['order']++."' /> 
    <input class='big_b' type='submit' value='next' /> 
</form>"; 

echo $_SESSION['order']; 

?> 
0

你需要把$order++外引号,使(递增1)的操作。下面的代码:

<?php 
$order = $_GET['number']; 

echo "<form action='study.php' method='GET'> 
    <input type='hidden' name='number' value='".$order++."' /> 
    <input class='big_b' type='submit' value='next' /> 
</form>"; 

echo "$order"; 
?> 
+0

谢谢,但不工作。 –

+0

您需要存储值客户端或服务器端,然后增加它 – thumbmunkeys

1

如何你现在拥有它,就是它会增加每个页面的刷新按钮,无论是否被点击或没有,你需要它只有当按下按钮来增加?

<?php 
session_start(); 

// Reset to 1 
if(isset($_POST['reset'])){unset($_SESSION['number']);} 

// Set or increment session number only if button is clicked. 
if(empty($_SESSION['number'])){ 
    $_SESSION['number']=1; 
}elseif(isset($_POST['next'])){ 
    $_SESSION['number']++; 
} 

echo ' 
<form action="" method="POST"> 
    <input class="big_b" type="submit" name="next" value="Next" /> 
    <input type="submit" name="reset" value="Reset" /> 
</form>'; 

echo $_SESSION['number']; 
?> 
相关问题