2011-05-09 2 views
0

양식을 제출하고 레코드를 업데이트 한 후 PHP를 사용하여 양식을 정리하고 싶습니다.PHP를 통해 HTML 양식을 지우는 방법?

+0

"내 양식을 지우다"는 것은 무엇을 의미합니까? 문제를 자세히 설명해 주시겠습니까? 문제를 보여주는 몇 가지 코드는 어떻습니까? – Charles

+3

어? 정반대로, 보통 폼 입력을 지속시키기 위해 많은 코드를 생성해야합니다. 그것을 지우는 것은 아무것도하지 않는 것처럼 간단해야합니다 ... – deceze

답변

0

html 폼은 클라이언트 측 ... PHP는 서버 측을 실행하므로 기본적으로 onsubmit 액션에서 클라이언트 측 코드를 사용하여 폼의 값을 재설정해야합니다. 가장 간단한 방법은 자바 스크립트를 사용하여 모든 입력 값을 지우는 것입니다.

+2

클라이언트 쪽 리셋을위한 * 가장 간단한 * 방법은''하지만 나는 그 질문을 받는다는 확신을 갖지 못합니다. –

+0

예 질문은 다소 모호했습니다. – samccone

+0

정답입니다.하지만 자바 스크립트를 사용할 수없는 경우 (희귀하지만 일어날 수 있음) 백업 할 수있는 좋은 방법이라고 생각합니다. 그래서 PHP를 통해 이것을하지 않고 자바 스크립트가 활성화되어 있지 않으면 사이트가 작동하지 않습니다. 또는 적어도 그것의 큰 부분. – Limon

2

양식을 제출 한 후 사용자를 리디렉션 할 것을 권장합니다. 이렇게하면 모든 POST 또는 GET 데이터가 지워집니다.

header('Location: foobar.php'); 

또는 성공적인 제출 후 값을 설정 해제 할 수 있습니다. 당신이 당신의 양식을 채우는 데 사용하는 변수

unset($_POST['fieldname'], $_POST['fieldname2']); 
+1

POST 변수를 지우는 것이 내가 아는 한 아무 도움이되지 않습니다. 사용자가 페이지를 다시로드하면 POST 데이터가 재전송됩니다. – Svish

0

당신은 페이지가 다시로드되는 경우 unset POST/GET 변수와 피 데이터를 재전송 할 수 있습니다

PHP 코드 : (avoidResend.php) :

if(!empty($_POST) OR !empty($_FILES)) 
{ 
    $_SESSION['save'] = $_POST ; 
    $_SESSION['saveFILES'] = $_FILES ; 

    $currentFile = $_SERVER['PHP_SELF'] ; 
    if(!empty($_SERVER['QUERY_STRING'])) 
    { 
     $currentFile .= '?' . $_SERVER['QUERY_STRING'] ; 
    } 

    header('Location: ' . $currentFile); 
    exit; 
} 

if(isset($_SESSION['save'])) 
{ 
    $_POST = $_SESSION['save'] ; 
    $_FILES = $_SESSION['saveFILES'] ; 

    unset($_SESSION['save'], $_SESSION['saveFILES']); 
} 

이 페이지의 맨에서이 파일을 포함하고, 양식을 제출 한 후 unset($_POST['v1'], $_POST['v2'], $_POST['v3']);

건배!

관련 문제