테스트 사이트 - 개발 중인 베타 버전입니다

구분자로 나눈 여분필드 게시글 수정시 사라짐 ㅠㅠ 채택완료

하늘™ 6년 전 조회 3,461

여분필드를 사용해서 연락처 입력란을 추가할 때 위와 같이 3군데로 끊어서 입력값을 받고 싶은 경우

일반적인 방법으로 구현하면 칸마다 여분필드가 1개씩 총 3개가 필요한데

배열을 사용하면 여분필드 한 개를 이용해서 여러 개로 쪼개서 사용할 수가 있습니다.

 

가장 기본적인 예제입니다. 여분필드 wr_1 번을 사용했습니다.

 

 

1. 게시판 스킨 파일 write.skin.php

 

<?php
$hp = explode("-",$write['wr_1']); //연락처
?>
<tr>
    <th scope="row">연락처</th>
    <td><input type="text" name="hp[0]" value="<?php echo $hp[0] ?>" class="frm_input" size="10" maxlength="4"> - <input type="text" name="hp[1]" value="<?php echo $hp[1] ?>" class="frm_input" size="10" maxlength="4"> - <input type="text" name="hp[2]" value="<?php echo $hp[2] ?>" class="frm_input" size="10" maxlength="4"></td>
</tr>
 

 

2. 같은 스킨 폴더 안에 write_update.skin.php 파일 새로 추가. 파일 안의 내용은 이렇게..

 

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 휴대전화
$wr_1 = "$hp[0]-$hp[1]-$hp[2]";
sql_query(" update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ");
?>

 

요거 따라해서 DB에 입력은 잘 됩니다.
그러나 수정을 누르면 수정 페이지에서 입력되었던 값이 비어있어요.

게시물 수정시  수정페이지에서 이전에 입력했던 값이 남아있도록 하려면 어찌해야 할까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
6년 전

참고만 해 보세요.

 

<?php
$hps=explode("-",$write['wr_1']); //연락처
$hp1=$hps['0'];
$hp2=$hps['1'];
$hp3=$hps['2'];
?>

<tr>
<th scope="row">연락처</th>
<td><input type="text" name="hp1" value="<?php echo $hp1?>" class="frm_input" size="10" maxlength="4"> - <input type="text" name="hp2" value="<?php echo $hp2?>" class="frm_input" size="10" maxlength="4"> - <input type="text" name="hp3" value="<?php echo $hp3?>" class="frm_input" size="10" maxlength="4"></td>
</tr>

 

<?php
if(!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

 

// 휴대전화
$hp=$_POST['hp1']."-".$_POST['hp2']."-".$_POST['hp3'];
sql_query("update {$write_table} set wr_1='{$hp}' where wr_id='{$wr_id}'");
?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하늘™
6년 전
사실 해결하지 못했어요.
댓글 주셔서 고맙습니다.

댓글을 작성하려면 로그인이 필요합니다.

write_update.skin.php 에

$wr_1 = @implode('-', $wr_1);

추가해보시겟어요..?

 

name는 동일해야 하는데 name="hp[0]" --> name="hp[]" 요게 문제같네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

<?php
$hp = explode("-",$write['wr_1']); //연락처
?>

 

아래처럼 변걍해 보세요.

 

<?php
$hp=explode("-",$wr_1); //연락처
?>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

하늘™
6년 전
안되네요 ㅠ
답변이라도 주셔서 고맙습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인