2012-02-04 2 views
1

이전에 질문했지만 코드는 여전히 작동하지 않습니다.mysql의 필드 변수에 따라 로그인 후 [위치]로 이동하십시오.

나는 잘 작동하는 로그인 시스템을 가지고 있지만 다음 단계는 1, 2, 3, 4 또는 5 인 메달을 가지고 각 사용자를 리디렉션하는 것입니다. mysql 데이터베이스에서 각 사용자 이름과 비밀번호에 대해 5 개의 금액 중 1 개의 금액으로 채워지는 메달이라는 필드가 있어야합니다.

그래서 나는이 개 메달 로그와 사용자가 내가 그것을 위치 'page2.html'가고 싶은에 경우 위치 'page1.html'

에 가고 싶어 1 메달 로그와 사용자를 말할 수

3 메달이있는 사용자가 로그인하면 'page3.html'등의 위치로 이동하기를 원합니다.

나는 다음 코드를 시도했지만 성공적으로 리디렉션하지 않습니다

// Check username and password match 
    if (mysql_num_rows($login) == 1) { 
      // Set username session variable 
      $_SESSION['username'] = $_POST['username']; 
      // Jump to secured page 
      $row = mysql_fetch_row($sql); 
    switch ($row['medals']): 
     case 1: 
      header('location: page1.html'); 
      exit; 
     case 2: 
      header('location: page2.html'); 
      exit; 
     case 3: 
      header('location: page3.html'); 
      exit; 
     case 4: 
      header('location: page4.html'); 
      exit; 
     case 5: 
      header('location: page5.html'); 
      exit; 
} 
else { 
     // Jump to login page 
     header('Location: login.php'); 
} 

?> 

도움 당신은 $row = mysql_fetch_row($login);

mysql_fetch_row()$row = mysql_fetch_row($sql);을 변경해야

+0

유용 할 수있다? '$ row [ 'medals']'는 1-5이고 당신의 생각을 담고 있습니까? – drew010

+0

안녕하세요 예, 예를 들어 mysql의 '메달'입력란에 기본값 2 '메달'이있는 사람의 사용자 이름과 비밀번호를 입력하면 page2.html로 가야합니다. 대신 위에있는 페이지로 이동합니다 (loginupdate.php)와 그 빈 데이터가 없습니다. 그래서 그것은 성공적으로 로그인하지만 그것은 $ row = mysql_fetch_row ($ sql)에서 함수를 수행 할 수 없습니다; 앞으로는 어딘가에 오류가 있습니다 – user1188711

답변

0

좋은 것이었다 자원 소요 SQL 쿼리 문자열이 아닌 mysql_query()에서 반환되었습니다 (mysql_num_rows()에 전달 된 동일한 변수.

).

도움이되는지 확인하십시오. 예기치 않은 값이 메달 열에 들어갈 경우를 대비하여 홈페이지로 리디렉션되는 기본 사례를 원할 수도 있습니다.

+0

도와 주셔서 감사합니다. 나는 아무 쓸모없는 것을 시도했다. 메달 값은 데이터베이스에 저장됩니다. 난 그냥이 값을 비교하고 1,2,3,4 또는 5 위의 5 링크 중 하나에 mysql의 값에 따라 갈 것입니다. 코드가 제대로 작동 할 수 있습니까? – user1188711

+0

데이터베이스에 저장된 특정 사용자 이름과 암호로 로그인하고 있습니다. 이 사용자 이름 및 패스에는 '메달'필드가 '2'로 설정되어 있습니다. INT로 저장하고 'value'열에 2의 값을 삽입했습니다. 이 'mysql'mysql에 '페칭'타입으로 저장해야합니다. 감사합니다. – user1188711

+0

몇 줄에서 볼 수 있습니다. mysql_fetch_row를 호출 한 후'var_dump ($ row)'를 추가해보십시오. – drew010

0

확인이 대신 성공적으로 재 지정으로 어떻게됩니까

$listQry = 'SELECT * FROM medals'; 
$listRes = mysql_query($listQry); 
while($listRow = mysql_fetch_row($listRes)): 
     $data[] = $listRow[0]; 
endwhile; 


foreach($data as $k=>$v): 

    switch($data[$k]): 
     case 1 : header('Location: page1.html');exit;break; 
     case 2 : header('Location: page2.html');exit;break; 
    endswitch; 

endforeach; 
관련 문제