Problem Change Password dengan php

Selamat pagi senior2, saya mau bertanya tentang change password, sblmnya saya sudah membuat form nya dan code nya.

saya sudah menjalankan pasword telah berubah ketika programnya dijalankan, tetapi saya lihat di database nya tidak berubah. padahal pesannya berhasil dirubah.

databasenya : tabel user (fieldnya hanya username,password,level).

apa yang salah dengan kodingannya, berikut saya lampirkan code nya :

 <!DOCTYPE html>
<html lang="en">
<head>
	<title>Change Password</title>
<head>
<body>

	<h2>Rubah Password</h2>

	<?php
	//mengatasi error notice dan warning
	//error ini biasa muncul jika dijalankan di localhost, jika online tidak ada masalah
	error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

	//koneksi ke database
	$con = new mysqli("localhost", "root", "", "mynotescode");
	if ($con->connect_errno) {
		echo die("Failed to connect to MySQL: " . $con->connect_error);
	}

	//proses jika tombol rubah di klik
	if($_POST['submit']){
		//membuat variabel untuk menyimpan data inputan yang di isikan di form
		$password_lama			= $_POST['password_lama'];
		$password_baru			= $_POST['password_baru'];
		$konfirmasi_password	= $_POST['konfirmasi_password'];

		//cek dahulu ke database dengan query SELECT
		//kondisi adalah WHERE (dimana) kolom password adalah $password_lama di encrypt m5
		//encrypt -> md5($password_lama)
//		$password_lama	= md5($password_lama);
		$password_lama	= $password_lama;
		$cek 			= $con->query("SELECT password FROM user WHERE password='$password_lama'");

		if($cek->num_rows){
			//kondisi ini jika password lama yang dimasukkan sama dengan yang ada di database
			//membuat kondisi minimal password adalah 4 karakter
			if(strlen($password_baru) >= 4){
				//jika password baru sudah 4 atau lebih, maka lanjut ke bawah
				//membuat kondisi jika password baru harus sama dengan konfirmasi password
				if($password_baru == $konfirmasi_password){
					//jika semua kondisi sudah benar, maka melakukan update kedatabase
					//query UPDATE SET password = encrypt md5 password_baru
					//kondisi WHERE id user = session id pada saat login, maka yang di ubah hanya user dengan id tersebut
			//		$password_baru 	= md5($password_baru);
					$password_baru 	= $password_baru;
					$username 		= $_SESSION['username']; //ini dari session saat login

					$update 		= $con->query("UPDATE user SET password='$password_baru' WHERE username='$username'");
					if($update){
						//kondisi jika proses query UPDATE berhasil
						echo 'Password berhasil di rubah';
					}else{
						//kondisi jika proses query gagal
						echo 'Gagal merubah password';
					}
				}else{
					//kondisi jika password baru beda dengan konfirmasi password
					echo 'Konfirmasi password tidak cocok';
				}
			}else{
				//kondisi jika password baru yang dimasukkan kurang dari 4 karakter
				echo 'Minimal password baru adalah 4 karakter';
			}
		}else{
			//kondisi jika password lama tidak cocok dengan data yang ada di database
			echo 'Password lama tidak cocok';
		}
	}
	?>

	<!-- mulai form rubah password -->
	<form method="post" action="">
		<table>
			<tr>
				<td>Password Lama</td>
				<td>:</td>
				<td><input type="password" name="password_lama" required></td>
			<tr>
			<tr>
				<td>Password Baru</td>
				<td>:</td>
				<td><input type="password" name="password_baru" required></td>
			<tr>
			<tr>
				<td>Konfirmasi Password</td>
				<td>:</td>
				<td><input type="password" name="konfirmasi_password" required></td>
			<tr>
			<tr>
				<td> </td>
				<td></td>
				<td><input type="submit" name="submit" value="Rubah"></td>
			<tr>
		</table>
	</form>
	<!-- selesai form rubah password -->
</body>
</html>

mohon maaf jika ada kesalahan dalam penulisan, Terima kasih

avatar jayy
@jayy

2 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

4 Jawaban:

udah pernah coba echo $_SESSION['username']? kalo ga muncul brarti harusnya itu udah bener sih.. cuma gara2 gada session start si session username ga kebaca

avatar apem
@apem

72 Kontribusi 27 Poin

Dipost 6 tahun yang lalu

mohon maaf mas masih belum begitu mengerti php, jadi untuk penambahan script2 masih dalam pembelajaran mas. jika tidak keberatan boleh dibantu/ditambahkan penggunaan echo session di kodingan sudah ada seperti apa.

Terima kasih

avatar jayy
@jayy

2 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

setelah di cek untuk koding di atas $_SESSION['usernamenya'] nggak kebaca solusinya bagaimana ya Mintz?

avatar hendrinawawi
@hendrinawawi

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

echo $_SESSION['username']; munculnya apa ? jika tidak muncul tambahkan session_start() di baris paling atas

avatar Rozul
@Rozul

44 Kontribusi 20 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban