2016-06-14 7 views
-3

그래서 사용자가 제출을 클릭하면 양식 입력을 받아 변수에 영구 저장하겠습니다. 어떻게 할 수 있는지 잘 모르겠지만이 방법을 알고 있지만 영구적으로 저장하지는 않습니다. 양식 변수를 영구적으로 작성하십시오

<?php 
    $test = %_POST["example"]; 
?> 

<form action="#" method="post"> 
    Example Input: <input type="text" name="example"><br> 
    <input type="submit" name="submit"><br> 
</form> 

나는 다음 페이지가 있기 때문에 POST의 사라 새로 고침 즉시 내 변수 값을 표시하지만,
<?php echo $test ?> 

을 넣어. 어떻게하면 비슷한 일을 할 수 있습니까? 그러나 페이지가 새로 고쳐지면 여전히 남아 있습니다.

다른 대안이 있습니다.

+0

코드는 처음부터 모든 시간을 실행합니다. 변수를 "영구적으로"저장하려면 코드의 컨텍스트 외부에 그것을 유지해야합니다. 선택할 수있는 많은 컨텍스트가 있습니다. 데이터베이스는 일반적인 선택입니다. – David

+0

"영구적"으로 어디에서 떠 올랐습니까? PHP는 스크립트를 실행하고 그 실행에서 전역 변수는 값을 유지하지만 일단 db 나 다른 메소드에 저장되어 있지 않은 경우 해당 변수가 끝나면 – Xorifelse

답변

1

문제는 변수가 "요청 당"만있는 것입니다. 페이지를 새로 고칠 때 이미 본 것처럼 말입니다. 그러나 세션을 사용하면 세션이 살아있는 동안 변수를 활성 상태로 유지할 수 있습니다. 또는 데이터를 데이터베이스에 저장하고 페이지를 요청할 때 데이터를 다시 가져옵니다.

세션과 관련,이 같은 것을 할 것 : 더 많은 정보와 간단한 튜토리얼

<?php 

    session_start(); 
    if (isset($_POST['example'])) { 
     $test = $_POST["example"]; 
     $_SESSION['formData'] = $test; 
    } 
    if (isset($_SESSION['formData'])) { 
     echo $_SESSION['formData']; 
    } 

<?php 

참조 : http://www.w3schools.com/php/php_sessions.asp

+0

이 답변이 유효하지만 항상 사용자 입력을 처리해야합니다 바이러스로 데이터. 예를 들어 사용자가 '

관련 문제