İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Admin Girisi Sorun

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
merhaba arkadaslar admine bir türlü giris yapamiyorum dosya sekillerini altda vericem sizlere acaba ne gibi bir yanislik var


tablosu

-----------------------
# Table structure for table `drinksadmin`
#

CREATE TABLE `drinksadmin` (
`username` varchar(20) NOT lisanssız default '0',
`password` varchar(20) default lisanssız,
PRIMARY KEY (`username`)
) TYPE=MyISAM;

#
# Dumping data for table `drinksadmin`
#

INSERT INTO `drinksadmin` (`username`, `password`) VALUES ('admin','admin');
# --------------------------------------------------------



connection.php

<?
$dbServer="localhost";
$dbuserName="root";
$dbpassword="sifre";
$dbName="root";
$con=mysql_connect ($dbServer, $dbuserName, $dbpassword) or die ('Cannot connect to the database.');
$db=mysql_select_db ($dbName);
session_start();
?>


login dosyasi



<?
include("connection.php");
$username=trim($username);
$password=trim($lpassword);
if($username=="" || $password =="")
{
header("Location: index.php?error=wu");
exit;
}
$sql="select password from drinksadmin where username='$username'";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$dbpass=$row[0];
}
if($dbpass==$password)
{
session_start();
$admin_username=$username;
session_register("admin_username");
}
else
{
header("Location: index.php?error=wu");
exit;
}
?>



admin ana sayfa


<?
include("login.php");
?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="stylesheet.css" type="text/css">

<title>Control Panel</title>
<script language="JavaScript">
<!--
function checkifvalid(){
if (window.document.myform.username.value=="")
{
alert("Kindly enter your user name!");
window.document.myform.username.focus();
return false;
}
if (window.document.myform.lpassword.value=="")
{
alert("Kindly enter your password!");
window.document.myform.lpassword.focus();
return false;
}

return true;
}
</script>
</head>
<script language="JavaScript">
<?php
if(isset($error))
{
if($error=="wu")print("alert('Invalid Username and password!');");
if($error=="lo")print("alert('Your session has expired!');");
}
?>
</script>
</head>
 

Raiden

0
İyinet Üyesi
Katılım
13 Ocak 2005
Mesajlar
339
Reaction score
0
hosting serverinde REGISTER_GLOBALS Kapalı Olmayabilir Bu Durum da

$username ve $password yerine $_POST['username'] ve $_POST['password'] kullanmalısın
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
$username=trim($username);
$password=trim($lpassword);

$username=trim($_POST[username]);
$password=trim($_POST[lpassword]);

-

not: posttan gelen değişken Lpassword olarak girilmiş, orada l olduğundan emin olun..
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
atay dostum


$username=trim($_POST[username]);
$password=trim($_POST[lpassword]);

bu sekilde degistigim zaman login.php yi ana index e girdim fakat ordan menulere bastigimda tekrar sifre isdiyor
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
menulere bastığında gittiğin sayfaların kodlarından oturum kontrolunu yapan bölümleri yazar mısın inceliyeyim.
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
addcategory.php mesela bu


<?
include("connection.php");
include("checksession.php");
include("functions.php");
if(isset($groupname))
{
$sql="insert into recipescategory(catname) values('$groupname')";
$res=mysql_query($sql);
$uniqid=mysql_insert_id();
$msg="lo";
}
?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="stylesheet.css" type="text/css">

<title>Control Panel</title>
<!-- European format dd-mm-yyyy -->
<script language="JavaScript" src="calendar1.js"></script><!-- Date only with year scrolling -->
<!-- American format mm/dd/yyyy -->
<script language="JavaScript" src="calendar2.js"></script><!-- Date only with year scrolling -->

<script language="JavaScript">
<!--
function checkifvalid(){
if (window.document.myform.groupname.value=="")
{
alert("Kindly enter the Category Name!");
window.document.myform.groupname.focus();
return false;
}
return true;
}
</script>
</head>
<script language="JavaScript">
<?php
if(isset($msg))
{
if($msg=="lo")print("alert('Category Added!');");
}
?>
</script>
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
editsetting.php dosyasida bu


