我创建了一个登录和注册按钮,为它们分配链接,但它们在Firefox和IE中都不起作用,但在Chrome和Safari中很好。代码放在 php 的 echo 中,以便它们仅在用户未登录时显示。
<form>
<?php if(!$videosite->CheckLogin())
{
echo('<a href="Login.php">
<input name="submit" type="submit" class="g-button g-button-green" value="Sign in" width= 100% /></a>
<a href="register.php">
<input name="submit" type="submit" class="g-button g-button-red" value="Create an Account" width=100% /></a>');
}
else
{
?>
<a href="#"><input name="submit" type="submit" class="g-button g-button-submit" value=" <?php echo($videosite->UserFullName()); ?>" width=100% /></a>
<a href="logout.php"><input name="submit" type="submit" class="g-button g-button-white" value="Logout" width=100% /></a>;
<?php
}
?>
</form>
当用户根据他们按下的按钮单击他们进入登录或注册页面的按钮时,Chrome 和 Safari 会发生什么。在Firefox和IE的情况下,他们没有进入所需的页面,而是在登录时显示在url-"http://localhost/project/?submit=Sign+in"中!,类似于注册。
它有什么问题?为什么它在IE和Firefox中不起作用?如何纠正?
><input>
是一个表单元素,但你在表单之外使用它。
它应该看起来像这样:
<form action="login.php">
<input type="submit" name="submit" value="Sign in">
</form>
或者,只需使用 a
元素创建一个链接并按照您想要的方式设置其样式......
<a href="login.php" class="..." style="...">Sign in</a>
如果您希望用户进入登录/注册屏幕或只是删除输入元素并仅使用纯文本,请使用type="button"
而不是type="submit"
。
如果元素当前在窗体中,请删除元素周围的锚标记。如果您使用 type="submit",则包装此元素的表单将被提交。
你编码:-
<input name="submit" type="submit" class="g-button g-button-green" value="Sign in" width= 100% />;
将其更改为:-
<input type ="button" class="g-button g-button-green" value="Sign in" width= 100% />
或者只是更改为:-
<a href="Login.php"> LOGIN </a>