我试图制作一个栏,显示使用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'"'>";
}
?>