我是html和php的新手,需要一些帮助。这实际上是我在stackoverflow上的第一篇文章,所以如果内容没有做好,我会道歉。
我要求用户输入用户名和密码,然后我想获取该信息并在通过PHP在服务器上运行的脚本中使用它。
我遇到的问题是,当用户第一次使用html并填写表单时,php文件中的$ _POST不会收到任何内容。我知道,因为我回应了php文件中的变量。但是在用户按下php页面上的“Back”按钮并返回到html后,再次通过它时,一切正常。
所以代码工作,它只是第一次不起作用。有什么想法吗?
HTML:
<body>
<div class="loader" id="container" style="visibility:hidden;"></div>
<form method="post" action="Login_Page.php">
<b>Username:</b><input type="text" placeholder="University ID" name="userid" autofocus/>
<b>Password:</b><input type="password" placeholder="Password" name="pswrd"/>
<input type="submit" class="button" value="Submit" onclick="showDiv()"/>
</form>
</div>
</body>
CSS:
.loader {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 9999;
background: url('https://cdn.shopify.com/s/files/1/1247/2733/t/4/assets/loading.gif?11916921113420493983') 50% 50% no-repeat rgba(255, 255, 255, 0.3);
filter: alpha(opacity=60);
}
脚本:
<script type="text/javascript">
showDiv = function() {
document.getElementById("container").style.visibility="visible";
}
</script>
PHP:
<?php
$username = $_POST["userid"];
$pswrd = $_POST["pswrd"];
echo $username;
echo $pswrd;
$cmd = "path/to/script.sh $username $pswrd";
exec($cmd, $output, $return);
if ($return != "0") {
echo '<h1><b>Login was unsuccessful. Please try again.</b></h1>';
echo '<form>';
echo '<input type="button" value="Back" onClick="history.go(-1);return true;"/>';
echo '</form>';
} else {
echo '<h1><b>Login was Successful.</b></h1>';
}
?>
答案 0 :(得分:1)
可能与那里的问题相同:Onclick javascript stops form submit in Chrome。
这是由表单提交时的onclick函数引起的。
答案 1 :(得分:0)
因此它最终成为安全证书问题。我试图在iPad上打开我的网站,但我没有在iPad上下载正确的安全证书。这可能听起来很奇怪,但在我这样做之后一直在努力。感谢大家的所有有用的评论和帮助。