2012-09-24 2 views
1

PHP/HTML 질문href php if 문으로 연결된 링크

희망없는 질문이지만 두 링크에서 if 문으로 데이터를 처리하려고합니다. 형태와 같은 이름을 가진 버튼을 제출 한 수 있기 때문에 나는이 두 가지 형태로 쉽게 할 수 있습니다

편집이 다른 사람이 작업을 수행 할 경우 process.php의 문이 될 수 있다면
<form action="process.php" method="post"> Enter your name: <input type="text" name="name" size="20"><br /> 
<input type="submit" name="edit" value="Edit"> 
<input type="submit" name="delete" value="Delete"> 
</form> 

.

내가하고 싶은 것은 똑같은 일이지만 href 링크에서 왔습니다. 태그는 HTML5에 이름을 가질 수 없으므로 if 문을 어떻게 설정합니까?

도움 주셔서 감사합니다.

+0

왜 그냥 process.php에서 $ _GET 매개 변수의 존재를 확인하지? – trickyzter

+1

질의 문자열의 일부로 추가하십시오 :'a href = "process.php? edit = Edit". 유일한 차이점은 '$ _REQUEST'가 두 가지 가능성을 모두 다루지 만,'$ _POST'가 설정되어 있는지 확인하기 위해'$ _GET'을 조사해야한다는 것입니다. – andrewsi

+0

그래서 현재 process.php? id = $ id로 설정된 링크가 있습니다. process.php로 변경하겠습니까? id = $ id & action = edit? – robk27

답변

2

예컨대 : 내가 정확하게 이해하면

<a href="process.php?action=edit">Edit</a> 

<?php 

$action = $_GET['action']; 

if($action == 'edit'){ 
// edit. 
}else{ 
// else another action. 
} 
+0

감사합니다. 편집/삭제할 여러 가지 여러 페이지에 대해 동일한 링크를 사용할 수 있습니까? 예를 들어 : profile.php와 편집/삭제 if.pp에 대한 링크를 편집하고 다음으로 categories.php와 편집/삭제 링크를 if 구문과 함께 process.php에 연결합니다. 어떻게하면 두 페이지를 구별 할 수 있으므로 어떤 페이지를 가져 왔는지에 따라 다른 SQL 쿼리를 실행할 수 있습니까? – robk27

+0

예를 들어 다른 GET 변수를 추가 할 수 있습니다. process.php? site = profile & process.php? site = categories & delete 그리고 if ($ _ GET [ "site"] == "profile") {} ... 묻다. – SPie

+0

와우 오케이는 그것을 알지 못했다 ... 고마워! – robk27

2

사용자 정의 $ _GET 변수를 추가 한 다음 평가할 수 있습니다. 예를 example.com/form?action=editexample.com/form?action=delete를 들어 다음 PHP에서 :

$action = $_GET['action']; 
if($action === 'edit') { 
    this; 
} else if ($action === 'delete') { 
    that; 
} 
1

는 잘 모릅니다.

<a href="process.php?delete">Delete</a> 
<a href="process.php?edit">Edit</a> 

및 명시 적 get에 양식 방법을 설정하지 않는 한 다음

if(defined($_GET["delete"])){ 
} 
else if(defined($_GET["edit"])){ 
} 
2

이 양식은 일반적으로 post로 요청을 보내드립니다 : 무슨 약이 그런 일을한다. PHP에서이 데이터에 액세스하려면 $_POST["edit"]을 호출하십시오.

일반 링크는 http://example.com/process.php?edit=true과 같이 URL 문자열의 변수를 전달할 수 있습니다. $_GET["edit"]을 호출하여 이러한 변수에 액세스합니다.

당신이 코드를 가질 수 모두 $ _POST와 $ _GET 데이터에 대해 동일한 process.php 파일을 사용하려면

는 사용 $_REQUEST 자동 전역 $ _GET, $ _POST와 $ _COOKIES

의 데이터를 결합 ( http://php.net/manual/en/reserved.variables.request.php) 이 경우

PHP 코드는 읽을 것입니다 :

if ($_REQUEST["edit"]) { 
    /* Some code */ 
} 
elseif ($_REQUEST["delete"]) { 
    /* Some other code */ 
}