繁体   English   中英

如何在php中将变量一页传递给另一页

[英]How to pass Variable One page to another in php

我创建了动态按钮,并且单击按钮时需要将按钮ID传递到另一页。 我通过了,但是没用

请给出任何解决方案

这是我的dash.php代码:

<?php

session_start();
function dash () {
    include 'config.php';

    $sql = "SELECT RoomNumber FROM roommaster ";

    if ($result = mysqli_query($db, $sql)) {
        $str = '';
        while ($row = mysqli_fetch_array($result)) {
            // generate array from comma delimited list.
            $rooms = explode(',', $row['RoomNumber']);
            //create the dynamic button and set the value.
            foreach ($rooms as $v) {
                $str .= "<a href = 'booking.php'?btn='btn'><input type='button' name='b1' id='btn' value='" . $v . "' /></a>";
            }
        }

        return $str;
    } else {
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($db);
    }
    mysqli_close($db);
}

这是我的booking.php页面:

<?php
if (isset($_POST['btn'])) {
    $btn = $_POST['btn'];
    echo $btn;
}

$sql = "SELECT RoomNumber FROM roommaster where RoomId=' " . $_GET['btn'] . " '";
if ($result = mysqli_query($db, $sql)) {
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_array($result)) {
            $RoomNumber = $row['RoomNumber'];
            // $RoomType=$row['RoomType'];
            // $Location=$row['Location'];
            // $ChargesPerDay=$row['ChargesPerDay'];
        }

        // Free result set
        mysqli_free_result($result);
    } else {
        echo "No records matching your query were found.";
    }
} else {
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($db);
}
mysqli_close($db);
?>

HTML:

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Customer book Form</title>
    <!-- Bootstrap -->
    <link href="css/bootstrap1.min.css" rel="stylesheet">
    <link href="css/book.css" rel="stylesheet">
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
     <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
</style> 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery-1.12.4.js"></script>
    <script src="js/book1.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </head>
  <body>
  <div class="head" id="link">
      <div class="panel panel-primary" style="margin:20px;">
          <div class="panel-heading">
            <center><h3 class="panel-title"> Customer booking Form</h3></center>
          </div>
          <div class="panel-body">
              <form method="post" action="">
                  <div class="col-md-12">
                      <div class="form-group col-md-12 ">
                          <label for="roomno">Room Number*    </label>
                          <input type="text" class="form-control input-sm" name="RoomNumber"  value="<?=$_GET['btn'];?>"required>
                      </div>
                      <div class="form-group col-md-6">
                          <label for="type">Room Type*</label>
                          <input type="text" class="form-control input-sm" name="RoomType" required >
                      </div>
                      <div class="form-group col-md-6">
                          <label for="location">Location*</label>
                          <input type="text" class="form-control input-sm" name="Location" required>
                      </div>
                      <div class="form-group col-md-12">
                          <label for="charges">Facilities*</label>
                          <input type="text" class="form-control input-sm" name="Facilities" required>
                      </div>

                      <div class="form-group col-md-12">
                          <label for="charges">ChargesPerDay*</label>
                          <input type="text" class="form-control input-sm" name="ChargesPerDay" required>
                      </div>

                      <div class="form-group col-md-4">
                         <label for="customer name">First Name*</label>
                         <input type="text" class="form-control input-sm" name="FirstName" required>
                      </div>
                  </div>
              </form>
          </div>
     </body>
</html>

尝试使用$ _GET代替$ _POST

if (isset($_GET['btn'])) {
    $btn = $_GET['btn'];
    echo $btn;
}

尝试使用表单链接。 BUTTONID应该是要传递的值。 $ str应该是:

<form action='booking.php' method='POST'>
  <input type='hidden' value='BUTTONID' name='bttn'>
  <input type='submit' value='".$v."'>
</form>

然后像您已经获得的那样获取隐藏字段的值...

$if (isset($_POST['bttn'])) {
  $btn = $_POST['bttn'];
  echo $btn;
}

我修改了dash.php和booking.php文件的脚本。 请复制并粘贴此脚本。

dash.php文件

 <?php
    session_start();
   function dash(){

      include 'config.php';

       $sql = "SELECT  RoomNumber  FROM roommaster ";

    if($result = mysqli_query($db, $sql))
    {
        $str = '';
        while($row = mysqli_fetch_array($result))
        {
            // generate array from comma delimited list
            $rooms = explode(',', $row['RoomNumber']);
            //create the dynamic button and set the value
            foreach ( $rooms as $v )
            {
                $str .= "<a href='booking.php'?btn="'.$v.'"><input type='button'   name='b1' id='btn' value='".$v."' /></a>";

            }

        }

        return $str;



    }



      else {

        echo "ERROR: Could not able to execute $sql. " .mysqli_error($db);
          }


mysqli_close($db);

booking.php文件

  $sql = "SELECT  RoomNumber FROM roommaster where RoomId=' " .$_GET['btn']." '";
if($result = mysqli_query($db, $sql)){
    if(mysqli_num_rows($result) > 0){    
        while($row = mysqli_fetch_array($result)){
                $RoomNumber=$row['RoomNumber'];
                  //$RoomType=$row['RoomType'];
                  // $Location=$row['Location'];
                  // $ChargesPerDay=$row['ChargesPerDay'];
        }

        // Free result set
        mysqli_free_result($result);
    } else{
        echo "No records matching your query were found.";
    }
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($db);
}
mysqli_close($db);

尝试使用$_REQUEST来获取GETPOST值。在booking.php中,打印如下数组:

print_r($_REQUEST);

if (isset($_REQUEST['btn'])) {
    $btn = $_REQUEST['btn'];
    echo $btn;
}

要将少量数据从一页传递到另一页,请使用以下URL中的parameter ,该parameter是要传递给下一页的value parameter

<a href="anotherpage.php?parameter=value">Click Button</a>

然后在anotherpage.php上,使用$_GET获得URL传递的值,如下所示:

$val = isset($_GET['parameter']) ? $_GET['parameter'] : NULL;

然后将$val用于其他处理。 我认为这可以帮助您了解如何简单地将data从一页传递到另一页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM