2017-12-25 17 views
1

검색 엔진의 역할을하고 결과를 반환하는 양식을 만들려고합니다. 그러나 사용자 항목의 데이터가 세션에 저장할 수 없거나 세션을 다른 파일로 전달할 수 없습니다. 다음은 "홈"검색 페이지와 "검색 엔진"결과 페이지의 코드입니다.PHP 세션을 사용하여 한 파일의 양식에서 다른 파일로 데이터를 옮기는 방법은 무엇입니까?

Home.php

<html lang="en-US"> 
    <html> 
    <head> 
    </head> 
    <body> 
    <form action="Search-Engine.php" method="GET"> 
    <input type="text" id="query" placeholder="I'm looking for..." onkeydown = "if (event.keyCode == 13) document.getElementById('searchbtn').click()"> 
    <input type="submit" id="searchbtn" value="Search"> 
    </form> 
    <?php session_register(); session_start(); ?> 
    <?php $_GET['query'] = $_SESSION['Query']; ?> 
    </body> 
    </html> 

검색 - Engine.php는

<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<div class="results"> 
<?php session_start(); ?> 
We could not find: <?php echo $_SESSION['Query']; ?> 
</div> 
</body> 
</html> 
+0

당신이 당신의 파일 이름과 이름이 어쩌면 있기 때문에 그것을 생각 했나 확장명은 .html이고 왜 세션을 사용하여 그런 값을 전달합니까? 게시물을 사용하거나 양식을 사용하여 양식 자체에서 전달할 수 있습니까? –

+0

세션을 사용하기 위해 Home.html 확장을 Home.php와 같은 PHP로 업데이트하십시오. –

+0

PHP 세션 레지스터를 이동하고 파일 이름을 PHP 파일로 바꾸더라도 같은 결과가납니다. – Capattax

답변

1

나는 당신의 형태로 Sessions을 사용하는 정확한 목적을 모른다. 그러나 페이지 중간에서 Session을 시작하고 양식 내에서 세션을 사용하면 잘못된 방식으로 작업하고 있습니다. 양식을 제출 한 후 다른 페이지의 세션에 가치를 추가 할 수 있습니다.

당신은 아래의 방법으로 파일을 업데이트 할 수 있습니다

Home.php

<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<form action="Search-Engine.php" method="GET"> 
<input type="text" name="query" id="query" placeholder="I'm looking for..." onkeydown = "if (event.keyCode == 13) document.getElementById('searchbtn').click()"> 
<input type="submit" id="searchbtn" value="Search"> 
</form> 
</body> 
</html> 

검색 - Engine.php

<?php session_start(); 
$_SESSION['Query'] = $_GET['query']; ?> 
<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<div class="results"> 
We could not find: <?php echo $_SESSION['Query']; ?> 
</div> 
</body> 
</html> 
+2

속성이 이름이어야하며 양식의 "query"에 대한 ID가 아닌지 확인하십시오. –

+0

@Sidzler 네, 맞습니다! 감사 –