- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 HTML 页面中,我有一个 form
与 action="register.php"
和一个 <p id="slogan">
。我想要 register.php
中的 PHP 代码更改 <p>
的值通过回显一些 Javascript。
但是,该段落在我的 HTML 页面中没有更改,我不明白为什么。
这是我的简化 HTML 页面包含的内容:
<body>
<p id="slogan"> hello </p>
<form action="../scripts/register.php" method="post">
...
</form>
</body>
这是我的简化的 register.php 包含的内容:
<?php
...
if (mysqli_query($conn, $sql)) {
header("Location: http://www.google.com");
echo "<script>
document.getElementById('slogan').innerHTML = 'Character successfully introduced.';
</script>";
sleep(3);
}
?>
回显的 JavaScript 应该会改变 "hello"
至"Character successfully created."
。
背后的原因sleep(3)
是等待三秒钟,以便您有时间在重定向到 Google 之前注意到更新的段落。
最佳答案
从几个方面来说,这是一个糟糕的实现(听我说完)。
首先,我建议不要向页面注入(inject) javascript。为什么?因为为了显示该 javascript,您依赖于两个因素:
这可能看起来像两个小点,但每次你让 PHP 进入休眠状态时,这实际上都是一个拦截器 - 当这种情况发生时,没有别的。
另外,如果我正确地理解了你的理论,你的代码中会有轻微缺陷 - 看来你想在“主脚本”页面而不是中间的 register.php
中注入(inject)成功消息页。如果是这样的话,它永远不会被执行。如果我错误地选择了您,则值得在问题中添加更多代码以澄清到底发生了什么。
我的建议是执行以下操作:
注册.php
if($your_var == 1) {
header('Location: youroriginalscript.php');
$_SESSION['yoursessionvar'] = 'Character successfully created.';
}
你的原始脚本.php
... (beside your slogan HTML entity) ...
<div id="slogan">
<?php
if(isset($_SESSION['yoursessionvar'])){
echo $_SESSION;
}
?>
</div>
这绝不是完美的,但它应该为您提供一个入门的想法。
您的原始脚本还假设 Angular 色创建始终成功。情况可能并非如此,在向客户提供误导性反馈之前应仔细检查。检查它,确保它是正确的,并且永远不要假设它在页面跳转之间保持相同!
提示:如果您尝试让 PHP 休眠或做一些疯狂的事情,它总是、总是、总是创建瓶颈。
好吧,从你编辑的问题来看,你似乎把 PHP/Javascript 搞混了一点。 Here's another answer我不久前写过解释这种差异的文章,但实际上还有数百万其他的:
关于PHP-echo 中的 JavaScript 不明显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33906410/
通常当我请求线程转储时,系统性能不佳的症状很容易解释;也就是说,通常我会看到许多线程显然正在等待一个已被获取但未被另一个释放的监视器。 在这种情况下,我有很多线程在等待监视器 (0x965ad100)
C:\Users\shagy\Desktop\3RD YEAR 2ND SEMESTER\SPM\Newfolder\SPM-SMS>npm start npm ERR! path C:\Users\
我是一名优秀的程序员,十分优秀!