개발 꿀팁/PHP

PHP+JavaScript+HTML 변수 간 대입 및 전달

Jammie 2022. 7. 8. 14:57
반응형

본문은 최근 WAMP 사이트의 학습지식이며, 이 사이트에서는 뉴스레터의 하이퍼링크를 통해 해당 내용을 표시해야 하기 때문에 HTML 하이퍼링크 전달값을 자바스크립트를 통해 표시하고, 자바스크립트 변수를 PHP 변수로 변환하고, 하이퍼링크를 구현하여 PHP 접속 데이터베이스(중점), PHP 출력 자바스크립트 내용을 포함하여 관련 변수를 할당하여 전달하는 것을 다루고 있다.

1. HTML 하이퍼링크 값

먼저 HTML 하이퍼링크 <Ahref=></A>를 통한 점프, 자바스크립트를 통한 획득 전달에 대해 기술한다.testA.php는 하이퍼링크, testB.php는 획득된 전달값이다

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>값전달</title>
</head>
<body>
<?php
	$result=10001;
?>
<A href="testB.php?newid=<?php echo $result; ?>" >점프 링크</A>
</body>
</html>

testB.php 코드는 다음과 같습니다

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>µȂ¼½脦</title>
</head>
<body>
<input id="new_id" type="hidden">
<script language=javascript runat="server">
	var src = document.getElementById("new_id").value = location.href;
	//alert(src);
	var params = src.split('?');
	//출력newid=10001中的id
	if(params[1]) {
		var idparams = params[1].split('=');
	}
</script>
<P>출력src전체 경로:<script>document.write(src);</script>
<P>출력params[1]매개 변수 가져오기:<script>document.write(params[1]);</script>
<P>출력id값:<script>document.write(idparams[1]);</script>
</body>
</html>

이 중 핵심 코드는 다음과 같다:
<Ahref="testB.php?"newid=<?phpecho $result; ?>" > 점프 링크</A>
설치하다URL 링크를 걸면 HTML에 PHP를 중첩시킨 변수를 주의해야 합니다. 동시에 PHP에 있는 SQL 조회 할당과 비교할 수 있습니다.
$result=$hgi->doquery("2", "select *from Course_News where CN_Nid=")".$_GET['newid'];
그러하다나중에 testB.php에서 자바스크립트를 통해 그 값을 표시합니다.
Var src = document.getElementById("new_id").value = location.href;
<script > document.write(src), </script>

2. 자바스크립트 변수 PHP 값 변환

