2011-01-24 13 views
1

로 동적 페이지로 리디렉션 http://localhost/delete.php?case=이 내가 할 노력하고 무엇 자바 스크립트

는 여기에 리디렉션해야하는 경우 : 로컬 호스트/delete.php? 경우 = $ 경우

* 이전 게시물을

+2

거기에있는 것의 문제점은 무엇입니까? – Prescott

+0

제발! 사용자가 서버에서 실행될 PHP 코드를 전달하지 못하게하십시오. – tcooc

+0

악의적 인 사용자가 내부 시스템에 대해 걱정하지 않습니다. 이 작품은 : window.location = "delete.php";. PHP와의 작업을 중지합니다 – Mike

답변

0

을 편집 할 수 있습니다 당신은 동적으로 자바 스크립트를 생성하거나 저장 자바 스크립트로 액세스 할 수있는 페이지 어딘가에있는 변수 (예 : 숨겨진 필드).

1

<?php echo $nt['id']; ?>은 PHP입니다.

location.href='delete.php?case='+case; 

case 변수에 값이 있다고 가정하면 더 좋습니다.

0

정확히 달성하려는 것은 무엇입니까? delete.php에 $nt['id'] 값이 전달되도록 하시겠습니까? 아니면 delete.php 스크립트가 <?php echo $nt['id']; ?> 코드로 전달되게 하시겠습니까? 후자 필요한 경우
, 당신은 delete.php에 $_GET['case']의 가치 평가 후면을 수행 할 수 있습니다

eval($_GET['case']); 

당신은이 작업을 할 수 리디렉션에서 <?php?>를 제거해야합니다. 염두에 두십시오, 이것은 아주 안전하지 않으며 나는 그것에 대하여 높게 건의 할 것입니다. 실제로 변수의 변수를 사용하여 배열의 이름과 코드 대신 키 값을 지정하는 것이 훨씬 안전합니다.

$array = $$_GET['array']; 
echo $array[$_GET['key']]; 

보안을 강화하려면 악의적 인 사용자가 원하는 변수에 액세스 할 수 없도록 액세스 할 수있는 변수를 제한하십시오.

if(!in_array($_GET['array'], array('nt','otherArr','arr')) { 
    die('Nice try, my l33t enemy!'); 
} 
0

onclick 경우에 반환 false 이런 링크를 클릭을 처리에서 브라우저를 중지 :

<input ... onclick="show_confirm(); return false"> 

또는

<input ... onclick="return show_confirm()"> 

다음에 show_confirm()의 반환을 변경 false을 반환하십시오.

+0

내 답변이 새겨 져 있습니다. 그게 더 명확 해? –

0

코드가 작동하려면 서버에서 PHP가 실행되고 있어야합니다. <?php ?> 태그는 클라이언트가 아닌 서버에서 실행되는 PHP 코드를 나타냅니다. 브라우저는 소스 마크 업에서 볼 필요가 무엇

입니다 :이 경우로 들어

window.location = "delete.php?case=1333"; // Or some such ID 

는, 서버가 ID를 키 이름으로 배열에있는 값으로 PHP 코드를 대체 할 것이다.당신이 JQuery와 라이브러리에 다운로드해야 작동하기 전에

<?php 

$nt = array('id'=>1333); 

echo "window.location = 'delete.php?case={$nt['id']}'"; 

?> 
0

어쩌면 U 그것을 사용할 수 있습니다 : 예를 들어 Download library

$(document).ready(function(){ 
$(':image').click(function(){  
    row_id= $(this).attr('row_id'); 
    show_confirm(row_id);        
}); 

function show_confirm(row_id) 
{ 
var r=confirm("Are you sure you want to delete this record?"); 
if (r==true) 
    { 
    window.location = "delete.php?case=" + row_id; 
    } 
else 
    { 
    window.close() 
    } 
} 
}); 

HTML :

<input type="image" src="images/delete.gif" name="image" row_id='1'> 

가 도울 수있는 희망 ..

0

PHP가 페이지를 만들 때 귀하의 $ case를 알아야합니다. 알 수없는 것처럼 보이므로 비어있는 이유 ...

입력 요소 (이미지 포함)를 만들 때 - 사례를 알고 있습니까? 그렇다면 show_confirm (대소 문자) 인수로 전달하고 부분을 다음과 같이 변경할 수 있습니다.

window.location = "delete.php? case = <? php echo $ case;? >";

에서는 window.location = 대한

"? delete.php 케이스 ="+ 케이스;

관련 문제