gpt4 book ai didi

php - 如何使用 GET 或 POST 方法将变量传递到 php 中的另一个页面?

转载 作者:行者123 更新时间:2023-11-29 12:01:06 24 4
gpt4 key购买 nike

我正在制作一个编辑表单。有 2 种表单,一种名为 edit1.php 的表单,另一种名为 edit.php 的表单。第二个应该获取从 edit1.php 生成的 id 并使用它来生成进一步的查询。以下是这两个文件的代码:

编辑1.php:

<table>
<tr>
<td align="center"><h4><b>EDIT DATA</b></h4></td>
</tr>
<tr>
<td>
<table border="3">
<form action="edit.php" method="get">
<?php

$vendors = "SELECT `vendor`.`v_id`,`vendor`.`v_name` FROM `stfood`.`vendor`";
$result = mysqli_query($con, $vendors);

while ($row = mysqli_fetch_array($result)){
echo ("<tr><td>'".$row["v_id"]."'</td>");
echo ("<td>'".$row["v_name"]."'</td>");
echo ("<td><a href=\"edit.php?id=".$row['v_id']."\">Edit</a></td></tr>");

}

?>
</form>
</table>

编辑.php:

<?php
require 'init.php';
require 'functions.php';

?>
<html>
<head>
<title>Form Edit Data</title>
</head>
<body>
<table border=1>
<tr>
<td align=center>Form Edit vendor Data</td>
</tr>
<tr>
<td>
<table>

<?php
echo $_REQUEST['v_id'];
$vendor = "SELECT `vendor`.`v_name`, `vendor`.`v_email`,`vendor`.`v_desc`,`vendor`.`cont_id` FROM `stfood`.`vendor` WHERE `vendor`.`v_id` = '".$v_id."'";
$vendor_result = mysqli_query($con, $vendor);
$row = mysqli_fetch_array($vendor_result);
?>
<form method="post" action="edit_data.php">
<input type="hidden" name="id" value="<?php echo $row["v_id"];?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name" size="20" value="<?php echo $row["v_name"]; ?>">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input type="text" name="email" size="50" value="<?php echo $row["v_email"];?>">
</td>
</tr>
<tr>
<td>Vendor Description</td>
<td>
<input type="text" name="description" size="100" value="<?php echo $row["v_desc"];?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>

当我运行代码时,第一个表单显示所有相关数据,当我单击edit链接时,页面会被重定向,我可以看到v_id传入 URL,但 edit.php 文件中没有任何内容。当我执行 var_dump($row['v_id']); 时,我得到 NULL

为什么edit.php中没有设置v_id

最佳答案

由于您的超链接如下所示:

<a href=\"edit.php?id=".$row['v_id']."\">Edit</a>

你的edit.php应该使用

echo $_GET['id'];
// or something like this
$received_id = $_GET['id'];
// do validation whether you received a good id or not and then move on
...
...
<input type="hidden" name="id" value="<?php echo $received_id;?>">

关于php - 如何使用 GET 或 POST 方法将变量传递到 php 中的另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32360018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com