묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
HELP ME~~ "암호가 일치하지 않습니다."?
2005.08.20 22:33
게시판 하나 만드는 중입니다.
수정하는 게시물 수정하는 페이지를 시험중인데..
아무리 수정하려고 해도 "암호가 일치하지 않습니다"라는 팝업만 뜹니다.
어느 부분이 잘못된 건지 도움 부탁합니다.
<?
include ("board.inc.php3");
// db 연결
mysql_connect("localhost", "abcd", "1234") or die (mysql_error());
mysql_select_db("abcd");
// modify.php3 로 부터 넘겨 받는 변수 처리
$name = addslashes($name);
$passwd = addslashes($passwd);
$email = addslashes($email);
$url = addslashes($url);
$title = addslashes($title);
$content = addslashes($content);
// 초기값 설정
$tablename = "board";
$daytime = time();
$ip = getenv("REMOTE_ADDR");
// 정규 표현식을 이용한 문자열 검사
if( !ereg("([^[:space:]])", $name) ) {
error("이름을 입력하세요");
exit;
}
if( !ereg("(^[0-9a-zA-Z]{4,8}$)", $passwd) ) {
error("비밀번호는 4자에서 8자 까지의 영문자 또는 숫자로 입력하
세요");
exit;
}
if($email != '' && !ereg("(^[_0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-
]+(.[_0-9a-zA-Z-]+)*$)", $email) ) {
error("메일주소를 바르게 입력하세요");
exit;
}
if($url != '' && !ereg("http://([0-9a-zA-Z./@~?&=_])", $url) ) {
error("홈페이지 주소를 바르게 입력하세요");
exit;
}
if( !ereg("([^[:space:]])", $title) ) {
error("제목을 입력하세요");
exit;
}
if( !ereg("([^[:space:]])", $content) ) {
error("내용을 입력하세요");
exit;
}
// passwd가 같은지 검사한다.
$sql = "select no from $tablename where no=$no and passwd=password('$passwd') ";
$result = mysql_query($sql) or die (mysql_error(). $sql);
if( !mysql_num_rows($result) ) {
error("암호가 일치하지 않습니다.");
}
// 정보를 변경한다.
$sql = " update $tablename set
name='$name', email='$email', url='$url',
title='$title',
content='$content', ip='$ip', daytime=$daytime
where no='$no' ";
mysql_query($sql) or die (mysql_error());
// 수정한 글로 이동하기
$str = "글을 수정했습니다.";
echo("
<html><head>
<script name=javascript>
location.href='content.php3?page=$page&no=$no&$daytime';
if('$str' !='') {
self.window.alert( '$str' );
}
</script>
</head>
</html>
");
?>
그리고
$sql = "select no from $tablename where no=$no and passwd=password('$passwd') ";
이 줄에서
no='$no'라고 수정하면
You have an error in your SQL syntax near '= and passwd=password('1234')' at line 1select no from board where no= and passwd=password('1234')
라는 메세지가 뜨구요..
도움 바랍니다.
수정하는 게시물 수정하는 페이지를 시험중인데..
아무리 수정하려고 해도 "암호가 일치하지 않습니다"라는 팝업만 뜹니다.
어느 부분이 잘못된 건지 도움 부탁합니다.
<?
include ("board.inc.php3");
// db 연결
mysql_connect("localhost", "abcd", "1234") or die (mysql_error());
mysql_select_db("abcd");
// modify.php3 로 부터 넘겨 받는 변수 처리
$name = addslashes($name);
$passwd = addslashes($passwd);
$email = addslashes($email);
$url = addslashes($url);
$title = addslashes($title);
$content = addslashes($content);
// 초기값 설정
$tablename = "board";
$daytime = time();
$ip = getenv("REMOTE_ADDR");
// 정규 표현식을 이용한 문자열 검사
if( !ereg("([^[:space:]])", $name) ) {
error("이름을 입력하세요");
exit;
}
if( !ereg("(^[0-9a-zA-Z]{4,8}$)", $passwd) ) {
error("비밀번호는 4자에서 8자 까지의 영문자 또는 숫자로 입력하
세요");
exit;
}
if($email != '' && !ereg("(^[_0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-
]+(.[_0-9a-zA-Z-]+)*$)", $email) ) {
error("메일주소를 바르게 입력하세요");
exit;
}
if($url != '' && !ereg("http://([0-9a-zA-Z./@~?&=_])", $url) ) {
error("홈페이지 주소를 바르게 입력하세요");
exit;
}
if( !ereg("([^[:space:]])", $title) ) {
error("제목을 입력하세요");
exit;
}
if( !ereg("([^[:space:]])", $content) ) {
error("내용을 입력하세요");
exit;
}
// passwd가 같은지 검사한다.
$sql = "select no from $tablename where no=$no and passwd=password('$passwd') ";
$result = mysql_query($sql) or die (mysql_error(). $sql);
if( !mysql_num_rows($result) ) {
error("암호가 일치하지 않습니다.");
}
// 정보를 변경한다.
$sql = " update $tablename set
name='$name', email='$email', url='$url',
title='$title',
content='$content', ip='$ip', daytime=$daytime
where no='$no' ";
mysql_query($sql) or die (mysql_error());
// 수정한 글로 이동하기
$str = "글을 수정했습니다.";
echo("
<html><head>
<script name=javascript>
location.href='content.php3?page=$page&no=$no&$daytime';
if('$str' !='') {
self.window.alert( '$str' );
}
</script>
</head>
</html>
");
?>
그리고
$sql = "select no from $tablename where no=$no and passwd=password('$passwd') ";
이 줄에서
no='$no'라고 수정하면
You have an error in your SQL syntax near '= and passwd=password('1234')' at line 1select no from board where no= and passwd=password('1234')
라는 메세지가 뜨구요..
도움 바랍니다.