2012-09-12 2 views
-1

는 실행하기 전에 자바 스크립트 확인 창을 팝업하는 방법 :PHP를 실행하기 전에 JavaScript 확인 ​​창을 팝업하는 방법은 무엇입니까?

<form action="index.php" method="get"> 
    <input type="hidden" name="act" value="run"> 
    <input type="submit" value="Clear map"> 
</form> 
<?php 
    if (!empty($_GET['act'])) { 
     mysql_query("TRUNCATE TABLE mapinfo"); 
     $page = $_SERVER['PHP_SELF']; 
     header("Location: $page"); 
    } 
?> 

사용자가 PHP를 실행 여부에 취소 확인을 눌러해야합니다.

답변

8
<?php 
    // mysql connection 
    if ($_GET['act'] == 'run') { 
     mysql_query("TRUNCATE TABLE mapinfo"); 
     $page = $_SERVER['PHP_SELF']; 
     header("Location: $page"); // for this to work, script must not output something before, otherwise use echo '<script type="text/javascript">window.location = \''.$page.'\';</script>'; 
     die; 
    } 
?> 
<form action="index.php" method="get" onsubmit="return confirm('Are you sure you want to truncate `mapinfo`?');"> 
    <input type="hidden" name="act" value="run"> 
    <input type="submit" value="Clear map"> 
</form> 
+0

'헤더 ("위치 ...'출력에 뭔가를 표시 한 후? –

+0

는 HTML –

+0

와 코드를 반전 :) 지금은 한 수 –

0

javacript confirm()을 사용하십시오. submit 버튼에 onclick 속성을 추가합니다.이 버튼은 확인 대화 상자를 호출하고 옵션이 yes이면 일부 코드를, 그렇지 않은 경우 javascript를 사용하여 확인합니다.

0

PHP 스크립트는 사이트가 클라이언트에 전송되기 전에 서버에서 평가됩니다. 자바 스크립트는 클라이언트가 페이지 처리를 시작할 때만 평가됩니다. 그래서 PHP 스크립트가 평가되기 전에 자바 스크립트에서 무엇이든 할 수 없습니다.

해결책은 필요한 자바 스크립트를 처리하는 프록시 페이지를 설정 한 다음 PHP 페이지로 안내하는 것입니다.

희망 하시겠습니까? 이 한 줄을보십시오

0

,

<a href="truncate_page.php" onclick="return confirm('Are you sure you want to truncate?')">Truncate</a> 
관련 문제