Daftar dan Belajar Sekarang!

Problem Change Password dengan php

foto jayy
2 Kontribusi 0 Coto
1 tahun yang lalu
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

Tag: php


Jawaban
foto apem
72 Kontribusi 27 Coto
1 tahun yang lalu
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

foto jayy
2 Kontribusi 0 Coto
1 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

foto hendrinawawi
1 Kontribusi 0 Coto
2 minggu yang lalu
setelah di cek untuk koding di atas $_SESSION['usernamenya'] nggak kebaca solusinya bagaimana ya Mintz?

foto Rozul
38 Kontribusi 15 Coto
2 minggu yang lalu
echo $_SESSION['username']; munculnya apa ? jika tidak muncul tambahkan session_start() di baris paling atas


Login untuk diksusi di forum sekolah koding