2010-12-15 3 views
1

a를 페이지로 리디렉션해야하고 x가 이미 존재한다고 말해야합니다. 내가 어떤 일을하고msg를 PHP로 사용하여 메시지 표시

는 다음과 같이 생각한다

header('location:newcategory.php'?msg=category exists); 

내가 오히려 자바 스크립트보다, PHP에서이 작업을 수행하는 것을 선호합니다. newcategory.php 페이지에서

header("Location: newcategory.php?msg=" . urlencode('category exists')); 

: 리디렉션을하고있는 페이지

+0

헤더 ('Location : newcategory.php? msg ='. urlencode ('category exists')); – Catalin

+1

이 질문은 정말 명확하지 않다. – mrwooster

답변

3

에서

echo $_GET['msg']; 
+0

가! 당신은 항상 저 앞에 몇 초 있습니다. 지난 며칠 동안 너를 여러 번 봤어. – AgentConundrum

+0

나는 지난 며칠 동안 너무 많은 자유 시간을 가졌습니다. –

+0

데이터의 중복을 검사하여 데이터가 이미있는 경우 해당 페이지에 표시되고 오류를 표시하지만 표시되지 않으면 헤더가 다른 페이지로 리디렉션되어야하지만 헤더를 다시 사용할 수 없음 그래서, 모든 솔루션. –

0
header("Location: :newcategory.php?msg=category exists&var=".$x); 


if(msg == "category exists") 
{ 
    echo $var." already exists"; 
} 
+0

그건 내 첫 번째 생각 이었지만, SEO 측면에서 보면 리디렉션되는 것이 더 낫습니다. – AgentConundrum

+0

나는 이것을했다, 그것이 작동하지만 주소 표시 줄 머리글 ('위치 : newcategory.php? msg = category exists')에없는 해당 msg를 원한다. –

0

추가 newcategory.php 네가 아프다면 좋지 않을거야. 어떤 종류의 XSS에 아마 취약하기 때문에, GET 매개 변수에있는 전체적인 메시지. 가장 좋은 방법은 메시지 수집 및 해당 식별자를 저장하고 즉시 메시지를 생성하는 것입니다. 매개 변수 무슨 일이 있었는지 더 명확하게 정의

$messages = array(
'exists' => 'category %s exists', 
'failed' => 'query %s failed' 
); 

그리고 다음 URL에서 유일한 메시지 식별자를 전달, 선택 사항입니다 : 예를 들어 당신이 배열을 가질 수

header("Location: newcategory.php?msg=exists&id=2"); 

대상 페이지에서 당신은 그런 일을 쓸 수 :

$msg = ''; 
switch($_GET['msg']) 
    { 
    case 'exists': 
     { 
     $msg = sprintf($messages[$_GET['msg']], intval($_GET['id'])); 
     break; 
     } 
    } 
echo $msg; 

일부 클래스로 래핑 할 수도 있지만 아이디어가 도움이 되었기를 바랍니다.