Forum
Merhaba , Php ile Delete işlemi yapmaya çalışıyorum ürün sildindi diyor fakat veri silnmiyor Kodlarımı inceleyerek yardımcı olabilirseniz sevinirim.
Silme işlemini yapan kodum
<?php
include '../db/db.php';
$urunsil = $_POST["ids"];
if (isset($_POST["ids"])) {
$db->query("DELETE FROM urunler WHERE id='$urunsil' ");
if($db) {
echo '<div class="ad-notif-success grid_12 small-mg"><p>Ürün Başarıyla Silindi.</p></div>';
echo '<meta http-equiv="refresh" content="1;url=../a_urunlist.php" />';
} else {
echo '<div class="ad-notif-error grid_12 small-mg"><p>Ürün Silinirken Hata Oluştu.</p></div>';
echo '<meta http-equiv="refresh" content="1;url=../a_urunlist.php" />';
}
} else {
echo '<div class="ad-notif-error grid_12 small-mg"><p>Ürün Bulunamadı.+++++++++++++</p></div>';
echo '<meta http-equiv="refresh" content="1;url=../a_urunlist.php" />';
}
?>
Buttondan giden veri
localhost/mypanel/islem/urun_sil.php?ids=25
Buda Buttonum
a href="islem/urun_sil.php?ids=<?php echo $urunler->id; ?>" class='btn btn-delete' title="Ürünü Sil"><img src="cross.png" alt=""></a>
Veriyi adres çubuğundan gönderiyorsunuz $_POST değil $_GET metodunu kullanacaksınız
Gözümden Kaçmış Yorgunluktan çok teşkkür ederim id elle girip denemem gerekirdi
Bu arada,
Veriyi filtrelemeden sorgulamaya alman güvenlik açısından tehlikeli bir durum içeriyor, Eğer veriyi 'WHERE' için kullanacaksan mysql_real_escape_string() fonksiyonunu, gelen veriyi kayıt, güncelleme verisi olarak kullanacaksan (HTML taglarına izin vermek istemiyorsan) htmlspecialchars() ile birlikte kullanmakta fayda var sonradan baş ağrısı yapabilir bazıları sözde hacklemek için deneme yanımla yaparlar bu olayı.
user access level Olayını çözemedim.. user-admin sistemi
Kullanıcı Paneli ile admin paneli aynı yerde
Kullanıcı Menüsü
Anasayfa
Üye profili
Ürünler vs
Admin panel
ürün ekle
kullanıcı İşlemleri vs
Kullanıcı seviyesi "1 " olunca admin panel görünmüyecek seviye "2 " olunca hem user hemde admin panel güzükecen
Giriş denetimi
<?php
$username = mysql_real_escape_string($_POST['kullanici_adi']);
$password = md5($_POST['kullanici_sifre']);
if ( isset($_POST['kullanici_adi']) AND isset($_POST['kullanici_sifre']) ) {
$girisKontrolQuery = $db->get_var("SELECT count(*) FROM user WHERE kullanici_adi='$username' AND sifre='$password'");
if($girisKontrolQuery != 1) {
echo '<meta http-equiv="refresh" content="0;URL=index.php?durum=hata">';
} else {
session_register("username");
session_register("password");
$_SESSION["oturum_acikmi"] = true;
$_SESSION["username"] = $username;
$_SESSION["password"] = $password;
header("Location:sayfa.php");
}
}
?>
user level için veritabanınızda user level ile ilgili tablo oluşturmalısınız !!
Daha
sonra bu tablodaki veriyi giriş yapan user için girişdenetimi
sayfanızda session olarak atayıp daha sonra if dongusu ile gerekli
yetkilendirmeleri yapabilrsiz....
örnek ;
<?php
if ( $session['yetki'] == '1' )
{
echo 'Siz Adminsiniz !!' ;
}
?>
gibi ....
umarım yardımcı olmuştur...
Teşekkürler yanlız Benim kodumun üzerinde değişiklik yaparak ayza bilirseniz sevinirim
User tablosunda "seviye" diye sütün var denetleme esnasında girilen kullanıcının seviye bilgisini seçip session olarak kaydederse bende
<?php if ((int)$_SESSION['seviye'] == '2') { ?>
Menü
adminn panel
üye yönetimi
<?php } >
admin paneli çıkarta bilirim diye düşünüyorum
SELECT count(*) FROM user WHERE kullanici_adi='$username' AND sifre='$password' AND seviye='$seviye'" yaptığımda giriş yapmıyor seviyeyi çektiremedim
uye girişinde yaptığınız sorguda herhangi bi değişiklik yapmanıza gerek yok..
yapmanız gereken tek şey giriş yapan uyenin sql 'den verilerini çekip bunu session'lara atamak ..
kullandığınız database fonksiyonlarınızı bilmediğim için gerekli sorgulamayı şuan kodunuz uzerinde gostermem mumkun değil..
mysql_fetch_assoc funksiyonu ile bunu yapabilirsiniz...
Teşekkürler yanlız Benim kodumun üzerinde değişiklik yaparak ayza bilirseniz sevinirim
User tablosunda "seviye" diye sütün var denetleme esnasında girilen kullanıcının seviye bilgisini seçip session olarak kaydederse bende
<?php if ((int)$_SESSION['seviye'] == '2') { ?>
Menü
adminn panel
üye yönetimi
<?php } >
admin paneli çıkarta bilirim diye düşünüyorum
SELECT count(*) FROM user WHERE kullanici_adi='$username' AND sifre='$password' AND seviye='$seviye'" yaptığımda giriş yapmıyor seviyeyi çektiremedim
Örnek açısından Şöyle kullanabilirsiniz
$kullaniciadi = mysql_real_escape_string($_POST['user']);
$parola = md5($_POST['pass']);
$sorgu = mysql_query("SELECT * FROM user WHERE kullaniciadi='$kullaniciadi' AND parola='$parola'");
if (mysql_num_rows($sorgu) > 0){
$seviye = mysql_fetch_array($sorgu);
if ($seviye['seviye'] == '2'){
echo 'Admin ve kullanıcı paneline girebilirsin';
}elseif ($seviye['seviye'] == '1'){
echo 'sadece kullanıcı paneline girebilirsin';
}else {
echo 'Panellere girme yetkin yok';
}
}else {
echo 'Kullanıcı adı veya parola yanlış';
}
İster sessiona seviye bilgisi atayın ister her seferinde sorgulama yapın tercih sizin
teşekkürler çok yayarlı oldu