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

时间:2016-07-13 06:07:57

标签: javascript php jquery ajax

我创建了一个更新记录的页面。我想将学生的ID从一个页面传递到另一个页面。我试图通过window.location发送它,但它无法正常工作。在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>

6 个答案:

答案 0 :(得分:1)

如果两个网页位于同一个网域,您可以使用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");

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

获取该参数 如果您想提交表单,请

$_POST参数。

答案 3 :(得分:0)

你可以尝试使用cookies

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"];
    ?>

答案 4 :(得分:0)

在第一页填充<form method="post" [...]>并提供所需信息;您可以根据需要使用CSS更改其方面。

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

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

答案 5 :(得分:0)

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

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

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

然后你的update.php会包含一个简单的检查。

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