2012-06-27 2 views
0

누군가가 나를 도와 줄 수 있는지 궁금합니다.더 이상 작동하지 않는 세션 변수

내가 내가 내가 해결책을 볼 수있는이 문제를보고 눈의 신선한 쌍을 필요로 생각합니다.

아래의 양식을

는 MySQL 데이터베이스에서 개최 Location records을 나열하는 데 사용됩니다. 코드 아래 사용

<form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php"> 

            <?php 

             $query = "SELECT * FROM `table` WHERE `userid` = '$idnum' ORDER BY locationname"; 
             $result = mysql_query($query) or die('error'); 
             $num = mysql_numrows($result); 
             mysql_close($connect);     
             $i=0; 
             while ($i < $num) { 
             $lid=mysql_result($result,$i,"locationid"); 
             $lname=mysql_result($result,$i,"locationname"); 
             $laddress=mysql_result($result,$i,"returnedaddress"); 

          <tr> 
           <td><input type="text" id="lid" name="lid" value="<?=$lid?>"/></td> 
           <td><div align="center"><?php echo $lname;?></div></td> 
           <td><div align="left"><?php echo $laddress;?></div></td> 
           <td><div align="center"><?php echo $findscount?></div></td> 
           <td><div align="center"><input name="type" type="submit" value="View Details"/></div></td> 
           <td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td> 
           <td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td> 
           <td><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td> 
          </tr> 

    </form> 

, 내 양식의 끝 부분에있는 네 개의 버튼은 모든 $lid variable를 통해 Location record에 다시 연결된 네 개의 별도의 화면에 사용자를 취할.

<?php session_start(); 
$_SESSION['lid'] = $_POST['lid']; 
if (isset($_POST['type'])) { 
    $urls = array(
     'View Details' => 'viewlocation.php', 
     'Add Finds' => 'addfinds.php', 
     'Add Images' => 'addimages.php', 
     'View Location Finds' => 'locationfinds.php' 
    ); 
    $url = $urls[$_POST['type']]; 
    header("Location: " . $url); 
} 
?> 

네 개의 수신 형태의 모든

그러므로이 변수를 캡처 할 각 페이지의 상단에이 $lid = $_SESSION['lid']; 있습니다.

이 아키텍처는 며칠 전에까지 완벽하게 작동하고, 지금은 모든 틀려서 사라와 나는 이유를 모르겠어요. 내 양식의이 필드 <input type="text" id="lid" name="lid" value="<?=$lid?>"/>이 정확한 값을 보유하고 있다는 것을 알고 있습니다.

그러나 아무리 많아도 버튼을 클릭하면 올바른 수신 화면으로 이동하지만 목록의 마지막 '위치'레코드가 항상 표시됩니다.

난 그냥 내가 잘못 여기서 뭘하는지 찾거나 지금 나에게 문제가 발생하기 시작 왜 이해할 수없는 것. Chrome에서 자바 스크립트 콘솔을 확인했는데 오류가 표시되지 않습니다.

난 그냥 사람이 아마도 내가 잘못된거야 어디이 알려 주시기 바랍니다 이것 좀보세요 수 있는지 궁금.

'mysql_numrows'

해야합니다 :

'mysql_num_rows도'

+2

'$ num = mysql_numrows ($ result);'??? 이 함수는 mysql_num_rows()라고 불린다. –

+1

또한, 행을 검색하기 전에 mysql_close()를 통해 연결을 닫는다. –

+0

안녕하세요 @ 마이클, 이걸 도와 주셔서 감사합니다. 나는 무슨 일이 일어날지를보기 위해 코드를 수정했고, 불행히도 문제는 여전히 발생하고 있습니다. 많은 감사와 인사 – IRHM

답변

1

의 모든 당신의 "뚜껑"입력

많은 감사와 종류에 관해서는

+0

안녕하세요 @Donatas Olsevičius, 저는 아주 조금 천천히 여기에 미안합니다. 양식 태그를 옮겨야하는 곳을 좀 더 자세히 설명해 주시겠습니까? 많은 thanks and kind regards – IRHM

+0

필요한 코드로 내 게시물을 업데이트했습니다. –

+0

안녕하세요 @ Donatas Olsevičius, 정말 고마워요. 나는 당신의 제안에 대한 나의 코드를 수정했고 불행히도 나열된 위치 대신에 단지'오류'라고 말하는 화면 상 오류가있다.많은 감사와 친절한 답변 – IRHM

1

당신은 오타가 같은 형식입니다. 양식을 제출하면 모든 값이 전송되고 마지막 값만 $ _POST 배열에 저장됩니다. 양식 태그를 루프 안쪽으로 이동하면 (즉, 여러 양식을 생성한다는 의미입니다) 잘 작동해야합니다.

<?php 

$query = "SELECT * FROM `table` WHERE `userid` = '$idnum' ORDER BY locationname"; 
$result = mysql_query($query) or die('error'); 
$num = mysql_num_rows($result); 
mysql_close($connect); 
$i = 0; 
while ($i < $num) { 
    $lid=mysql_result($result,$i,"locationid"); 
    $lname=mysql_result($result,$i,"locationname"); 
    $laddress=mysql_result($result,$i,"returnedaddress"); 

    ?><form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php"> 
     <table> 
      <tr> 
       <td><input type="text" id="lid" name="lid" value="<?=$lid?>"/></td> 
       <td><div align="center"><?php echo $lname;?></div></td> 
       <td><div align="left"><?php echo $laddress;?></div></td> 
       <td><div align="center"><?php echo $findscount?></div></td> 
       <td><div align="center"><input name="type" type="submit" value="View Details"/></div></td> 
       <td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td> 
       <td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td> 
       <td><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td> 
      </tr> 
     </table> 
    </form><?php 
} 
+0

안녕하세요 @maxhud. 이걸 도와 주셔서 고맙습니다. 나는 변화를 만들었지 만, 불행하게도 나는 여전히 같은 문제가있다. 친절하고 감사합니다. – IRHM

관련 문제