如何刷新页面并发送变量

我有一个 php 页面,我按下一个按钮在另一个页面上编辑 mysql db 记录:页面名称 'distintaBase.php' 这里有一个名称列表,即产品名称。每个产品都包含一个组件列表。当我按下一个产品的编辑按钮时,我被重定向到新页面“modifDistBase.php”。


<a href="modifDistBase.php?dist_base=<?php echo $dist_base; ?>"></a>

$dist_base 变量被传递到新页面。我在页面标题上使用它


<h2>Modifica distinta base <?php echo $_GET['dist_base']; ?></h2>

然后加载mysql数据库


<?php 

                $dist_base = $_GET['dist_base'];

                $sql = "SELECT $dist_base.Id, $dist_base.Designator, $dist_base.Quantity, $dist_base.Description, $dist_base.Package, 

                                $dist_base.Manufacturer, $dist_base.Pn_Manufacturer, $dist_base.Pn_Utterson, $dist_base.Mounted

                                FROM $dist_base";                                                                                                     

?>

按添加按钮我添加一个新组件


if(isset($_POST['add_item'])){

                    $designator = $_POST['designator'];

                    $quantity = $_POST['quantity'];

                    $description = $_POST['description'];

                    $package = $_POST['package'];

                    $manufacturer = $_POST['manufacturer'];

                    $pn_manufacturer = $_POST['pn_manufacturer'];

                    $pn_utterson = $_POST['pn_utterson'];

                    $mounted = $_POST['mounted'];

                    $sql = "INSERT INTO $dist_base (designator,quantity,description,package,manufacturer,pn_manufacturer,pn_utterson,mounted)

                                            VALUES ('$designator','$quantity','$description','$package','$manufacturer','$pn_manufacturer','$pn_utterson','$mounted')";                   

                }           

javascript 上可能有问题。


echo '<script>window.location.replace("modifDistBase.php?dist_base=" + $dist_base.value)</script>';

新组件被添加到数据库中(例如带有 #5 id)但不会出现在页面 modifDistBase.php 上


如果我现在在浏览器或 f5 上按刷新,我可以看到新组件(#5 id)但在数据库上添加了一个新组件 #6,其项目与 #5 相同


PS - 标题已经由菜单页面发送 - 已经尝试window.location.href过相同的结果


千巷猫影
浏览 134回答 2
2回答

牛魔王的故事

你为什么不试试:header('Location:&nbsp;modifDistBase.php?dist_base='.$dist_base);您可以立即重定向到页面 + 变量,而不是 echo javascript

宝慕林4294392

有一些事情需要修复你的代码请注意您输出的 javascriptecho&nbsp;'<script>window.location.replace("modifDistBase.php?dist_base="&nbsp;+&nbsp;$dist_base.value)</script>';将准确地<script>window.location.replace("modifDistBase.php?dist_base="&nbsp;+&nbsp;$dist_base.value)</script>不检查与您的目标相关的 js 的正确性,立即看到您应该改为编写echo&nbsp;'<script>window.location.replace("modifDistBase.php?dist_base="'&nbsp;.&nbsp;$dist_base&nbsp;.&nbsp;'")</script>';将 php 值注入到 javascript 字符串中。(顺便说一句,你也忘记了双引号)如果您对您的 javascript 有疑问,您可以在浏览器上检查页面并查看它(右键单击并“检查元素”或“分析元素”)。请注意,不建议您获取用户输入并像在 SQL 指令中那样使用它。在将它们放入 sql 之前,您应该进行一些清理并使用准备好的语句或转义这些值。也就是说,您所做的 javascript 重定向看起来有点奇怪,也许您可以在不要求客户端这样做的情况下从 php 脚本重定向。查看头文件 php 函数以获取有关重定向完成服务器端的说明。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript