묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
라디오 버튼의 변수값을 다른 파일에서 사용하는 방법이 있습니까?
2003.04.15 11:09
여기 저기 질문 올리고 답변 받아 겨우 선택로그인 을 만들어 내었는데요.
문제는 이 선택로그인 폼의 변수값을 다른 파일에서 사용하면 에러가 나서 사용할 수 가 없습니다.
우선 선택로그인 폼의 라디오 버튼 의 소스를 적어보면
<form action=id_find.php name=write method=post>
(중간생략)
<input type="radio" name='bs' value='member1' checked> <font color='#000000'>멤버1</font>  
<input type="radio" name='bs' value='member2'> <font color='#000000'>멤버2</font>
(중간생략)
</form>
이폼에서 액션을 정한 id_find.php 에서는
if($bs =="member1){
}
else{
}
위에 적은식으로
if 문을 이용하니 선택적인 로그인이 되지더라구요.
그런데 위에 적은 if 문을 id_find.php 파일이 아닌 다른파일에서도 사용을 해주어야 하는데
다른 파일에선 인식을 못하는건지 에러만 납니다.
위에 적은 라디오버튼의 변수값을 다른 파일에서 사용할 수 있게 설정하는 방법이 있는지요?
문제는 이 선택로그인 폼의 변수값을 다른 파일에서 사용하면 에러가 나서 사용할 수 가 없습니다.
우선 선택로그인 폼의 라디오 버튼 의 소스를 적어보면
<form action=id_find.php name=write method=post>
(중간생략)
<input type="radio" name='bs' value='member1' checked> <font color='#000000'>멤버1</font>  
<input type="radio" name='bs' value='member2'> <font color='#000000'>멤버2</font>
(중간생략)
</form>
이폼에서 액션을 정한 id_find.php 에서는
if($bs =="member1){
}
else{
}
위에 적은식으로
if 문을 이용하니 선택적인 로그인이 되지더라구요.
그런데 위에 적은 if 문을 id_find.php 파일이 아닌 다른파일에서도 사용을 해주어야 하는데
다른 파일에선 인식을 못하는건지 에러만 납니다.
위에 적은 라디오버튼의 변수값을 다른 파일에서 사용할 수 있게 설정하는 방법이 있는지요?
댓글 4
-
특급잠수부
2003.04.15 12:10
-
오한호
2003.04.15 18:43
특급잠수부님 우선 답변주셔서 너무 감사하구요.
아침에 답변받고 지금까지 전전긍긍 하고있으나 잘되질않습니다.
소스받은 것만으로도 너무 감사해서 왠만하면 재 질문은 하지않습니다만,
이 것이 홈페이지를 완성하냐 못하냐 의 관건이 될만큼 중요해서 재질문 올립니다.
님의 말씀대로라면 id_find.php 파일에 님께서 적어주신 소스를 첨가하라고 말씀하신 것으로 이해를 했습니다만 id_find.php 파일은 process 역할을 하는 파일이거든요.
물론 login.php 파일에도 id_find.php 파일에도 위소스를 첨가하고 수정해서 해보았는데 잘안되서...두가지로 질문 드릴까합니다.
우선 라디오폼의 name 은 write 인데
님께서 적어주신 히든 폼의 name 을 test 로 적어주셨는데
name 을 님께서 적어주신대로 달리 만들어야 하는 건지요?
또하나는 프로세스 기능을 하는 id_find.php 파일을 수정해야 하는건지 아니면 login.php
파일을 수정해야 하는 것인지 알고싶습니다.
참조하시라고 id_find.php 파일 소스를 적어놓겠습니다.
-------------------------------------------------
id_find.php
--------------------------------------------------
<?
session_start();
if($bs == "teacher"){
$connect = mysql_connect("localhost","userid","비밀번호"); //config.php 대체시작
mysql_select_db("db 명",$connect);
function sokuri()
{
echo ("
<table border=0 cellpadding=0 cellspacing=1 bgcolor=#FBB63E>
<tr>
<td><img src=./img/up.jpg></td>
</tr>
</table>
");
} //config.php 대체끝
$query = mysql_query("select * from board where id='$id 'and pass='$pass'");
$kkk = mysql_num_rows($query);
echo $kkk;
if($kkk)
{
$row = mysql_fetch_array($query);
$sokuri_id = $row[id]; //입력값을 $sokuri_id 로 정의해줌
$sokuri_pass = $row[pass];
session_register("sokuri_id");
session_register("sokuri_pass");
echo $sokuri_id;
echo $sokuri_pass;
echo ("<meta http-equiv='refresh' content='0; url=index.html'>");
}else{
echo ("
<script>
alert('아이디와 패스워드가 틀립니다.')
history.go(-1)
</script>
");
exit;
}
}
else{
$connect = mysql_connect("localhost","사용자id","다른 비밀번호"); //config.php 대체시작
mysql_select_db("다른db명",$connect);
function sokuri()
{
echo ("
<table border=0 cellpadding=0 cellspacing=1 bgcolor=#FBB63E>
<tr>
<td><img src=./img/up.jpg></td>
</tr>
</table>
");
} //config.php 대체끝
$query = mysql_query("select * from sboard where id='$id 'and pass='$pass'");
$kkk = mysql_num_rows($query);
echo $kkk;
if($kkk)
{
$row = mysql_fetch_array($query);
$sokuri_id = $row[id]; //입력값을 $sokuri_id 로 정의해줌
$sokuri_pass = $row[pass];
session_register("sokuri_id");
session_register("sokuri_pass");
echo $sokuri_id;
echo $sokuri_pass;
echo ("<meta http-equiv='refresh' content='0; url=index.html'>");
}else{
echo ("
<script>
alert('아이디와 패스워드가 틀립니다.')
history.go(-1)
</script>
");
exit;
}
}
?> -
특급잠수부
2003.04.15 19:39
죄송한 말씀이지만 저렇게 소스를 적어주시는것 보다
어떻게 할려고 한다라고 말씀해 주시는게 더 이해가 빨리됩니다.
예를들어서 a.php 의 name변수값을 id_config.php와 login.php
두군데 다 적용시키고 싶다라는 문제점이 있을때는
물론 순서가 a.php - id_config.php - login.php
이면
제가 적은대로 하면 됩니다.
// id_config.php
if (조건)
{
성공시 전달될 페이지
echo ("<script>location.href='페이지명?name=$name';</script>");
}
else
{
}
혹은 form을 이용하셨다면
히든값하나만 추가하면 됩니다. -
오한호
2003.04.15 23:25
우선 죄송하다는 말씀드리고 싶네요.저는 최대한 질문내용을 자세히 설명드리고자 했지만
표현 능력이 부족해서 그렇게 된것 같습니다.
님께서 말씀하신대로 질문 내용을 다시 말씀드리면
1. 제가 첫번 질문에 적어놓은 라디오 선택버튼은 login.php 파일내용중의 한부분입니다.
(이부분을 특급잠수부님께 제대로 전달해드리지 못한 것 같습니다.)
2.라디오 선택버튼에서 선택한 멤버타입으로 로그인을 할 수 있게 끔 해주는 processing 기능을 담당하는 파일이 id_find.php 파일 입니다.(위에 적어 놓은 소스)
3.그리고 로그인을 하고 난후 보여지는 로그인 박스에 보면 보통 "회원정보수정" (이 것도 login.php 파일 내용)있지않습니까
역시 "회원정보수정" 을 클릭하면, 둘중의 한가지 멤버로 로그인 했듯이, 둘중의 한가지 멤버 수정폼이 나오게 하려고 하는 것입니다.
그런데 로그인 폼안의 라디오 폼에서 액션을 id_find.php 로 주었기 때문인지
수정하려하는 profile.php 내에
if($bs =="member1){
}
else{
}
이런 설정을 해보면 인식을 못하는 것 같습니다.
그럼, profile.php 가 라디오 버튼의 어떤 것을 선택했느냐에 따른 변수를 인식할 수 잇는 방법을 여쭤 본것이지요.
부담되시는 것같아서 정말 죄송하구요.
또 잘못 설명 되었으면 어쩌나 걱정이 앞섭니다.
여기서 action에서 id_find.php라고 적혀있으므로
id_find.php
가 1차적으로 그 변수를 받아옵니다.
만약 id_find.php에서
또 다른 페이지를 연결해서 변수를 넘기고 싶으시면
폼을 이용하셔도 되고
querystring을 이용하여 넘기셔도 됩니다.
예를 들면
<form name=test method=post action=받을 파일명>
<input type=hidden name=bs value=<?=$bs?>>
</form>
으로 해주셔도 되고
href=받을파일명? bs=<?=$bs?>
해주셔도 됩니다.