묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
간단 주문 게시판 (오류 수정 요청)
2006.09.20 15:02
http://www.tosign.com/pds/list.phphttp://www.tosign.com/pds/write.phpPHP 간단하게 주문을 하는 게시판을 만들었습니다.
그런데 맨 상단에 입력란을 입력하지 않으면 저장이 안되어야 하는데, 경고 메세지가 나타나고 바로 DB로 입력이 되어 버리네요. 소스를 봐서는 이상이 없는것 같은데 어디를 수정해야 할지 모르겠습니다.
PHP를 잘 아시는분 계시면 좀 가르쳐 주셨으면 합니다.
첨부파일 소스가 있습니다.
* 쓰기 페이지 ===========================================================================================
<html>
<head>
<title>pds</title>
<link rel="stylesheet" href="./type.css">
<script language=javascript>
<!--
function xfocus(){
document.xfrom.company.focus();
}
function content_check(f){
if( f.company.value.length == 0 ) {
alert("업체명을 입력하세요.");
f.comapny.focus();
return (false);
}
if( f.name.value.length == 0 ) {
alert("이름을 입력하세요.");
f.name.focus();
return (false);
}
if( f.tel.value.length == 0 ) {
alert("전화번호를 입력하세요.");
f.tel.focus();
return (false);
}
if( f.mobile.value.length == 0 ) {
alert("휴대폰 번호를 입력하세요.");
f.mobile.focus();
return (false);
}
if( f.pass.value.length == 0 ) {
alert("패스워드를 입력하세요.");
f.pass.focus();
return (false);
}
if( f.kind.value.length == 0 ) {
alert("종류를 입력하세요.");
f.kind.focus();
return (false);
}
if( f.counter.value.length == 0 ) {
alert("수량을 입력하세요.");
f.counter.focus();
return (false);
}
if( f.a_date.value.length == 0 ) {
alert("수령 희망일을 입력하세요.");
f.a_date.focus();
return (false);
}
if( f.address.value.length == 0 ) {
alert("주소를 입력하세요.");
f.address.focus();
return (false);
}
if( f.title.value.length > 50 ) {
alert("제목은 최대 한글 45자,영문80자까지만 허용합니다.");
f.title.focus();
return (false);
}
if( f.memo.value.length > 10000 ) {
alert("내용은 최대 한글 4000자, 영문80000자까지만 허용합니다.");
f.memo.focus();
return (false);
}
// E-mail 주소 체크
var xmail = f.email.value;
var fmail = email(xamil);
if (!fmail){
alert('잘못된 E-mail 주소 입니다.')
f.email.focus();
return (false);
}
return (true);
}
<?
function email($address) {
return (ereg('^[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+.'.
'[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$address));
}
?>
//-->
</script>
</head>
<body bgcolor=#ffffff topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 onload=xfocus();>
<center>
<br>
<form name=xfrom action=insert.php method=post onSubmit="return content_check(this)" ENCTYPE="multipart/form-data">
<table width=600 border=0 cellpadding=5 cellspacing=2>
<tr> <B>▶ 고객정보 입력란
<font color=red>( * 표시 항목은 반드시 입력해야 합니다.)</font></B>
</tr>
<tr bgcolor="#F3F3F3">
<td width="23%" align=center bgcolor=#DBDBDB> <p align="center"><B>* 업체명(회사명)</B></p></td>
<td width=24%> <input name=text type=text id="company" size=20 maxlenght=10>
</td>
<td width=18% bgcolor=#CCCCCC><div align="center"><B>* 성 명</B></div></td>
<td width=35%><input name=text type=text id="name" size=20 maxlenght=10></td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 전화번호</B> </div></td>
<td colspan="3"> <input type=text name=tel size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 휴대폰</B> </div></td>
<td colspan="3"> <input type=text name=mobile size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>F A X</B> </div></td>
<td colspan="3"> <input type=text name=fax size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>이메일</B> </div></td>
<td colspan="3"> <input type=text name=email size=50 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 비밀번호</B> </div></td>
<td colspan="3"> <input type=password name=pass size=8 maxlength=8>
※ 삭제시 반드시 필요. </td>
</tr>
</table>
<br><br>
<table width=600 border=0 cellpadding=5 cellspacing=2>
<tr> <B>▶ 주문정보 입력란</B> </tr>
<tr bgcolor="#F3F3F3">
<td width="23%" align=center bgcolor=#DBDBDB> <div align="center"><B>* 종 류</B>
</div></td>
<td width=80%> <input type=text name=kind size=5 maxlenght=10> 번
<font color=red>☞ [1]-기본형 [2]-일반캐릭터 [3]-특수캐릭터 [4]-천갈이</font></td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수 량</B> </div></td>
<td width=80%> <input type=text name=counter size=5 maxlenght=10>
개 </td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수령희망일</B> </div></td>
<td width=80%> <input type=text name=a_date size=20 maxlenght=10>
(ex. 2004-08-01) </td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수령지주소</B></div></td>
<td width=80%> <input type=text name=address size=65 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>메인타이틀 글씨</B> </div></td>
<td width=80%> <input type=text name=title size=65 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <p align="center"><B>기 타</B></p>
<p align="center"><B>내 용</B></p></td>
<td width=80%> <textarea name=memo cols=60 rows=10></textarea>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>파일첨부</B> </div></td>
<td width=80%> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1024000">
<input type=file name=UploadedFile> </td>
</tr>
</table>
<br>
<input type=submit name=submit size=10 value="내용 올리기">
<input type=reset name=submit size=10 value="Cancel">
<!-- 끝 -->
</form>
</center>
</body>
</html>
==================================================================================================
입력되는 페이지 ===================================================================================
<html>
<head>
<title>pds</title>
<link rel="stylesheet" href="./type.css">
</head>
<body bgcolor=#ffffff topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
<center>
<?
include "util.inc";
// 파일 올리자
$path="../pds/data";
if( $UploadedFile != none ){
$UploadedFile = stripslashes($UploadedFile);
$file_name = $UploadedFile_name;
$fileup = mysql_query("select filename from $TABLE",$CONNECT);
if( $fileup ){
while( $row = mysql_fetch_array($fileup) ){
if( $file_name == $row[filename] ){
$file_name = $file_name;
}
}
}
if (copy( $UploadedFile , "$path/$file_name" )){
print "$UploadedFile has been copy to $path/$file_name<br>";
}else{
print "Error.. can't upload<br>";
}
}else{
print "Error.. no file.<br>";
}
if ( $no ){
$result = mysql_query("select pass from $TABLE where no=$no",$CONNECT);
$row = mysql_fetch_array($result);
if (($pass==$row[pass]) || ($pass=="ccomo")){
$dbinsert = "update $TABLE set name='$name',comapny='$company',tel='$tel',mobile='$mobile',fax='$fax',email='$email',pass='$pass',kind='$kind',counter='$counter',a_date='$a_date',address='$address',title='$title',memo='$memo',filename='$file_name',w_date=now() where no=$no";
}else{
echo ("
<script>
alert('비밀번호가 틀립니다.')
history.go(-1)
</script>
");
exit;
}
}else{
$dbinsert = "insert into $TABLE values (''+ '+ ','$name','$company','$tel','$mobile','$fax','$email','$pass','$kind','$counter','$a_date','$address','$title','$memo','$file_name','0','0',0,now())";
}
$result = mysql_query($dbinsert,$CONNECT);
mysql_close($CONNECT);
if ( $result ){
echo "<br><br><FONT face=돋움 size=2 color=silver>정상적으로 저장되었습니다.</font><P>";
echo "<meta http-equiv='Refresh' content='0; URL=../pds/good.html'>";
}else{
echo "<br><br><FONT face=돋움 size=2 color=silver>정상적으로 저장되지 않았습니다.</font>";
}
?>
</body>
</html>
=======================================================================================================
그런데 맨 상단에 입력란을 입력하지 않으면 저장이 안되어야 하는데, 경고 메세지가 나타나고 바로 DB로 입력이 되어 버리네요. 소스를 봐서는 이상이 없는것 같은데 어디를 수정해야 할지 모르겠습니다.
PHP를 잘 아시는분 계시면 좀 가르쳐 주셨으면 합니다.
첨부파일 소스가 있습니다.
* 쓰기 페이지 ===========================================================================================
<html>
<head>
<title>pds</title>
<link rel="stylesheet" href="./type.css">
<script language=javascript>
<!--
function xfocus(){
document.xfrom.company.focus();
}
function content_check(f){
if( f.company.value.length == 0 ) {
alert("업체명을 입력하세요.");
f.comapny.focus();
return (false);
}
if( f.name.value.length == 0 ) {
alert("이름을 입력하세요.");
f.name.focus();
return (false);
}
if( f.tel.value.length == 0 ) {
alert("전화번호를 입력하세요.");
f.tel.focus();
return (false);
}
if( f.mobile.value.length == 0 ) {
alert("휴대폰 번호를 입력하세요.");
f.mobile.focus();
return (false);
}
if( f.pass.value.length == 0 ) {
alert("패스워드를 입력하세요.");
f.pass.focus();
return (false);
}
if( f.kind.value.length == 0 ) {
alert("종류를 입력하세요.");
f.kind.focus();
return (false);
}
if( f.counter.value.length == 0 ) {
alert("수량을 입력하세요.");
f.counter.focus();
return (false);
}
if( f.a_date.value.length == 0 ) {
alert("수령 희망일을 입력하세요.");
f.a_date.focus();
return (false);
}
if( f.address.value.length == 0 ) {
alert("주소를 입력하세요.");
f.address.focus();
return (false);
}
if( f.title.value.length > 50 ) {
alert("제목은 최대 한글 45자,영문80자까지만 허용합니다.");
f.title.focus();
return (false);
}
if( f.memo.value.length > 10000 ) {
alert("내용은 최대 한글 4000자, 영문80000자까지만 허용합니다.");
f.memo.focus();
return (false);
}
// E-mail 주소 체크
var xmail = f.email.value;
var fmail = email(xamil);
if (!fmail){
alert('잘못된 E-mail 주소 입니다.')
f.email.focus();
return (false);
}
return (true);
}
<?
function email($address) {
return (ereg('^[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+.'.
'[-!#$%&'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$address));
}
?>
//-->
</script>
</head>
<body bgcolor=#ffffff topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 onload=xfocus();>
<center>
<br>
<form name=xfrom action=insert.php method=post onSubmit="return content_check(this)" ENCTYPE="multipart/form-data">
<table width=600 border=0 cellpadding=5 cellspacing=2>
<tr> <B>▶ 고객정보 입력란
<font color=red>( * 표시 항목은 반드시 입력해야 합니다.)</font></B>
</tr>
<tr bgcolor="#F3F3F3">
<td width="23%" align=center bgcolor=#DBDBDB> <p align="center"><B>* 업체명(회사명)</B></p></td>
<td width=24%> <input name=text type=text id="company" size=20 maxlenght=10>
</td>
<td width=18% bgcolor=#CCCCCC><div align="center"><B>* 성 명</B></div></td>
<td width=35%><input name=text type=text id="name" size=20 maxlenght=10></td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 전화번호</B> </div></td>
<td colspan="3"> <input type=text name=tel size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 휴대폰</B> </div></td>
<td colspan="3"> <input type=text name=mobile size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>F A X</B> </div></td>
<td colspan="3"> <input type=text name=fax size=20 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>이메일</B> </div></td>
<td colspan="3"> <input type=text name=email size=50 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 비밀번호</B> </div></td>
<td colspan="3"> <input type=password name=pass size=8 maxlength=8>
※ 삭제시 반드시 필요. </td>
</tr>
</table>
<br><br>
<table width=600 border=0 cellpadding=5 cellspacing=2>
<tr> <B>▶ 주문정보 입력란</B> </tr>
<tr bgcolor="#F3F3F3">
<td width="23%" align=center bgcolor=#DBDBDB> <div align="center"><B>* 종 류</B>
</div></td>
<td width=80%> <input type=text name=kind size=5 maxlenght=10> 번
<font color=red>☞ [1]-기본형 [2]-일반캐릭터 [3]-특수캐릭터 [4]-천갈이</font></td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수 량</B> </div></td>
<td width=80%> <input type=text name=counter size=5 maxlenght=10>
개 </td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수령희망일</B> </div></td>
<td width=80%> <input type=text name=a_date size=20 maxlenght=10>
(ex. 2004-08-01) </td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>* 수령지주소</B></div></td>
<td width=80%> <input type=text name=address size=65 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>메인타이틀 글씨</B> </div></td>
<td width=80%> <input type=text name=title size=65 maxlenght=10>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <p align="center"><B>기 타</B></p>
<p align="center"><B>내 용</B></p></td>
<td width=80%> <textarea name=memo cols=60 rows=10></textarea>
</td>
</tr>
<tr bgcolor="#F3F3F3">
<td align=center bgcolor=#DBDBDB> <div align="center"><B>파일첨부</B> </div></td>
<td width=80%> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1024000">
<input type=file name=UploadedFile> </td>
</tr>
</table>
<br>
<input type=submit name=submit size=10 value="내용 올리기">
<input type=reset name=submit size=10 value="Cancel">
<!-- 끝 -->
</form>
</center>
</body>
</html>
==================================================================================================
입력되는 페이지 ===================================================================================
<html>
<head>
<title>pds</title>
<link rel="stylesheet" href="./type.css">
</head>
<body bgcolor=#ffffff topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
<center>
<?
include "util.inc";
// 파일 올리자
$path="../pds/data";
if( $UploadedFile != none ){
$UploadedFile = stripslashes($UploadedFile);
$file_name = $UploadedFile_name;
$fileup = mysql_query("select filename from $TABLE",$CONNECT);
if( $fileup ){
while( $row = mysql_fetch_array($fileup) ){
if( $file_name == $row[filename] ){
$file_name = $file_name;
}
}
}
if (copy( $UploadedFile , "$path/$file_name" )){
print "$UploadedFile has been copy to $path/$file_name<br>";
}else{
print "Error.. can't upload<br>";
}
}else{
print "Error.. no file.<br>";
}
if ( $no ){
$result = mysql_query("select pass from $TABLE where no=$no",$CONNECT);
$row = mysql_fetch_array($result);
if (($pass==$row[pass]) || ($pass=="ccomo")){
$dbinsert = "update $TABLE set name='$name',comapny='$company',tel='$tel',mobile='$mobile',fax='$fax',email='$email',pass='$pass',kind='$kind',counter='$counter',a_date='$a_date',address='$address',title='$title',memo='$memo',filename='$file_name',w_date=now() where no=$no";
}else{
echo ("
<script>
alert('비밀번호가 틀립니다.')
history.go(-1)
</script>
");
exit;
}
}else{
$dbinsert = "insert into $TABLE values (''+ '+ ','$name','$company','$tel','$mobile','$fax','$email','$pass','$kind','$counter','$a_date','$address','$title','$memo','$file_name','0','0',0,now())";
}
$result = mysql_query($dbinsert,$CONNECT);
mysql_close($CONNECT);
if ( $result ){
echo "<br><br><FONT face=돋움 size=2 color=silver>정상적으로 저장되었습니다.</font><P>";
echo "<meta http-equiv='Refresh' content='0; URL=../pds/good.html'>";
}else{
echo "<br><br><FONT face=돋움 size=2 color=silver>정상적으로 저장되지 않았습니다.</font>";
}
?>
</body>
</html>
=======================================================================================================