我一直为此得到一个未定义的索引..当我取消错误报告时,一切都很好,但是我正在寻找一种解决此问题的“正确方法”
在我在register.php的表单上,按钮看起来像这样
然后将其链接到另一个名为login.php的页面.
Login.php代码
我努力了
if (isset($_POST['submit']=="Sign Up")) {
// etc.
我努力了
if ($_POST['submit']=="Sign Up") {
// etc.
由于会话而与注销相同,不确定如何编码….该按钮显示为
Log Out以及login.php上的代码
if($_GET["logout"]==1 AND $_SESSION['id']) {
session_destroy();
header("Location:../logout.php");
}
解决方法:
isset()不会评估内部内容,并告诉您它是对还是错:
因此,此表达式对于您要执行的操作没有任何意义:
if (isset($_POST['submit']=="Sign Up")) {
应该是这样的:
if(isset($_POST['submit'])) { // if index submit button was pressed
// so if the button is pressed, then it will go inside this block
}
如果要评估其存在和价值,可以执行以下操作:
if(isset($_POST['submit']) && $_POST['submit'] == 'whatever value') {
}
关于会话,您可以像这样检查它:
if(isset($_GET['logout'], $_SESSION['id']) && $_GET['logout'] == 1) {
// if both get logout and session id does exists and logout is equal to 1
session_destroy();
header('Location: ../logout.php');
}
如果您需要更多补充信息,可以查看deceze的The Definitive Guide To PHP’s isset And empty.这是一本不错的书,并且雄辩地解释了如何将其与测试用例一起使用.
标签:html,mysql,php
来源: https://codeday.me/bug/20191121/2050066.html