기본적으로 admin 사용자가 관리자 사용자 유형 (기본적으로 등록 기능)을 작성할 수있는 페이지가 있습니다. 값이 제출되면 DB에 매우 기본적인 항목이 저장됩니다. 그러나 숨겨진 변수 유형이 있습니다. 나는 3 가지 다른 사용자 레벨을 가지고 있고 그것들을 정수로 선언했다. (예 : 7 = 관리자, 8 = 사용자 등)PHP에 문제가 있습니다. 숨겨진 가치 게시?
이 숨겨진 값을 올바르게 전달하는 방법을 누군가가 도와 줄 수 있는가? 데이터베이스에 저장 ... 여기
내 형태 :<form id="userreg" name="userreg" method="post" action="adduser-process.php">
<label>Full Name:</label> <input name="fullname" size="40" id="fullname" value="<?php if (isset($_POST['fullname'])); ?>"/>
<br />
<label>Username:</label> <input name="username" size="40" id="username" value="<?php if (isset($_POST['username'])); ?>"/> <br />
<label>Password:</label> <input name="password" size="40" id="password" value="<?php if (isset($_POST['password'])); ?>"/> <br />
<label>Email Address:</label> <input name="emailaddress" size="40" id="emailaddress" value="<?php if (isset($_POST['emailaddress'])); ?>"/>
<br />
<input name="userlevel" type="hidden" size="1" id="userlevel" value="<?php $_POST[5]; ?>" /> <br />
<input value="Add User" class="addbtn" type="submit" />
</form></div>
네 XT, 여기에 쿼리를 실행하는 스크립트입니다 : 나는 기본적으로 변경되지 않으므로, 그냥이 양식 '5'의 일정한 값으로 숨겨진에는 TypeM를 전달하기 위해 노력하고있어
<?php
require_once "config.php";
$fullname = $_POST['fullname'];
$username = $_POST['username'];
$password = $_POST['password'];
$emailaddress = $_POST['emailaddress'];
$userlevel = $_POST[5];
$sql = "INSERT INTO users_tb VALUES('".$user_id."','".$fullname."','".$username."',MD5('".$password."'),'".$emailaddress."','".$userlevel."')";
$result = mysql_query($sql, $connection)
or die("MySQL Error: ".mysql_error());
header("Location: administratorfrontview.php");
exit();
?>
은 ... 또한 여기있는 동안, 어떤 이유로 'fullname'은 DB에 저장되지 않습니다 !! WTH ?? 다른 모든 필드는 잘 처리됩니다. 어떤 도움을 많이 주시면 감사하겠습니다! 고맙습니다.
SQL 인젝션을 실제로 읽어야합니다. 누군가가 귀하의 코드를 기반으로 귀하의 웹 사이트를 쉽게 손상시킬 수 있습니다. Google은 "PHP는 SQL 주입". – ryeguy
예, JavaScript를 사용하여 유효성을 검사 할 예정이지만 로컬에서 편집 중이며 핵심 부분을 먼저 처리하려고합니다. 그러나 어쨌든 고마워. – Yvonne
당신이 자바 스크립트를 사용하여 유효성을 검사한다고 말할 때까지 나는이 코드를 사용하기 전에 "SQL 주입에 대한 읽기"라고 당신을 변호했을 것입니다. 그 사람이 말한 것처럼하십시오. – Jage