2013-04-22 7 views
0

GET 기능과 관련하여 질문이 있습니다. 현재 행동을 취하는 양식이 있습니다. get 함수를 사용하여 다른 페이지의 해당 데이터에 액세스하고 있습니다. 불행히도, 나는 내 값 하나 하나에 "오류 : 정의되지 않은 색인"을 가져 왔습니다. 유사한 문제를 읽은 후, isset (아래 참조)을 사용해 보았는데 오류를 없앴습니다. 그러나 변수가 4 개이면 아무 것도 나타나지 않기 때문에 데이터가 변수에 모두 저장되어 있는지 확신 할 수 없습니다. . 누군가 내게 올바른 방향으로 밀어 줄 수 있습니까?데이터베이스 업데이트 및 업데이트

형태의 데이터 :

while($row = mysql_fetch_array($result)) { 
echo "<div class=\"addform\"><form method='GET' action=\"update.php\">\n"; 

echo " <input type=\"text\" value=\"".$row['tfid']."\" name=\"tfid\">\n"; 

echo " <input type=\"text\" name=\"fname\"  value=\"".$row['fname']."\"/>\n"; 

echo " <input type=\"text\" name=\"lname\" value=\"".$row['lname']."\"/>\n"; 

echo " <input type=\"text\" name=\"hca\" value=\"".$row['hca']."\"/>\n"; 

echo " <input type=\"text\" name=\"file\" value=\"".$row['file']."\"/>\n"; 

echo " <input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n"; 

echo "<a href=\"delete.php?tfid=".$row['tfid']."\"><img title='Delete Row' alt=\"Delete\" class='del' src='images/delete.png'/></a></form></div>\n"; 

} 

echo "</table><br />\n"; 

및 검색에 대한 코드 : 편집 한 후

$tfid= isset($_GET["tfid"]) ? $_GET["tfid"] : NULL; 
$fname = isset($_GET["fname"]) ? $_GET["fname"] : NULL; 
$lname = isset($_GET["lname"]) ? $_GET["lname"] : NULL; 
$hca = isset($_GET["hca"]) ? $_GET["hca"] : NULL; 
echo $tfid; 
echo $fname; 
echo $lname; 
echo $hca; 
+0

첫 페이지에 어떻게'$ _GET' 변수를 설정하고 있습니까? 양식을 통해? – Niro

+0

'$ variable'이 NULL이면, 아무 것도 출력하지 않습니다 ... – bwoebi

+0

예, 폼을 통해 값을 가져옵니다. 위의 질문을 편집 해 보겠습니다. – kayle

답변

3

: 당신이 양식 코드를 게시 후, 나는이 것을 할 수있는 문제를 발견

구문이 다소 정확 해 보이기 때문에 입력 값이 비어있을 수 있습니다. 유효성을 확인하려면 view-source을 통해 값을 다시 확인하십시오. 당신의 편집하기 전에


: 사실 변수가 하지 설정되어 있기 때문에

오류는 ocurring된다. 양식은 다음과 같습니다 확인하십시오 :

위와 같이
<form action="yourpage.php"> 
<input name="fname" type="text" /> 
<input name="lname" type="text" /> 
<input name="hca" type="text" /> 
<input name="tfid" type="text" /> 
</form> 

_GET 변수는 이름 속성을 찾고 있습니다. 초보자들 사이에 공통적 인 실수는 (모두가 한 번에 또는 다른 것으로 유죄로 판명되었습니다) name 대신 id을 사용하는 것입니다. id은 선택기 용도로 사용되는 반면 name은 종종 서버 측에서 값을 검색하는 데 사용됩니다. 명심해야 할

뭔가 .... @George 커민스는 $_GET 매개 변수과 같이 URL을 통해 전달되는, 당신도 알고 있어야 언급 한 바와 같이

:

http://yoururl.com?var1=data1&var2=data2 

일부에서는 경우 양식을 통해 전송되는 모든 데이터를 사용자가 볼 수 없도록하려면 을 사용하고 본질적으로 양식의 데이터의 숨겨진 전달을 사용해야합니다. 사실이 데이터는 실제로 숨겨져 있지는 않지만 $_GET을 사용하는 것보다 확실히 숨겨져 있습니다.

+0

이것은 정답입니다. 추가 문제 해결은 대상 페이지의 URL 매개 변수를 보면 수행 할 수 있습니다. GET 요청은 URL의 필드 및 데이터를 표시합니다. –

+0

@GeorgeCummins 좋은 답변, 원래 답변에 추가되었습니다. –

+0

get 함수를 사용하면 변수가 URL에서 전달되어야합니다. 나는 내가 원하는 것만 큼 그렇게 할 수 없다 :) – kayle

관련 문제