은 제목이 PHP와 SQL을 사용하여 등록 양식을 작성하고 있음을 암시합니다. 등록 버튼을 클릭 할 때마다 양식의 모든 변수에 정의되지 않은 변수 오류가 발생하고 데이터베이스에 아무 것도 입력되지 않습니다. 네가 뭔가 제안 할 수 있으면 제 머리카락을 꺼내주세요. 여기 PHP SQL 등록 양식의 문제점
는 양식을 제출하는 페이지입니다에 :<?php
include('dbconfig.php');
?>
<?php
echo $_GET["FirstName"];
?>
<?php
$db = new PDO('mysql:host=localhost;dbname=mydatabase;', 'root', '');
$firstname = $_POST['FirstName'];
$lastname = $_POST['LastName'];
$username = $_POST['username' ];
$password = $_POST['Password'];
$email = $_POST['Email'];
$startdate = $_POST['StartDate'];
$year = $_POST['Year'];
$password = md5($password);
$sql = "INSERT into supervisor (FirstName, LastName, UserName, Password, Email,
Company) VALUES (:FirstName, :LastName, :UserName, :Password, :Email)";
$statement = $db->prepare($sql);
$params = array(
':FirstName' => $firstname,
':LastName' => $lastname,
':Password' => $password,
':Email' => $email,
':StartDate' => $startdate,
':Year' => $year,
':Company' => $company
);
dbconfig 파일 :
<?php
$config['db'] = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'mydatabase',
);
$db = new PDO('mysql:host='. $config['db']['host'] .';dbname='. $config['db']
['dbname'], $config['db']['username'], $config['db']['password']);
?>
마지막으로 등록 PHP 파일 (단지 형) :
<div class="container">
<form id="regform" class="form-signin" action='staffRegister.php' method='Post'
onsubmit="return validateForm()"/>
<img src="logo.png" width="160" height="50"> <h2 class="form-signin-heading">Staff
Registration</h2>
<div>
<label for="name">First Name: </label>
<input id="fname" name="name" type="text" class="input-
block-level" maxlength="35" onFocus="if(this.value=='name')this.value='';" onblur =
"checkField(this)"/>
<span id="Alpha" style="display:none;">Please use letters
only.</span>
</div>
<div>
<label for="name">Last Name: </label>
<input id="lname" name="name" type="text" class="input-
block-level" maxlength="35" onFocus="if(this.value=='name')this.value='';" onblur =
"checkField1(this)"/>
<span id="Alpha2" style="display:none;">Please use letters
only.</span>
</div>
<div>
<label for="name">UserName: </label>
<input id="username" name="name" type="text" class="input-
block-level" maxlength="12" />
</div>
<div>
<label for="email">E-mail Ad:</label>
<input id="email" placeholder="@kent.ac.uk"name="Email"
type="text" class="input-block-level" onchange="return validateEmail();"/></br>
<span id="spanEmail" style="display:none;">Please use your
Kent Email.</span>
</div>
<div>
<label for="pass1">Password:</label>
<input id="pass1" name="pass1" type="password"
class="input-block-level" maxlength="12" />
<span id="pass1Info">At least 6 characters: letters,
numbers and '_'</span>
</div>
<div>
<center><input type='Submit' name='Submit' value="Register" class="btn btn-
primary"/ > </input></center>
</form>
어떤 도움이라도 정말 고맙습니다. 감사합니다.
왜 'POST'된 변수에 바인딩하지 않습니까? – Kermit