양식의 정보를 MySQL 데이터베이스에 삽입하는 데 문제가 있습니다.PHP는 MySQL에 삽입하지 않습니다
"제출"버튼을 클릭하면 URL이 domain.com/register-form.php에서 domain.com/register-script.php로 변경되고 데이터베이스 테이블에 아무 것도 추가하지 않습니다.
원본 코드가 작동하지 않는다는 것을 알게 된 후 escape_strings 및 암호 해시가 없으면 최소한으로 단순화하기로 결정했으며 기본 버전은 여전히 데이터베이스에 삽입되지 않았습니다.
나는 아주 기본적인 것을 간과 할 뿐이지 만 나는 내 삶에 대해 알아 내지 못합니다. 모든 데이터베이스 정보가 올 바르고 사용자에게 모든 권한이 있습니다.
참고 : 스크립트 및 사용자 권한에 대한 보안 부족은 무시하십시오. 이것은 작동하지 않는 매우 단순화 된 테스트입니다.
내 파일 구조는 database.php
, register-form.php
, register-script.php
의 세 가지 파일로 구성된 단일 디렉토리입니다.
내 데이터베이스 테이블 Users
는 다음과 같이 구성되어있다 :
user_email
VARCHAR (255) utf8_unicode_ci을하지 COLLATE,
user_username
VARCHAR (255) utf8_unicode_ci NULL NOT COLLATE는,
user_password
VARCHAR (255) utf8_unicode_ci는 NULL NOT COLLATE NULL
database.php :
01 23,레지스터 form.php
<?php require 'database.php' ?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>
<body>
<form name="register" action="register-script.php" method="post">
<label>Desired Username: </label>
<input type="text" name="newuser_username" placeholder="Desired Username">
<label>Password: </label>
<input type="password" name="newuser_password" placeholder="Password">
<label>Email: </label>
<input type="email" name="newuser_email" placeholder="Email Address">
<input type="submit" name="register_button" value="Sign Up!">
</form>
</body>
</html>
레지스터이 script.php 모두의
<?php
require 'database.php';
if(isset($_REQUEST['register_button'])){
$username = $_REQUEST['newuser_username'];
$password = $_REQUEST['newuser_password'];
$email = $_REQUEST['newuser_email'];
$sql = "INSERT INTO users (user_username,user_password,user_email) VALUES ('$username','$password','$email')";
mysqli_query($database,$sql);
}
?>
'error_reporting' 및 mysqli_error'을 아직 사용해 보지 않으셨습니까? – mario
오류가 있습니까? 당신은'$ _REQUEST'를'$ _POST'로 대체하려고 시도 했습니까 – Baig
디버깅의 작은 양은 먼 길을 갈 것입니다 –