이 시점에서 vari를 획득했습니다.dparams[1] = 10001. 그러나 내가 원하는 효과는 iddb 메인키를 통해 데이터베이스의 내용을 얻는 것이고, 데이터베이스의 그 부분 코드는 다음과 같다:
$result=$hgi->doquery('2', 'select * from Course_News where CN_Nid='.$id.';)';
그래서 $id를 Ja로 할당하면 돼요.vaScript의 var형 변수만 있으면 됩니다.mingfish2를 인용한 "js 변수를 php에 어떻게 대입합니까?"

PHP나 아약스는 공부가 적기 때문에 나는 하지 않고 남의 방법과 생각만 인용한다.일반적으로 사용되는 방법은 다음과 같다.
1.PHP에 js 변수를 Ajax로 대입 (참조: http://ww.xg)llseo.com/?p=3241)

JS 부분 코드
 
$('button').click(function(){
var js2_101=30;
$.ajax({
type:'GET',
url:"3.php",
data:{text:js2_101},
success: function(data){
alert(data)
}
}); 
return false;
});
 
PHP 부분 코드
 
$m2_10=$_GET['text'];
$php2=10;
echo $m2_10+$php2."<---JS는 php에 값을 부여하여 PHP에서 프로그래밍 가능";

여기서 제가 더 나누고 싶은 것은 그 원리입니다.
JS 변수를 PHP에 대입한 경우JS는 클라이언트 언어이고, PHP는 서버 언어가 백그라운드에서 실행되기 때문에 JS 변수를 PHP에 직접 할당할 수 없습니다. 그렇다면 서버 언어란 무엇인지, 클라이언트 언어란 무엇인지 어떻게 알 수 있을까요?사실 웹페이지의 소스코드를 보면 JS의 소스코드를 바로 볼 수 있고 PHP의 소스코드는 볼 수 없고 결과를 페이지에 출력만 할 수 있습니다.이를 위해 여기서 ajax를 사용하여 JS 변수를 정의하고 변수를 data에 대입하고 data의 변수를 php 변수에 대입한다.
그리고 PHP가 JS에게 주어지는 것은PHP는 서버 측에서 해석되기 때문이다.서버측에서는 JS코드를 해석하지 않으며, JS코드와 HTML코드는 서버측에서 그대로 출력됩니다.php가 인식할 수 있는 위치를 표시해야만 PHP가 해석하고 실행한다.JS는 클라이언트에 와서야 브라우저에 의해 해석됐다.
JS의 변수가 필요하다면"PHP에 값을 매기는 것은 상호작용을 수반한다.이것은 제출이라고 불리는 것입니다. 왜냐하면 브라우저에서 보는 모든 페이지는 PHP, ASP, JSP 등 모든 HTML 문서이기 때문입니다. 로컬에서 서버 측의 데이터를 수정해야 합니다. 당연히 서버와 상호 작용해야 합니다.JS는 고객과 서버를 연결하는 가교 역할을 한다.
2.폼GET 또는 P를 통해OST 메서드 값 가져오기
(참조: http://jingyan.baidu.com/article/fd8044faf3cda05030137a47.html)
자바스크립을 통해서t 클라이언트에서 전송할 데이터를 폼의 숨겨진 태그에 먼저 전달한 후 폼을 제출하는 형식으로 PPHP는 POST 방법을 통해 데이터를 획득한다

1)mainfunc.js코드:
function func(){
var a = "Javascript변수";
document.getElementById("test").value = a;
}
2)test.php코드。
<?php 
if(isset($_POST['sub'])){
$test = $_POST['test'];
echo "<br>".$test."----php변수 표시";
}
?>
<form action="" method="post">
<input type="hidden" id="test" name="test"/>
<input type="submit" id="sub" value="변수 변환" />
</form>

3. 하이퍼링크를 PHP 연결 데이터베이스에 전달

사실 위에서 '하나 둘'이 얘기했던 게실현 과정은 다음과 같다.
HTML= > 하이퍼링크= > J= > PHP= > 데이터베이스
Ajax가 실현되지 않아, 소나중에 보니까 더 쉬운 방법이 하나 있는데, 하이퍼링크에서 파라미터를 설정할 때 사실 그냥해당 파라미터를 직접 취득할 수 있으며, 자바스크립트 문자열 처리 없이 해당 값을 취득할 수 있습니다.코드는 다음과 같습니다.
//testA.php 설정하이퍼링크
Ahref="mai"입니다.n_right_yk4-1-content.php?newid=<?phpecho $id; ?>"> 하이퍼링크</A>
//testB.php 중데이터베이스 내용 가져오기
$hgi=new HttpPostInf(;)
$result=$hgi->doquery('2'), "select * from Cou"rse_News whereCN_Nid='.'.$_GET['newid']."';");
//해석 json
$dj=json_decode($result, true)
뒤에 PHP에 대해서 말씀드리겠습니다데이터베이스에 대한 자세한 내용은 여기에서 연결을 얻는 방법만 알면 됩니다.프로젝트는 나와 다른 친구가 완성했기 때문에 그는 백그라운드 데이터베이스 조작을 모두 PHP 타입 패키지로 길렀다(신랑 SAE 채택).그래서 프런트엔드 호출이 편리했다(apache 채택).이 부분에서 달성할 수 있는 초기 효과는 아래 그림과 같다.

4. PHP 출력 자바스크립트 콘텐츠

이 부분은 비교적 간단하여 PHP를 변경한다HTML 은닉형 태그에 양을 두고 자바스크립트가 document.getElementById(").value를 통해 태그의 값을 구하면 PHP의 변수 값을 얻을 수 있다.php와 js 변수의 할당도 직접 할 수 있다.코드는 다음과 같습니다

<script>                 //PHP 변수는 JS 프로그래밍 연산에 할당됩니다
<?php $m=10; ?>          //php의 변수$m
var js = 20;             //js 변수 js
var n=<?php echo $m; ?>; //php 값을 js 변수에 할당합니다
document.write(js+n);    //결과: php 값은 JS 변수에 할당할 수 있으며 JS 프로그램에서 사용할 수 있습니다
</script>

이 코드의 출력 결과는 30이다.다른 코드는 다음과 같다

<?php
   $test = "It's a test!";
?>
<input type="hidden" id="test" name="test" value="<?=$test;?>"  />
<script>
   var test_js = document.getElementById("test").value;
</script>
<?php
    //기타 처리
?>
반응형