2017-11-30 24 views
0

로그인하여 닉네임이나 암호를 변경할 수있는 페이지를 만들려고했습니다. mySQL 데이터베이스의 모든 것이 있지만 세션 변수에 ID를 저장하려고하면 작동하지 않습니다. 어떤 제안?PHP가 현재 사용자 ID가 작동하지 않음

저는 XAMPP를 사용하고 있습니다. 사용자는 데이터베이스 사용자의 테이블입니다. 매우 간단하기 때문에 로그인 양식 코드를 게시하지 않습니다.

모든 것이 연결되었지만 코드는 경고 또는 오류를 표시하지 않습니다.

login.php (조각) :

$sql = "SELECT * FROM users WHERE nickname = '$myusername' and pass = '$mypassword' and confirmed = 1"; 
    $result = mysqli_query($conn,$sql); 
    $row = mysqli_fetch_array($result,MYSQLI_ASSOC); 

    $count = mysqli_num_rows($result); 

    // If result matched $myusername and $mypassword, table row must be 1 row 

    if($count == 1) { 

     $logged = true; 

     while($row = mysqli_fetch_assoc($result)) { 
      echo "id: " . $row["id"]; 
      $_SESSION['currentId'] = $row["id"]; 
      echo 'Id: ' . $_SESSION['currentId']; 
     } 
    }else { 
    $error = "Your Login Name or Password is invalid"; 
    } 
} 

change.php (전체) : 도움을

<?php 
session_start(); 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "Users"; 
$currentId = $_SESSION['currentId']; 

if($currentId<1){echo 'No Id.';} 
else {echo 'CurrentId: '; 
echo $currentId;} 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully <br>"; 

if($_SERVER["REQUEST_METHOD"] == "POST") { 
    // username and password sent from form 

    $aCUname = mysqli_real_escape_string($conn,$_POST['CUname']); 
    $aCUpass = mysqli_real_escape_string($conn,$_POST['CUpass']); 

    $sql = "UPDATE users SET nickname = '$aCUname', pass = '$aCUpass' WHERE id = '$currentId';"; 
    $result = mysqli_query($conn,$sql); 
    echo 'Updated successfully.'; 
} 
?> 

감사합니다.

+2

1을 입력하면 모든 종류의 오류 처리가 표시되지 않습니다. –

+0

오류 메시지를 표시 하시겠습니까? –

+0

login.php 코드에서 mysql_fetch를 두 번 실행하고 있습니다. 행 포인터는 한 번의 mysql 반입을 실행 한 후 끝까지 도달합니다. 그래서 첫 번째 것을 제거하고 시도하십시오. –

답변

0

해결책이 있습니다. 방금 삭제해야만했습니다

$row = mysqli_fetch_array($result,MYSQLI_ASSOC); 

login.php. @Shashikumar Misal 덕분에!