Mesajın yayınlanması için onay

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesajın yayınlanması için onay

Mesaj gönderen callaki »

merhaba arkadaşlar
bir site için ziyaretçi defteri yaptım pek profesyonel olmasada küfür koruması karakter sınırı ve alanları doldurma zorunluluğu gibi önlemleri aldım fakat yine de içim rahat değil.Bu yüzden gelen mesajlara admin onayı eklemek istiyorum.Bunun nasıl yapılacağını bir çok scriptte inceledim fakat yine de size de sormak istedim.Bana bu konu hakkında elinde makale vb bişey varsa ve benimle payşaşırsa sevinirim.Ya da foruma yardımcı olacak kodları yazarsa minnettar kalırım.

Saygılarımla
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

Aslında çok basit bir mantığı var.

:arrow: Mesajların olduğu tabloya birde Aktif diye bir alan oluştur. Bir kullanıcı mesajını yazdığında Aktif alanına varsayılan olarak 0 yazsın.

:arrow: Mesajları yayınladığın sayfada ise aktif alanı 0 olmayan alanları göster.

:arrow: Sonra kontrol paneline girdiğinde Aktif alanı 0 olanları seçerek (SELECT * FROM yazilar WHERE aktif=0 vs.vs.) onay bekleyen mesajları listelemiş olacaksın. O mesajı aktif hale getirmek içinse bir o mesajın aktif alanını 1 yapman yeterli olacak
En son salvation tarafından 12 May 2005 04:09 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

defter_add dosyamda nasıl 0 olarak belirtecem.yönetim sayfasını halledebilirim işte mesaj yazıldıktan sonra yayınlanmaması için nasıl bir kodlama yapmam gerekli
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
sherlockholmes
Kıdemli Üye
Mesajlar: 930
Kayıt: 19 Tem 2004 09:13

Mesaj gönderen sherlockholmes »

mesajı mesaj dosyasına yazarken aktif alan kısmını false diye yazsın , admin okuduktan sonra bu alanı true olarak update et... ne tür bir veritabanı kullanıyorsun , verilerin nasıl saklıyorusn?
y = e^x fonksiyonu hangimizi etkilememiştir ki? Küllerinden hayat bulan Zümrüd-ü Anka kuşu gibi, türevi yine kendisidir.
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

asp kodluyorum accsess veritabanı kullanıyorum.
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

-Veritabanında aktif adında True-False veritipi içeren bir alan oluşturdun mu?

Ve kaydı gerçekleştirdiğin sql cümleni yazarsan ordan anlatalım
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

özür dilerim arkadaşlar en başından kodlarımı yazmalıydım

benim deftere kayıt girildikten sonra veritabanıma kaydı yazan asp dosyamdaki kodlarım şunlar...


<% @Codepage="1254" %>
<%
Set Surbbs = Server.CreateObject("ADODB.Connection")
Surbbs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/veritabanım.mdb")

Set bbs = Server.CreateObject("ADODB.Recordset")
sorbbs = "Select * from ziyaretcidefteri"
bbs.Open sorbbs,Surbbs,1,3
%>
<center><img src= "grafik/banner.gif" ></center>



<%
Function temizle(temizlik)
temizlik=replace(temizlik, ">" , "" )
temizlik=replace(temizlik, "<" , "" )
temizlik=replace(temizlik, "%" , "" )
temizlik=replace(temizlik, "*" , "" )
temizlik=replace(temizlik, "'" , "" )
temizle=temizlik
End Function
%>

<%
adi = Trim(Request.Form("adi"))
adi=temizle(adi)
email = Trim(Request.Form("email"))
email=temizle(email)
baslik = Trim(Request.Form("baslik"))
baslik=temizle(baslik)
mesaj = Trim(Request.Form("mesaj"))
mesaj=temizle(mesaj)
if adi="" then
response.write "<font face=verdana size=2><center>HATA!!! İsim Kısmını Boş Bırakamazsınız.Lütfen Geri Dönüp Eksik Bilgilerinizi Yazınız.</center><br><a href=javascript:history.back(1)><b><center>Geri</center></b></a> </font>"
response.end
elseif email="" then
response.write "<font face=verdana size=2>E-posta kismini bos giremezsiniz<br><a href=javascript:history.back(1)><b>Geri</b></a></font>"
response.end
elseif mesaj="" then
response.write "<font face=verdana size=2>Mesaj kismini bos giremezsiniz<br><a href=javascript:history.back(1)><b>Geri</b></a></font>"
response.end
end if

bbs.addnew
bbs("adi") = adi
bbs("email") = email
bbs("baslik") = baslik
bbs("mesaj") = mesaj
bbs("tarih") = date
bbs.update

%>
<% response.redirect ("deftere_eklendi.asp") %>
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

:arrow: Öncelikle veritabanında düzenleme yapacaksın.. Access veritabanın aç ve Aktif adında, Sayı tipinde (alan boyutu=byte) bir alan oluştur.

:arrow: Sonra kaydettiğin kodlarda düzenleme yapacaksın

bbs.addnew
bbs("adi") = adi
bbs("email") = email
bbs("baslik") = baslik
bbs("mesaj") = mesaj
bbs("tarih") = date
bbs("aktif") = 0
bbs.update

:arrow: Yönetim panelinde mesajları onaylamak için, Sql ile kayıtların Aktif alanları 0 olanları göstereksin. Ör: SELECT * FROM yazilar WHERE aktif=0 gibi.

:arrow: Sayfada listelenenlerden birisini aktif hale getirmek istersen, üzerine tıkla ve o kaydın Aktif alanını 1 yaptır. Ör: UPDATE yazilar SET aktif=1 WHERE id = ID

:arrow: Son olarak herkesin gördüğü yazıların yayınlandığı sayfada sadece aktif olanları göster. Ör: SELECT * FROM yazilar WHERE aktif=1
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

herşey tamam ama yönetici sayfasında mesajı nasıl aktfi edeceğimizi tam olarak çözemedim.

Bu arada sizi de yoruyoruz kusura bakmayın
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
sherlockholmes
Kıdemli Üye
Mesajlar: 930
Kayıt: 19 Tem 2004 09:13

Mesaj gönderen sherlockholmes »

salvation yazdı: :arrow: Sayfada listelenenlerden birisini aktif hale getirmek istersen, üzerine tıkla ve o kaydın Aktif alanını 1 yaptır. Ör: UPDATE yazilar SET aktif=1 WHERE id = ID

[/i]
istediğin işlemi burası gerçekleştiriyor ...
y = e^x fonksiyonu hangimizi etkilememiştir ki? Küllerinden hayat bulan Zümrüd-ü Anka kuşu gibi, türevi yine kendisidir.
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

tekrar kodlarımı yazayım belki yardım açısından daha faydalı olur

onaylamak istediğim mesajın onay linki şu :

defter_onay.asp?id=<%=rsbbs("id")%>

defter_onay.asp de şu kodlardan oluşuyor :

<%
Set id = Request.QueryString("id")
Set Surbbs = Server.CreateObject("ADODB.Connection")
Surbbs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/veritabanım.mdb")

Set rsbbs = Server.CreateObject("ADODB.Recordset")
sorbbs = "UPDATE ziyaretcidefteri SET aktif=1 WHERE id = id "
Response.Redirect("defter_admin.asp")
%>



bu şekilde yaptığımda bir mesaja onay vermek istediğimde tüm onaysız mesajlar onay alıyor.
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Kullanıcı avatarı
sherlockholmes
Kıdemli Üye
Mesajlar: 930
Kayıt: 19 Tem 2004 09:13

Mesaj gönderen sherlockholmes »

aşağıdaki şekilde kullanınca sadece seçilen mesajı onaylıyor iki id de parantez içinde yazılmış ondanmış , ilk anda fark edememişim , dalgınlık işte ...
aslında işin büyük kısmını @salvation yapmış ...

Kod: Tümünü seç

sorbbs = "UPDATE ziyaretcidefteri SET aktif=1 WHERE id =" + id
y = e^x fonksiyonu hangimizi etkilememiştir ki? Küllerinden hayat bulan Zümrüd-ü Anka kuşu gibi, türevi yine kendisidir.
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

callaki yazdı: sorbbs = "UPDATE ziyaretcidefteri SET aktif=1 WHERE id = " + id
:arrow: Evet @sherlockholmes 'un dediği gibi Sql bu şekilde olmalı. Id'yi Tırnak içinde kullandığın için, id bir değişken olarak değil, stringin bir parçası olarak işlenmiş.
Kullanıcı avatarı
callaki
Üye
Mesajlar: 88
Kayıt: 18 Oca 2005 05:27
Konum: /localhost/
İletişim:

Mesaj gönderen callaki »

çok teşekkür ederim
şimdi defterin hiç bir eksiği kalmadı :alkis:
! SİGARA ÖLDÜRÜR! ÖLDÜRENE KADAR DA SÜRÜNDÜRÜR
Cevapla