<?
include("connection.php");
include("checksession.php");
include("functions.php");
if(isset($adminemail))
{
saveSetting("URLDOMAIN",$domain);
saveSetting("EXTRATOKEN_FIELD1",$extratokenfield);
saveSetting("ADMINEMAIL",$adminemail);
saveSetting("MODERATOREMAIL",$moderatoremail);
if($autosignup=="")$autosignup="Y";
saveSetting("AUTOSIGNUP",$autosignup);
if($approvecom=="")$approvecom="N";
saveSetting("APPROVECOMMENTS",$approvecom);
if(is_numeric($toprated))saveSetting("TOPRATEDSIZE",$toprated);
if(is_numeric($seresults))saveSetting("SEARCHRESULTSIZE",$seresults);
saveSetting("RATINGSIMAGE",$ratingsimage);
saveSetting("EXTRARECIPEFIELD",$extrarecipefield);
}
$domain=getSetting("URLDOMAIN");
$adminemail=getSetting("ADMINEMAIL");
$moderatoremail=getSetting("MODERATOREMAIL");
$autosignup=getSetting("AUTOSIGNUP");
$approvecom=getSetting("APPROVECOMMENTS");
$toprated=getSetting("TOPRATEDSIZE");
$seresults=getSetting("SEARCHRESULTSIZE");
$ratingsimage=getSetting("RATINGSIMAGE");
$extrarecipefield=getSetting("EXTRARECIPEFIELD");
$extratokenfield=getSetting("EXTRATOKEN_FIELD1");

?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="stylesheet.css" type="text/css">
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
<?
session_start();
if(!$admin_username){
header("location:index.php?error=lo");
}
?>
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
funcistion da bu


<?
$urldomain=getSetting("URLDOMAIN");
function sendHTMLmail($fromid,$to,$subject,$message)
{
$headers = "From: $fromid\n";
$headers .= "Reply-To: $fromid\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit;\n\n";
$headers .= stripslashes($message);
$headers .= "\n";
@mail("$to", "$subject", "", "$headers");
}
function getSetting($val)
{
$sql="select * from recipesettings where setting='$val'";

$res=mysql_query($sql);
while($obj=mysql_fetch_object($res))
{
return $obj->settingvalue;
}
}
function getTemplate($val)
{
$sql="select * from recipesemailtemplates where usedfor='$val'";

$res=mysql_query($sql);
while($obj=mysql_fetch_object($res))
{
return $obj->template;
}
}
function saveSetting($key,$val)
{
$sql="update recipesettings set settingvalue='$val' where setting='$key'";
$res=mysql_query($sql);
}
function saveTemplate($key,$val)
{
$sql="update recipesemailtemplates set template='$val' where usedfor='$key'";
$res=mysql_query($sql);
}

function getRatings($id)
{
$sql1="select * from recipesratings where recipeid=$id";
$result1=mysql_query($sql1);
if(!mysql_num_rows($result1))
{
$rating="Not rated yet";
$textrating="Not rated yet";
}
else
{
$sql1="select * from recipesratings where recipeid=$id";
$result1=mysql_query($sql1);
while($obj=mysql_fetch_object($result1))
{
$pos=$obj->avgrating;
$textrating="$obj->avgrating from $obj->numvotes votes";
$imrating="Rated $obj->avgrating from $obj->numvotes votes";
}

$rating="";
for($i=0;$i<floor($pos);$i++)
$rating=$rating."<img alt='$imrating' src='../images/starp.gif'>";
$numleft=5-$i;
if(($pos-$i)>=0.5)
{
$numleft=$numleft-1;
$rating=$rating."<img alt='$imrating' src='../images/starm.gif'>";
}
for($i=0;$i<$numleft;$i++)
$rating=$rating."<img alt='$imrating' src='../images/starn.gif'>";
}
if(getSetting("RATINGSIMAGE")=="Y")return $rating;else return $textrating;
}
?>
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
<?
session_start();
if(!$admin_username){
header("location:index.php?error=lo");
}
?>

