틀린 부분만 지적하겠습니다.
[정익]님이 남기신 글:
>사용환경을 알짜 레드헷 6.1이고요
>
>그리고 PHP는 따로 설치하지 않고 6.1설치 하면서 깔린것을
그대로 씁니다.
>
>또 mysql은 3.22.32 버전을 소스로 받아서 컴파일
했습니다.
>
>먼저 사용자를
>mysql>insert into user
values('localhost','user',password('password'),'N','N','N','N','N','N','N','N','N','
N','N','N','N','N');
>만들고
>
>mysql>insert into db
values('localhost','dbname','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
>
------------>
이와 같이 추가했다면
DB 서버 : localhost
DB 유저 : user
유저 패스워드 : password
DB 이름 : ????
이와 같이 설정한 경우 입니다...
따라서....
>이렇게 만들고
>
>create table info(id varchar(30);name varchar(30);tel varchar(30));
>
>테이블을 생성하고나서
>
----------->
info 테이블을 어느 DB에 넣었나요?
혹시 "mysql" 이라는 DB 이름에 넣지는 않았는지요?
>input.html파일을
>
><html>
><head>
><title>php 첫번째 테스트</title>
></head>
><body>
><center>
><form action="input.php3" method="post">
><h1>신규회원
가입신청서</h1>
><br><br>
><h3>개인정보를
입력하십시오</h3>
><table>
><tr>
><td> 아이디</td>
><td> <input type="text" name="id"
size="30"></td>
></tr>
><tr>
><td> 이 름</td>
><td> <input type="text" name="id"
size="30"></td>
></tr>
><tr>
><td> 전 화</td>
><td> <input type="text" name="id"
size="30"></td>
></tr>
><tr>
DB에 들어가 각 컬럼과 CGI 폼의 각각의 변수 이름을 같게 할
필요는 없지만
일반적으로 같은 이름으로 많이 사용합니다.
즉 info 테이블에서
아이디 : id 컬럼
이름 : name 컬럼
전화번호 : tel 컬럼
이므로
CGI 폼에서는
<td> 아이디</td>
<td> <input type="text" name="id"
size="30"></td>
</tr>
<tr>
<td> 이 름</td>
<td> <input type="text" name="name"
size="30"></td>
</tr>
<tr>
<td> 전 화</td>
<td> <input type="text" name="text"
size="30"></td>
</tr>
와 같이 수정하십시오...
CGI 입력폼에서 name="id"
는 id 라는 변수($id)를 PHP에서 바로 사용할 수 있습니다.
><td colspan=2 align=center>
><input type="submit" value="신청"><input
type="reset" value="지우기">
></td>
></tr>
></table>
></center>
></body>
></html>
>----------------------------------------------------------------
>input.php3 파일을
>
><?
>if(!$name){
> echo("<script>
> windows.alert('이름을
넣으세요')
> history.go(-1)
> </script>
> ");
>
> exit;
> }
>
>$connection =
mysql_connect("localhost","myuser","myuser");
>
------------------>
DB 서버 : localhost
DB 유저 : user
유저 패스워드 : password
DB d이름 : dbname // info 테이블이 들어가 있는 DB 이름
이므로
위의 $connection 부분을
$connection =
mysql_connect("localhost","user","password");
이와 같이 바꾸어 주십시오....
>mysql_select_db("myuserdb",$connection);
마찬가지로
위의 부분도
mysql_select_db("dbname",$connection);
이와 같이 수정하십시오...
>$dbresult=mysql_quary("insert into info values('$id', $name', '$tel')",
$connection);
>
앞에서 mysql_quary() 가 아니라 mysql_query()
오타인것 같군요....
>if($dbresult=="")
>{
> echo("
> <script>
> window.alert('데이터
입력오류!!!')
> history.go(-1)
> </script>
> ");
> exit;
>}
>?>
>
>로 하고 웨브라우저에서
실행시키면
>
>일단 에러는 안보입니다.
>
>하지만 mysql에 가서
>
>select * from info;
>
>하면 비어 있다고 나옵니다.
>
>mysql에서 직접넣으면 들어가는데....
>
>도움 부탁드립니다.
========================================
이와 같이 수정하면 일단 웹에서 MySQL 테이블에 자료 입력할 수
있습니다.
다음은
위의 내용을 좀더 간편한한 방법이기도 합니다...
input.php3------------------------------
<?
$db_server = "localhost"; DB 서버
$db_user = "user"; DB 사용자
$db_passwd = "password"; // user 유저에 해당하는 패스워드
$db_name = "db_name"; // "db_name"이라는
DB에 info 테이블이 추가되었을 경우
$table = "info"; // 테이블 이름
if(!$id || !$name){
echo("<script>
windows.alert('아이디/이름을
넣으세요')
history.go(-1)
</script>
");
exit;
}
// 이하 변수는 고칠 필요는 없습니다..
$connection =
mysql_connect("$db_server","$db_user","$db_passwd");
mysql_select_db("$db_name",$connection);
$dbresult=mysql_query("insert into $table values('$id', $name', '$tel')",
$connection);
if(!$dbresult)
{
echo("
<script>
window.alert('데이터
입력오류!!!')
history.go(-1)
</script>
");
exit;
}
?>
---------------------------------------------
이상입니다........
|