| |
Forum PHP IndonesiaDapatkan pertolongan pertama pada kebingungan PHP dan sekitarnya |
|
|
|
|
|
| |
|
|
All times are GMT + 7 Hours
|
|
Error saat Login
 |
Mon Aug 02, 2010 06:53 |
 |
Author |
Message |
Justin Anak Baru

Joined: 02 Aug 2010 Posts: 1
|
| Post subject: Error saat Login |
|
|
master2, suhu2, guru2 php disini...
ane nubi nih soal PHP, beli buku PHP from Zero to Hero dari Andy, awal2nya ngerti tapi pas skript beneran ane bingung, masalahnya ga tahu, apakah karena session, atau location:
klo session ane dah coba cek ga ada echo sebelum load, dan udah coba pake cara ob_start(); error header already sent sih ga muncul, tp hasilnya salah/ga bs login. berikut kode-nya.
| Quote: | | maaf klo kepanjangan, om momod tolong dihapus jk mmg kepanjangan. |
login.php
| Code: | <?php $pesan = $_GET["pesan"];
if (empty($pesan))
$pesan = "Silakan Login";
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<center>
<form name="formlogin" method="post" action="cekpass.php">
<table width="264" border="2" bgcolor="#CCFFFF"
cellspacing="-" cellpadding="-">
<tr align="center">
<td colspan="3"><img src="../citra/key.gif"><?php echo "<b>$pesan</b>"; ?>
</td>
</tr>
<tr>
<td width="78">User ID:</td>
<td width="178" colspan="2"><input name="textuserid" type="text"
size="10" maxlength="8"></td>
</tr>
<tr>
<td>Password: </td>
<td colspan="2"><input name="textpassword" type="password"
size="20" maxlength="20"></td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="submit" name="tombollogin"
value="Login"></td>
</tr>
</table>
</form>
</center>
</body>
</html> ?> |
cekpass.php
| Code: | <?php require_once "otentik.php";
$user_id = $_POST["textuserid"];
$password = $_POST["textpassword"];
if (password_ok($user_id, $password))
{
//ob_start();
session_start();
$kategori = ambil_kategori($user_id);
$_SESSION["user_id"] = $user_id;
$_SESSION["password"] = $password;
$_SESSION["kategori"] = $kategori;
header("Location: utama.php");
exit();
//ob_end_flush();
}
else
{
header("Location: login.php?" .
"pesan=User ID/Password salah");
exit();
}
?>
</body>
</html> ?> |
otentik.php
| Code: | <?php require_once $_SERVER['DOCUMENT_ROOT'] .
"/zero/aksesdb.php";
function password_ok($user_id, $password)
// Menghasilkan TRUE kalau user_id dan password valid
{
$id_mysql = mysql_connect(SERVER_NAME, USER_NAME,
PASSWORD);
if (! $id_mysql)
return FALSE;
$db_personalia = mysql_select_db("personalia", $id_mysql);
if (! $db_personalia)
return FALSE;
$sql = "SELECT password, kategori FROM user " .
"WHERE user_id = '$user_id'";
$hasil = mysql_query($sql, $id_mysql);
if (! $hasil)
return FALSE;
$baris = mysql_fetch_row($hasil);
$passw_di_db = $baris[0];
$kategori = $baris[1];
$passw_user = md5($password);
if ($passw_user == $passw_di_db)
return TRUE;
else
return FALSE;
}
function otentikasi_ok()
// Menghasilkan TRUE kalau user_id dan password ok
{
session_start();
if (empty($_SESSION["user_id"]))
return FALSE;
$user_id = $_SESSION["user_id"];
$password = $_SESSION["password"];
$kategoru = $_SESSION["kategori"];
if (password_ok($user_id, $password))
{
$id_mysql = mysql_connect(SERVER_NAME, USER_NAME,
PASSWORD);
$db_personalia = mysql_select_db("personalia", $id_mysql);
$nama_skrip = $_SERVER["PHP_SELF"];
$sql = "SELECT hak FROM akses " .
"WHERE skrip = '$nama_skrip'";
$hasil = mysql_query($sql, $id_mysql);
$baris = mysql_fetch_row($hasil);
$hak = $baris[0];
mysql_close($id_mysql);
if (strpos($hak, $kategori) === FALSE)
return FALSE;
else
return TRUE;
}
else
return false;
}
function ambil_kategori($user_id)
// Menghasilkan:
// A = kalau user_id adalah Admin
// U = kalau user_id adalah pemakai biasa
// FALSE = kalau gagal
{
$id_mysql = mysql_connect(SERVER_NAME, USER_NAME,
PASSWORD);
if (! $id_mysql)
return FALSE;
$db_personalia = mysql_select_db("personalia", $id_mysql);
if (! $db_personalia)
{
mysql_close($id_mysql);
return FALSE;
}
$sql = "SELECT kategori FROM user " .
"WHERE user_id = '$user_id'";
$hasil = mysql_query($sql, $id_mysql);
if (! $hasil)
{
mysql_close($id_mysql);
return FALSE;
}
$baris = mysql_fetch_row($hasil);
$kategori = $baris[0];
mysql_close($id_mysql);
return $kategori;
}
?> ?> |
aksesdb.php
| Code: | <?php define(SERVER_NAME, "localhost", TRUE);
define(USER_NAME, "userphp", TRUE);
define(PASSWORD, "php123", TRUE);
?> ?> |
Buat Master2 PHP terima kasih sudah membantu nubi ini.. |
|
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
|
|
|
|
Powered by phpBB © 2001, 2002 phpBB Group
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|