<?
session_start();
if (!session_is_registered("admin_username")){
header("location:index.php?error=lo");
}
?>
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
script register globalsin kapalı olduğu serverlar için yazılmış. scriptin içinde ki tüm get, post ve session alımlarının kodlarının değiştirilmesi lazım veya serverdaki register globals ayarının değişmesi lazım.

yukarıdaki kodla yönetim paneline giriş sorununu çözersiniz fakat scriptin genelinde bol bol sorun yaşayabilirsiniz.
 

Aristograt

0
İyinet Üyesi
Katılım
27 Kasım 2007
Mesajlar
0
Reaction score
0
atay ustacim ellerine saglik Allah razi Olsun hepinizden Raiden sendende Allah Razi Olsun dostum Hepinize Cok minnettarim
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
session,post ve get gibi globalleri, $_SESSION, $_POST, $_GET şeklinde kullanın.
$degisken, session_register, if ($degisken) gibi yazmaya başlarsanız bugün çalışsa bile yarın server değiştiğinde baş ağrıtır.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
session_is_registered ne gibi server konfigürasyonlarında sorun çıkartabiliyor?
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
session_is_registered ne gibi server konfigürasyonlarında sorun çıkartabiliyor?

Konfigurasyonda sorun çıkarmıyor, PHP.ini icindeki ayarlarda degisiklikler(ornek register_globals) POST ve GET ile alinan verilerin degiskene tanimlanamamasina neden olabiliyor bu nedenle;

if($degisken) yerine, data post edilyiorsa if ($_POST['degisken']) seklinde kullaniniz diyor ve katiliyorum dogru soyluyor. Bu sekilde kullanin boyle aliskanlik edinin..

session_is_registered mevzusu ise yine php.inideki ayarlardaki degisikliklerde session_is_registered sonucunu duzgun vermeyebilecegi icin soylenmis olabilir.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
evet, bunu biliyorum. zaten konuyu açan arkadaşın sorunuda bu. bu sebeple, $degisken yerine $_POST[degisken] kullandırdım.

session için, register globalsin açık olduğu serverlarda $_SESSION kullanılabildiği gibi session_is_registered'de kullanılabiliyor. nitekim ben hep böyle kullanırım.

session_is_registered, hangi server konfigürasyonunda sorun çıkartıyormuş onu merak etitm, bileyimde ona göre davranayım :) register globals ile bir sorun yaratmıyor çünkü.

edit: editlediğin için bende mesajımı editlemek zorunda kaldım :) işte sorduğum "yine php.inideki ayarlardaki degisikliklerde" o değişklik neymiş onu merak ettim.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Doğru session atama yöntemi artık, 4.bilmemkaçıncı versiyondan sonra,
$_SESSION['anahtar'] = 'deger';

Doğru check yöntemi de
isset($_SESSION['anahtar']) veyahut ($_SESSION['anahtar'] != '')

$_SESSION globalinin kullanıldığı yerlerde bu şekilde kontrol edilmesi öneriliyor (veya gerekli tam bilmiyorum) session_is_registered() kullanmayın deniyor PHP Manual'da. Mevcut durumda ne gibi sonuçlar veriyor bilmiyorum, ben hiç kullanmadım o fonksiyonu. ilerisi için söyledim.

http://us3.php.net/session_is_registered


Bir başka nokta da
session_register() çağrısı yapıldığında, session başlamamışsa bile otomatik olarak başlatılıyor. Ancak $_SESSION şeklinde kullanım için bu söz konusu değil. O yüzden session_start() çağırılması gerekiyor. session_register şeklinde alışanlara gelecekte o da sorun çıkartabilir.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
Caution

If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().

$_SESSION kullanıyorsanız, session_register kullanmayın diyor. yani ikisini aynı anda.

edit: ki login sayfasında session_register ile cookie yaratılmış. bu script için kontrolu session_is_registered ile yapmak en mantıklısı gibi duruyor.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst