2013-02-27 1 views
0

나는 열의 모든 데이터를 나열하는 아래 코드를 가지고 있습니다. Firstname & 성 (Surname) 또한 클릭하면 해당 데이터의 나머지 부분을 볼 수있는 "프로필"페이지로 이동합니다. profile.php 페이지에 직접 링크를 만들었고 $ _POST = id가되도록 설정하기 전에 $ _POST [ 'id']가 사용자에게 변경 될 수 있기를 바라고 있습니다. 링크를 클릭하십시오.

<?PHP 
$result = mysql_query("SELECT id, firstname, surname FROM members WHERE createdby = '" . $_SESSION['myusername'] ."'"); 
if (!$result) { 
    echo 'Could not run query: ' . mysql_error(); 
    exit; 
} 
while($row = mysql_fetch_row($result)) 
{ 
$id=$row[0]; 
$_POST['id'] = $id; 
echo ("<a href=profile.php>".$row[1]." ".$row[2]."</a></br>"); 
} 
?> 

페이지가 잘로드되고 모든 작업이 $ _POST를 $ id로 설정하지 않습니다.

편집 : 지금은 $ _GET을 사용하고 [ "ID"] 작동하지만, 그것은 단지 값이 나는 쿼리에 사용할 수 없습니다 것을 메아리되는 : 대신에

$id=$_GET["id"]; 

$sql="SELECT * FROM $tbl_name WHERE id='$id'"; 
$result=mysql_query($sql); 
+1

보다는 $_GET["id"]을 사용할 수 있습니다

profile.php?id=$id 

하고 profile.php 페이지

처럼되고 귀하의 링크를 수정할 수 있습니다. 또한 아마도 [세션 슈퍼 글로벌] (http://php.net/manual/en/features.sessions.php)을 찾고있을 것입니다. – PeeHaa

+1

@nlsbshtr 가능합니다. 그러나 그렇게해서는 안됩니다. – PeeHaa

+0

아니요. $ _POST를 변경하지 않습니다. 읽기 전용 소스가 아닌 다른 것으로 보는 경우, 잘못된 것을하는 것입니다. –

답변

1

$_POST["id"] 값을 설정하면 바로 그 페이지에서 작동하지만 그 후에 다른 페이지로 리디렉션하면 $ _POST 값이 자동으로 해당 페이지로 전송됩니다. 오히려이 목적을 위해 $ _GET을 시도 할 수 있습니다. 당신은 수동으로 사후 적 자동 전역 설정하지 마십시오 $_POST

+0

이것은 훌륭하게 작동하는 것처럼 보입니다. $ _GET [ "id"]를 반환하고 반환 된 ID를 가져올 수 있지만 프로필 페이지에서 사용하면 테이블에서 선택하는 것처럼 보이지 않습니다. – user2098802

+0

그러면 해당 페이지의 코드도 수정해야합니다 –

+0

이 코드를 사용하고 있습니다 : $ id = $ _ GET [ "id"]; \t $ sql = "SELECT * FROM $ tbl_name 여기서 id = '$ id'"; $ result = mysql_query ($ sql); – user2098802

0

사용 세션 post - $_SESSION['id']

관련 문제