나는 사용자가 계정을 만든 다음 로그인 할 수있는 웹 사이트를 만들고 있습니다. 로그인하면 사용자는 등록 된 정보를 변경할 수 있습니다.PHP에 대한 Critera 전달
사용자 이름의 사용자가 로그인 아래와 같이 URL에 전달 될 때 :
header("Location: loggedon.php?$username");
이제 내 loggedon.php 페이지에 내가 추가 한이 :
<?php
$username = $_GET["username"];
$query="SELECT * FROM customer WHERE username=['$username']";
$result = mysql_query ($query) or die ("error in query");
while ($row = mysql_fetch_array($result))
{
// Print one row of results
print "<tr>" .
"<td>" . $row["CustomerID"] . "</td>" .
"<td>" . $row["Firstnames"] . "</td>" .
"<td>" . $row["Surname"] . "</td>" .
"<td>" . $row["Username"] . "</td>" .
"<td>" . $row["Email"] . "</td>" .
"<td>" . $row["Password"] . "</td>" .
//print a change/delete link at the end of each row
"<td><a href=customerChangeDelete.php?id=".$row['CustomerID'].">Change/Delete</a></td>";
print "</tr>";
}
// Then, finish the table
print "</table>";
}
?>
내가 실행하면 페이지 및 로그인 다음 오류가 발생합니다.
알림 : 정의되지 않은 색인 : J : \ xampp \ htdocs \ loggedon.php on line 60
쿼리에서 오류가 발생했습니다.
URL (?)에서 사용자 이름을 추출 할 때 실수를 저지른 것으로 생각합니다. 누구든지 제게 정확한 방향으로 밀어 주면 놀라운 일이 될 수 있습니다. 감사.
응용 프로그램의 모양은 모르겠지만 보안 관련 일에 대해 생각하고 싶을 것입니다. GET 및 POST 매개 변수는 사용자가 조작 할 수 있기 때문에 매우 안전하지 않습니다. 누군가는 loggedon.php? username = administrator를 호출하고 보지 말아야 할 것을 볼 수 있습니다. 어쩌면 당신이 축소 된 예제를 게시했을 수도 있지만, 사용자가 로그인하면 아무런 검증이 표시되지 않습니다. – hacksteak25