我知道编程时最好的方法是不要禁用错误,自从我开始制作我的简单网络论坛以来,我一直在收到一系列的错误,我试图得到一些,但我骑时遇到的一些问题,在undefined variable
是最常见的错误,好像我不得不宣布一些像A='';
然后A=values;
的例子,但我不知道我怎么能解决这个下面什么是真正导致这个未定义的变量
Notice: Undefined variable: act in C:\xampp\htdocs\mysite\forum part two\login.php on line 74
代码在线74是这样的
case "login";
和我的其他代码,其中有login
这是在login.php
switch($act){
default;
index();
break;
case "login";
login();
break;
}
我对login.php
代码是这样
<?php
session_start();
//This displays your login form
function index(){
echo "<form action='?act=login' method='post'>"
."Username: <input type='text' name='username' size='30'><br>"
."Password: <input type='password' name='password' size='30'><br>"
."<input type='submit' value='Login'>"
."</form>";
}
//This function will find and checks if your data is correct
function login(){
//Collect your info from login form
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
//Connecting to database
$connect = mysql_connect("localhost", "root", "nokiae71");
if(!$connect){
die(mysql_error());
}
//Selecting database
$select_db = mysql_select_db("forumStructure", $connect);
if(!$select_db){
die(mysql_error());
}
//Find if entered data is correct
$result = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$row = mysql_fetch_array($result);
$id = $row['id'];
$select_user = mysql_query("SELECT * FROM users WHERE id='$id'");
$row2 = mysql_fetch_array($select_user);
$user = $row2['username'];
if($username != $user){
die("Username is wrong!");
}
$pass_check = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id'");
$row3 = mysql_fetch_array($pass_check);
$email = $row3['email'];
$select_pass = mysql_query("SELECT * FROM users WHERE username='$username' AND id='$id' AND email='$email'");
$row4 = mysql_fetch_array($select_pass);
$real_password = $row4['password'];
if($password != $real_password){
die("Your password is wrong!");
}
//Now if everything is correct let's finish his/her/its login
session_register("username", $username);
session_register("password", $password);
echo "Welcome, ".$username." please continue on our <a href=index.php>Index</a>";
}
switch($act){
default;
index();
break;
case "login";
login();
break;
}
?>
你是否在某处定义了$ act?它是什么 ? –
请显示一些更多的代码 –
检查http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index –