내 PHP 코드가 작동하지 않는 이유는 무엇인가요?


우수 답변

먼저 먼저…

절대 사용자 제공 데이터를 데이터베이스에 직접 전달하지 마십시오. 이것이 좋은 생각 인 이유는 없습니다.

$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!!";

}

}

이메일 :
이름 :
성 :
암호 :
nput type = "submit"name = "submit"value = "Register"

?>

그래서 PHP 공동 de 내가 원래 당신에게 준 것은 단지 예일뿐, 단순한 에코 코드조차도 작동하지 않습니다. 음, 저는 메모장에 코드를 작성하고 ++ 코드를 kompozer에 붙여 넣어 업로드했습니다. hmtl 대신 .php 확장자로 업로드해야한다고 들었는데 이것이 작동하지 않는 이유입니다. 하지만 혼란스러워서 색인 페이지의 특정 링크에 어떻게 첨부합니까? pls 조언과 당신이 생각하는 것을 알려주십시오. 감사합니다

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다