如何生成php页面的自动重定向,将一个输入变量带到另一个输入变量的同一页面php?

时间:2015-06-19 04:16:54

标签: php html

所以我有一组值让我们说90,100,110,120,130,140,​​150第一次加载php页面时,值90是主输入变量,页面显示有关90的详细信息。 现在,在60秒内,页面重定向到相同页面,但输入变量为100。 这种情况还在继续,并且当还显示与150相关的内容时,它会返回到与90相关的内容。 怎么能实现呢?

<?php

mysql_connect("localhost", "root", "qwerty") or die(mysql_error());

mysql_select_db("ups_status") or die(mysql_error());

$data = $_POST['input'] ;// <!--This is where the input should change after every redirect-->

$order = "SELECT * FROM ups_status1 WHERE (Ipaddress LIKE '%".$data."%')";

$results = mysql_query($order) or die('Invalid query: ' .mysql_error());

//    <!--And then I will echo the results-->

?>

3 个答案:

答案 0 :(得分:2)

<?php
session_start();
if (!isset($_SESSION['counter'])) {
    $_SESSION['counter'] = array(90, 100, 110, 120, 130, 140, 150);
}

$i = isset($_SESSION['i']) ? $_SESSION['i'] : 0;
echo "Variable is ".$_SESSION['counter'][$i];

/* Put your code here*/
mysql_connect("localhost", "root", "qwerty") or die(mysql_error());
mysql_select_db("ups_status") or die(mysql_error());
$data = $_SESSION['counter'][$i] ;// <!--This is where the input should change after every redirect-->
$order = "SELECT * FROM ups_status1 WHERE (Ipaddress LIKE '%".$data."%')";
$results = mysql_query($order) or die('Invalid query: ' .mysql_error());
/*********************/

if ( $i == count($_SESSION['counter']) - 1) {
    $next = 0;
} else {
    $next = $i + 1;
}
$_SESSION['i'] = $next;
header( "refresh:5;url=refresh.php" );
echo '<br>You\'ll be redirected in about 5 secs. If not, click <a href="refresh.php">here</a>.';
?>

答案 1 :(得分:1)

如果总是增加10.试试这个。

page.php文件

<?php
$id = isset($_GET['id']) ? $_GET['id'] : 90;
echo $id; // your code HERE
if($id < 150) {
    $nextId = $id +10;
    header("Refresh:60;url=page.php?id=" . $nextId);
} else {
    header("Refresh:60;url=page.php");
}

如您所见,您可以在访问日志中看到每次刷新(我每5秒进行一次测试)

enter image description here

答案 2 :(得分:0)

不要使用Location标头,因为它会阻止您先显示输出。请改用“刷新”,因为您正在刷新同一页面。

您可以将变量存储在会话中,或者只是在页面刷新时传递。

这里的php页面名为page.php,它将每5秒刷新一次并将变量传递给它自己。一旦重新加载,它将简单地增加传递变量或将其重置为90,当它的&gt; 150。

  <?php

       $data = isset($_GET['input']) ? $_GET['input'] : 90;
       echo "Value is ".$data;
       $data = ($input >= 150) ? 90: $data;
       header( "refresh:5;url=page.php?input=".($data+10));
?> 

尝试:将此代码复制到名为page.php的文件中,然后在浏览器中打开。

更新:

假设您的代码示例有效。你可以修改下面的一行

$data = $_POST['input']

$data = isset($_GET['input']) ? $_GET['input'] : 90;

然后在完成输出后添加刷新标题。

$data = ($data >= 150) ? 90: $data;
header( "refresh:60;url=page.php?input=".$data );