우수 답변
먼저 먼저…
절대 사용자 제공 데이터를 데이터베이스에 직접 전달하지 마십시오. 이것이 좋은 생각 인 이유는 없습니다.
$name = mysqli\_real\_escape\_string($mysqli, $\_POST["name"]);
$pass = mysqli\_real\_escape\_string($mysqli, $\_POST["password"]);
real\_escape\_string()
를 사용하면 SQL 삽입으로 스크립트가 해킹되는 것을 방지 할 수 있습니다. 다른 곳에서 값을 사용해야하는 경우 쿼리를 생성 할 때 이스케이프 할 수 있습니다.
$name = $\_POST["name"];
$sql = "SELECT * FROM users WHERE username = "".mysqli\_real\_escape\_string($mysqli, $name).""";
SQL 쿼리를 생성 할 때마다 비슷한 작업을 수행하십시오. INSERT
쿼리에도 변수에 저장된 값을 이스케이프하거나 쿼리를 생성 할 때 이스케이프하여 이스케이프 된 값이 있어야합니다.
데이터를 입력하지 않고 “좋은 작업”이 표시되는 이유…
실제로 확인하지 마십시오. 입력입니다. 사용자가 아직 양식을 작성하지 않은 경우에도 스크립트가 데이터베이스와 상호 작용하려고합니다.
if(isset($\_POST["username"]) && isset($\_POST["password")) {
// put the rest of your script here
}
?>
데이터베이스 레코드가 생성되지 않는 이유.
흠… 잘 모르겠습니다. 특히 그것이 작동했다 라고 말했기 때문입니다.
위의 변경을 시도한 다음이 답변에 대한 댓글을 게시하여 문제가 있는지 알려주세요. 변경 사항과 변경 사항이 무엇인지 그리고 거기에서 갈 수 있습니다.
또한 서버 로그를 확인하여 오류가 있는지 확인하십시오. 그렇게 할 수 없거나 오류가 비활성화 된 경우 스크립트 상단에 다음을 추가해보세요.
ini\_set("error\_reporting", E\_ALL);
ini\_set("html\_errors", true);
ini\_set("display\_errors", "stdout");
참고로 ...
라벨의 for
속성은 요소의 ID를 가리켜 야합니다.
당신은 ...
p>
당신은…
Answer
php
$ host = "AAAAAA"; $ user = "AAAAA"; $ pass = "AAAAAA"; $ db = "AAAAA";
$ connect = mssql\_connect ($ host, $ user, $ pass) 또는 die ( "연결할 수 없음"); $ database = mssql\_select\_db ($ db, $ connect) or die ( "선택한 데이터베이스에 연결할 수 없음");
if (isset ($ \_POST ([ "submit"]))) {$ email = S\_POST [ "이메일"]; $ firstname = S\_POST [ "이름"]; $ lastname = S\_POST [ "성"]; $ pwd = S\_POST [ "pwd"];
if trim($firstname) == "" || trim($lastname)=="" || trim($pwd)== ""
{
echo "You must enter both a firstname, lastname and password!!";
}
else
{
$sql = "INSERT INTO users ([email],[first\_name],[last\_name],[password])VALUES("$email","$firstname","$lastname","$pwd")";
$result = mssql\_query($sql);
if(!$result)
{
echo mssql\_error();
exit;
}
mssql\_free\_result($result);
mssql\_close();
echo "Data successfully inserted!!";
}
}
?>
그래서 PHP 공동 de 내가 원래 당신에게 준 것은 단지 예일뿐, 단순한 에코 코드조차도 작동하지 않습니다. 음, 저는 메모장에 코드를 작성하고 ++ 코드를 kompozer에 붙여 넣어 업로드했습니다. hmtl 대신 .php 확장자로 업로드해야한다고 들었는데 이것이 작동하지 않는 이유입니다. 하지만 혼란스러워서 색인 페이지의 특정 링크에 어떻게 첨부합니까? pls 조언과 당신이 생각하는 것을 알려주십시오. 감사합니다