Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP登录系统未发送?_Php_Database_Authentication_Session_System - Fatal编程技术网

PHP登录系统未发送?

PHP登录系统未发送?,php,database,authentication,session,system,Php,Database,Authentication,Session,System,我正在制作一个网站,有一个用户名和密码登录 从登录页面,它会进入一个单独的“个人资料页面”,其中会显示玩家的用户名、密码、玩家名称等。我敢肯定它会起作用 我和我的教授讨论过一点,但我还是有点卡住了。 他说我的登录没有将数据发送到我的“会话php文件”,这就是“配置文件”应该知道数据库选择哪个项目的方式(基于用户名检查) 表名为forumtable 我得到的错误是: 未定义变量:第14行C:\wamp64\www\website project\Profile.php中的用户名 我的个人资料代码中

我正在制作一个网站,有一个用户名和密码登录 从登录页面,它会进入一个单独的“个人资料页面”,其中会显示玩家的用户名、密码、玩家名称等。我敢肯定它会起作用

我和我的教授讨论过一点,但我还是有点卡住了。 他说我的登录没有将数据发送到我的“会话php文件”,这就是“配置文件”应该知道数据库选择哪个项目的方式(基于用户名检查)

表名为
forumtable

我得到的错误是:

未定义变量:第14行C:\wamp64\www\website project\Profile.php中的用户名

我的个人资料代码中的第14行是:

$query = "SELECT rowid, Username, Password, Playername, Alliance, 
          FROM forumtable WHERE Username ='$Username'";
这将是一个漫长的过程,所以请容忍我,SRY:( 我真的被卡住了

登录页面:


出现错误是因为您没有定义
$Username
变量。在通过该查询之前,您应该以定义
$Pword
的相同方式定义该变量。即:
$Pword=trim($_POST['password']);


$Username=trim($\u POST['Username']);

由于未定义
$Username
变量,因此出现错误。在通过该查询之前,应以定义
$Pword
的相同方式定义该变量。即:
$Pword=trim($_POST['password']);


$Username=trim($\u POST['Username'])

这里有很多错误。您的表单使用链接作为提交机制。这会提交get请求,但您的处理器预期为post请求。您正在为会话分配
用户名
,但尝试读取
用户
。您正在将用户输入直接嵌入到查询中-SQL注入攻击!此外,打开在错误报告中,许多错误会很快变得非常明显-另一个错误-您的表单正在提交
用户名
,但您的脚本需要
用户ID
。好的,我检查了代码并进行了调整,但不明白的是,我将如何发送post请求而不是获取,如果(isset($_POST['logon']){$Username=trim($_POST['Username']);$Password=trim($_POST['Password']));要为每个表单获取$\u GET?请使用输入按钮而不是链接。这里有很多错误。您的表单使用链接作为提交机制。这会提交GET请求,但您的处理者希望将其作为post请求。您正在为会话分配
用户名
,但尝试读取
用户
。您太可怕了直接将用户输入嵌入到查询中-SQL注入攻击!此外,打开错误报告,许多错误将很快变得非常明显-另一个错误-您的表单正在提交
用户名
,但您的脚本需要
用户名
。好的,我检查了代码并进行了调整,但什么不了解我将如何发送post请求而不是get?如果(isset($\u post['logon']){$Username=trim($\u post['Username']);$Password=trim($\u post['Password']),我会更改为每个请求的$\u get吗?使用输入按钮而不是链接。查看
$pfx= NULL;
$msg =NULL;
$sitename= "Player ";




if(isset($_POST['logon'])) {
    $userid = trim($_POST['userid']);
    $Pword = trim($_POST['password']);
    if ($Username == NULL)          $msg = "Username is missing";
    if ($Password == NULL)          $msg = "PASSWORD is missing";
    if (($Username == NULL) AND ($Password == NULL)) $msg = "Username & PASSWORD are missing";
    if ($msg == NULL) {



            $query = "SELECT rowid, Username, Password, Playername, Alliance FROM forumtable WHERE 
            Username='$Username'";
            $result = mysqli_query($mysqli, $query);
            if (!$result) $msg = "Error accessing Roster Table " . mysql_error($mysqli);
            if (mysqli_num_rows($result) > 0) {
                list($rowid, $Username,$Password) = mysqli_fetch_row($result);
                }
            else $msg = "Username is invalid";

            if (($msg == NULL) AND ($Password == $password)) {
            $_SESSION['rowid'] = $rowid;
            $_SESSION['Username']= $Username;
            $_SESSION['Password'] = $Password;
            $_SESSION['Playername']= $Playername;
            $_SESSION['Alliance'] = $Alliance;

            $logon = TRUE;
            $location = "location: $pfx" . '.php?p=member';
            $msg = "<font color='green'><b>$name Logon Successful</b></font>"; 
            header($location);
            exit; 
            }
        else $msg = "Invalid Password";
        }
    }

// Logon Screen
$td = "width='20%' align='right'";
$tf = "width='80%' align='left'";
if ($msg == NULL)   $msg = "Enter Username and Password";
    else if ($logon == FALSE) $msg = "<font color='red'>$msg, please try again</font>";  
echo "<form action='$pfx" . ".php?p=logon' enctype='multipart/form-data' method='post'>\n
      <table width='1016' align='center' bgcolor='white' cellspacing='10' class='text'>\n
      <tr><td $td>&nbsp;</td><td $td>&nbsp;</td></tr>
      <tr><td $td>&nbsp;</td><td $tf><b>$sitename Logon</b></td></tr>\n
      <tr><td $td>&nbsp;</td><td $td>&nbsp;</td></tr>
      <tr><td $td>Username</td> <td $tf><input type='text' name='Username' size='60' maxlength='80' 
      value=''></td></tr>\n
      <tr><td $td>Password</td> <td $tf><input type='password' name='Password' size='12' 
     maxlength='12' value=''></td></tr>\n
      <tr><td $td>&nbsp;</td>       <td $tf>&nbsp;</td></tr>\n
     <a href='Profile.php'>logon</a>

      <tr><td $td>&nbsp;</td>       <td $tf>&nbsp;</td></tr>\n
      <tr><td $td>Message</td>  <td $tf><b>$msg<b></td></tr>\n
      </table>\n
      </form>\n";
include 'ps_session.php';
echo "<p><b>heres your profile</b><br>\n";


// Loop through the forumtable Database
$query = "SELECT rowid, Username, Password, Playername, Alliance, 
          FROM forumtable WHERE Username ='$Username' ";

$result = mysqli_query($mysqli, $query);
if (!$result) echo "Query Failed [$query] - " . mysqli_error($mysqli); 
echo "<table cellspacing='5'>";
while(list($rowid, $Username, $Password, $Playername, $Alliance) = 
    mysqli_fetch_row($result)) {
    if ($logon) $update = "<a href='ps.php?p=update&r=$rowid'><button>Update</button></a>"; else $update = NULL; 
    echo "<tr>

          <td><b><u>your information</u></b><br>
          Username: $Username<br>
          Password: $Password</br>
          Playername: $Playername<br>
          Alliance: $Alliance<br>

          $update
          </td>
          </tr>";
    }
echo "</table>"; 

// End of Alliance  
echo "</td></tr></table>"; 
session_start();

if (isset($_SESSION['user'])) {
$logon  = TRUE;
$sname  = $_SESSION['name'];
$suser  = $_SESSION['user'];
$splayer    = $_SESSION['Playername'];
$sally  = $_SESSION['Alliance'];
$srole  = 'Member'; 
}

else {
  $logon = FALSE;
  $sname = $suser = 'Guest';
  $srole     = 'Public';
  }