带有javascript的PHP HTML输入标记


PHP HTML input tag with javascript

我试图制作一个栏,显示使用php和cookie登录的用户。但如果没有找到cookie,则显示2个按钮,表示登录或注册

这是php

<?php
            if ($_COOKIE['user']){
                echo $_COOKIE['user'];
                echo "<input type='button' id='signout-button' class='submit' value='Sign out' onclick='window.location = 'signout.php''>";
            } else {
                echo "<input type='button' id='signup-button' class='submit' value='Sign up' onclick='window.location = 'signup.php''>";
                echo "<input type='button' id='signin-button' class='submit' value='Sign in' onclick='window.location = 'signin.php''>";
           }
       ?>

但当我点击按钮时,它不会去任何地方,元素的源代码看起来像这个

<input type="button" id="signout-button" class="submit" value="Sign out" onclick="window.location = " signout.php''="">

报价关闭,例如:

echo "<input type='button' id='signout-button' class='submit' value='Sign out' onclick='window.location = 'signout.php''>";
//                                                                                                        ^           ^

这些应该被转义,或者使用HTML模式,以便您可以对JavaScript字符串使用双引号:

?>
<input type='button' id='signout-button' class='submit' value='Sign out' onclick='location.href = "signout.php"'>
<?php

您需要使用不同的引号,例如您的代码应该看起来像

<input type="button" id="signout-button" class="submit" value="Sign out" onclick="window.location = 'signout.php'">

但对你来说,最好的选择是创建带有适当标签<a>lt/a>

您需要使用window.location.href,并且需要使用'转义字符串,因此:

<?php
            if ($_COOKIE['user']){
                echo $_COOKIE['user'];
                echo "<input type='button' id='signout-button' class='submit' value='Sign out' onclick='window.location.href = '"signout.php'"'>";
            } else {
                echo "<input type='button' id='signup-button' class='submit' value='Sign up' onclick='window.location.href = '"signup.php'"'>";
                echo "<input type='button' id='signin-button' class='submit' value='Sign in' onclick='window.location.href = '"signin.php'"'>";
           }
       ?>