게시글 가져오기 질문 입니다. 채택완료
완전초보에여
1년 전
조회 1,411
가져오는 소스 인데
내용이나 이런건 가져오는데
제목을 가져 오질 못합니다.
혹시 소스코드에 무슨 문제가 있을까요?
php버전은 7.3 입니다.
</p>
<p><?php
include_once('./_common.php');</p>
<p>global $g5, $member;</p>
<p>$url = @$_POST['url'] ?: @$_GET['url'];
$sel = @$_POST['sel'] ?: @$_GET['sel'];
$sel12 = @$_POST['sel12'] ?: @$_GET['sel12'];
$sel2 = @$_POST['sel2'] ?: @$_GET['sel2'];
$sel22 = @$_POST['sel22'] ?: @$_GET['sel22'];
$sel23 = @$_POST['sel23'] ?: @$_GET['sel23'];
$target_table = @$_POST['bo_table'] ?: @$_GET['bo_table'];</p>
<p>include_once('./S_hquery.php');</p>
<p>$result = array();</p>
<p>$list = hquery_getList($url, $sel); //목록 구해오기</p>
<p>foreach($list as $row) {</p>
<p> global $g5, $member;
preg_match_all("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]\d/i", $row['content_url'], $content_url);</p>
<p> // $sel2 = "div#container";</p>
<p> foreach ($content_url as $a) {
for ($i=0;$i<count($a);$i++){
//echo $a[$i]."
";</p>
<p> $url2 = str_replace("amp;","",$a[$i]);</p>
<p> if($url2 != ''){
$doc2 = hQuery::fromUrl(
$url2
, [
'Accept' => $config['accept_html'],
'User-Agent' => $config['user_agent'],
]
);</p>
<p> $elements2 = $doc2->find($sel2);</p>
<p> // $parts = parse_url($url);
// parse_str($parts['query'], $query);
// $result['wr_id'] = $query['wr_id'];</p>
<p> foreach($elements2 as $pos => $el2) {</p>
<p> $result2['wr_subject'] = $el2 -> find($sel22); //wr_subject값 구하기
$result2['wr_content'] = $el2 -> find($sel23); //wr_name값 구하기</p>
<p> }</p>
<p> // hquery_getContent($a[$i]);</p>
<p> // board_write($target_table, $contents);
$write_table = $g5['write_prefix'].$bo_table;
$wr_num = get_next_num($write_table);
$wr_reply = '';
$ca_name = "";
$wr_option = "html1";
$secret = "";
$mail = "";
$wr_subject = $result2['wr_subject'];
$wr_content = $result2['wr_content'];
$wr_link1 = "";
$wr_link2 = "";
$mb_id = "admin";
$wr_name = "관리자";
$wr_email = "";
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '',
wr_link2 = '',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '$mb_id',
wr_password = '',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$url2',
wr_datetime = '" . G5_TIME_YMDHIS . "',
wr_last = '" . G5_TIME_YMDHIS . "',
wr_ip = '0.0.0.0',
wr_1 = '',
wr_2 = '',
wr_3 = '',
wr_4 = '',
wr_5 = '',
wr_6 = '',
wr_7 = '',
wr_8 = '',
wr_9 = '',
wr_10 = '' ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '" . G5_TIME_YMDHIS . "', '$mb_id' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");</p>
<p> // sleep(1);</p>
<p> }
}
}
}
goto_url('./scrap.php');
</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
1년 전
global $g5, $member;
$url = @$_POST['url'] ?: @$_GET['url'];
$sel = @$_POST['sel'] ?: @$_GET['sel'];
$sel12 = @$_POST['sel12'] ?: @$_GET['sel12'];
$sel2 = @$_POST['sel2'] ?: @$_GET['sel2'];
$sel22 = @$_POST['sel22'] ?: @$_GET['sel22'];
$sel23 = @$_POST['sel23'] ?: @$_GET['sel23'];
$target_table = @$_POST['bo_table'] ?: @$_GET['bo_table'];
여기서 글로벌은 안해도 됩니다. common.php 인크루드할때 기본적으로 가져옵니다.
$url = @$_POST['url'] ?: @$_GET['url']; @ 는 과도하게 사용금지합니다.
어쩔수없이 특별한 이유 아니면 빼셔도 됩니다.
그리고 post 값 하고 get 값을 둘다 쓰신다면 $_REQUEST를 지향합니다.
마지막으로 제목이 제대로 안들어온다면 직접 변수를 적용해야되요
$wr_subject = $_REQUEST['wr_subject'];
로그인 후 평가할 수 있습니다
답변에 대한 댓글 4개
�
완전초보에여
1년 전
어떻게 적용 해야할지 모르겠네요 ㅠㅠ 어떻게 해야되나요?ㅠㅠ;
�
완전초보에여
1년 전
총 정리본좀 가능할까요?ㅠㅠ;
�
리오닥터
1년 전
$wr_subject = $_REQUEST['wr_subject']; 이런식으로 하면되요 변수를 이렇게요
다른것도 저렇게하면되요
global $g5, $member; 이건 빼시구요
다른것도 저렇게하면되요
global $g5, $member; 이건 빼시구요
�
완전초보에여
1년 전
$wr_subject = $result2['wr_subject'];
$result2['wr_subject'] = $el2 -> find($sel22);
위 두개를 $wr_subject = $_REQUEST['wr_subject'] 이걸로 바꿔주면 되나요?
$result2['wr_subject'] = $el2 -> find($sel22);
위 두개를 $wr_subject = $_REQUEST['wr_subject'] 이걸로 바꿔주면 되나요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인