提交按钮在Chrome中有效,但在Php中回显时在Firefox中不起作用


Submit button works in Chrome but not in Firefox when echoed in Php

我创建了一个登录和注册按钮,为它们分配链接,但它们在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>