사용자가 제출하는 등록 양식이 있고 양식 입력 상자에 입력 된 것이 있는지 확인하기 위해 isset ($ _ POST)을 사용하여 데이터가 전송됩니다. 그렇지 않은 경우 다른 사람에게 보내어 누락 된 양식을 완성하기 위해 등록 양식으로 사용자를 돌려 보내는 함수로 보냅니다. 어떤 이유로 그것은 제대로 작동하지 않습니다.양식에 적절하게 작동하지 않는 isset()
여기 ----------------------
다음function returnBack(){
header("Location:register.php");
exit;
}
if(isset($_POST['myusername']))
{
$myusername = $_POST['myusername'];
}
else
{
returnBack();
}
if(isset($_POST['mypassword'])) {
$mypassword=$_POST['mypassword'];
}
else{
returnBack();
}
if(isset($_POST['myemail'])) {
$myemail=$_POST['myemail'];
}
else{
returnBack();
}
if(isset($_POST['myname'])) {
$myname=$_POST['myname'];
}
else{
returnBack();
}
if(isset($_POST['mylastname'])){
$mylastname=$_POST['mylastname'];
}
else{
returnBack();
}
/////////////////////////////////////////////////////////////*******CONNECT TO SERVER ******************************************************************/
try {
# MySQL with PDO_MYSQL
$DBH = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo "I'm sorry, I'm afraid I can't do that.";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
////////////////////////////////////////////////////////////***********INSERT REGISTER DATA INTO DB ***************************************************************/
//$encrypt_password = md5($mypassword);
$insertdata = $DBH->prepare("INSERT INTO members (username, password, email, firstname, lastname) VALUES ('$myusername','$mypassword','$myemail','$myname','$mylastname')");
$insertdata->execute();
echo "success";
$DBH = null;
양식의 섹션 ------- 내 검사 코드입니다 --------
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="register" method="post" action="insertnewmem.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Registration Form </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername" ></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="text" id="mypassword"></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="myemail" type="text" id="myemail"></td>
</tr>
<tr>
<td>First Name</td>
<td>:</td>
<td><input name="myname" type="text" id="myname"></td>
</tr>
<tr>
<td>Last Name</td>
<td>:</td>
<td><input name="mylastname" type="text" id="mylastname"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Register"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
업데이트] ---------------------------------- ------------
죄송합니다. 형식이 올바르게 채워지지 않아도 returnBack() 함수를 건너 뛰고 db에 삽입합니다.
"제대로 작동하지 않는다"는 것은 무엇을 의미합니까? 오류가 있습니까? 빈 페이지를 줘? 아무것도하지 마세요? 무언가를하십시오, 그러나 당신이 예상하는 것이 아닙니다. – andrewsi
제대로 작동하지 않습니다. 그냥 리디렉션되지 않습니까, 아니면 POST 데이터를 가져 오지 못하고 있습니까? –
죄송합니다 ------- (isset)을 무시하고 함수를 건너 뜁니다. –