如何在PHP中将数据从一个HTML页面传递到第二个页面

how to pass data from one html page to second in php?

本文关键字:HTML 一个 第二个 PHP 数据      更新时间:2023-09-26

我创建了一个用于更新记录的页面。我想将学生的ID从一个页面传递到另一个页面。我正在尝试通过窗口位置发送它,但它不起作用。在ajax中,我尝试导航到其他页面,但也没有成功。如何在不显示在查询字符串中的情况下传递数据并在其他页面上接收? AJAX 代码是

var id = $(this).data('username');
            $.ajax({

        var id = $(this).data('username');
        $.ajax({type: "POST",
        cache: false,
        data: id,
        url: "Update.php",
        success: function(dto)
        {
            //but I do not require this return call I just
           // want to pass the data to update.php
        }
    });
    //this is the code where the button is being clicked
    <table class="table table-condensed" >
        <thead style="background-color:#665851" align="center">
        `<tr>
            <td style="color:white">Roll No</td>
            <td style="color:white">Name</td>
            <td style="color:white">Department</td>
            <td style="color:white">Click To Update</td>
        </tr>
        </thead>
        <tbody style="background-color:whitesmoke;  border:initial" id="tblBody" align="center">
<?php

                $database="firstdatabase"; //database name
     $con = mysqli_connect("localhost","root" ,"");//for wamp 3rd field is balnk
     if (!$con)
     {     die('Could not connect: ' . mysql_error());
     }
     mysqli_select_db($con,$database );
    $state = "SELECT rollno ,name, dept FROM student ;";
     $result = mysqli_query($con,$state);   
      $output = 1;
      $outputDisplay = "";
      $noRows = mysqli_affected_rows($result);
     if($result)
    {
        $num = mysqli_affected_rows($con);
                //$row = mysqli_fetch_array($result,MYSQLI_NUM);
        while ($row = mysqli_fetch_array($result)) 
        {
        $r = $row['rollno'];
        $n = $row['name'];
        $d = $row['dept'];
        $outputDisplay .= "<tr><td>".$r."</td><td>".$n."</td><td>".$d."</td><td align='right'>
        <button type='button' name='theButton' value='Detail' class='btn' id='theButton' data-username='$r'> <img src='edit.jpg'/></button>
        </td>
        </tr>";
        }
    }
    else
    {
        $outputDisplay .= "<br /><font color =red> MYSql Error No: ".mysqli_errno();
        $outputDisplay .= "<br /> My SQl Error: ".mysqli_error();

    }

    ?>
    <?php 
     print $outputDisplay;
    ?>
        </tbody>
    </table>

如果两个页面位于同一域中,则可以使用 localStoragestorage 事件在html文档之间传递数据

在第二页

window.addEventListener("storage", function(e) {
  // do stuff at `storage` event
  var id = localStorage.getItem("id");
});

在第一页

// do stuff, set `localStorage.id`
localStorage.setItem("id", "abc");

当你使用window.location时,你的页面会转到另一个页面。 Ajax 在活动页面上工作。你不能使用。

通常,

您可以使用此$_SESSION变量的会话将其存储到会话中,也可以通过get参数传递该值。然后用$_GET获取该参数

如果要提交表单,则$_POST参数。

你可以尝试使用cookie

Set the cookie
    <?php
    setcookie("name","value",time()+$int);
    /*name is your cookie's name
    value is cookie's value
    $int is time of cookie expires*/
    ?> 
Get the coockie
    <?php
    echo $_COOKIE["your cookie name"];
    ?>

第一页中填充所需的信息<form method="post" [...]>;您可以根据需要使用CSS更改其外观。

发送<form>时,您只需要一个使用 $_POST 来填充新页面的 PHP 脚本/页面。

如果您尝试从第一页导航到第二页,则比 AJAX 容易。

如果您已经有一个表单并希望将其发布到更新脚本中,则可以将学生 ID 添加为隐藏的表单元素示例:

<input type="hidden" name="student_id" value="<?php echo $student_id; ?>">

否则,如果您想使用学生 ID 从另一个页面重定向到更新页面,最好的方法可能是 $_GET 变量。所以 URL 看起来像这样:http://domain.com/update.php?student_id=1

然后你的更新.php将包括像这样的简单检查。

if(!empty($_GET['student_id'])) {
    $student_id = $_GET['student_id'];
    // Ready to update
} else {
    // Throw 404 error, or redirect to an create page
}