【问题标题】:Why will my javascript no run from php?为什么我的 javascript 不会从 php 运行?
【发布时间】:2016-06-29 07:09:40
【问题描述】:

我正在制作一个基本的登录 Web 应用程序,并且我正在使用 php 中的 echo 函数来运行一些 javascript 来提醒用户他们的用户名/密码不正确,以便于做某事而不仅仅是转到主索引。 php 文件在表单框中没有文本。由于某种原因,我的警报没有出现,但我被重定向到我的 index.php。我不知道为什么会这样?

///这是只运行了一半的代码///

echo 
    '<script type="text/javascript">'
    ,'alert("a");'
    ,'</script>'
;
header("Location: /");

?>

谁能告诉我我是否有任何语法错误或任何错误?

提前谢谢你-mjacob652


index.php 的主体

<div id="header">
<h1> Welcome to S.O.G <br/> Specials Operations Gaming </h1>
</div>
<div id="wrapper">
<h2> Please Log In </h2>
<form id="form" action="/Account/php/login.php" method="post" enctype="multipart/form-data">
    Username: <input type="text" name="username"/> <br/>
    Password: <input type="password" name="password"/> <br/>
    <input id="submit" type="submit" value="Login" name="submit"/>
</form>

login.php 只包含 sql 内容以及 echo 和 header

【问题讨论】:

  • 如果你改变位置,浏览器会在脚本执行之前重定向。
  • 您的标头在此 echo 语句后将不起作用。你想做什么? Javascript 和 php 是两种不同的语言,所以 php 和你的 javascript 无关,顺便说一句,这是一个有效的 alert 语句。
  • @MuhammedM。如果 output_buffering 打开,则标头将起作用,默认情况下为 stackoverflow.com/questions/34633002/…
  • @MuhammedM。我正在尝试提醒登录用户他的用户名或密码不正确
  • 不,您将一些 javascript 回显到当前页面,然后重定向到完全不同的页面。主要浪费时间

标签: javascript php echo alert


【解决方案1】:

作为一种简单快捷的解决方法:

echo 
    '<script type="text/javascript">'
    ,'alert("a"); window.location.href = "/";'
    ,'</script>';

这样,用户将在alert 对话框弹出关闭后立即被重定向。

【讨论】:

  • 非常感谢,经过进一步审查,我注意到这是一个完全不同的问题,没有出现任何内容,非常感谢
【解决方案2】:

为什么我的 javascript 不能从 php 运行?

想象一下,你在一个 php 脚本中,每次加载时都会重定向到它自己。

Chrome 会给你

重定向您的次数过多。 ERR_TOO_MANY_REDIRECTS

在 Mozilla 中

Firefox 检测到服务器正在重定向请求 这个地址永远不会完成。


如果我有任何语法错误或任何错误,谁能告诉我 有吗?

当然,您没有任何语法错误,只是在您当前的代码中重定向是无限的。

【讨论】:

  • 不,它只会在您提交表单时重定向到 login.php
  • @mjacob652 当您的表单被提交到您的 login.php 并发出警报,然后在该警报之后,php 将执行 header("Location: /"); 重定向到 login.php 本身。那将变得无限。
【解决方案3】:

php 代码中的每一件事都将首先运行,因为我们向服务器请求,因此服务器将首先翻译服务器代码,以便返回结果。但服务器会翻译回声,然后遇到标头,因此它将重定向而不回显任何内容

【讨论】:

    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 2021-08-29
    • 2015-08-25
    • 2010-09-15
    • 2011-07-22
    • 2012-03-23
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多