İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

PHP'de Oyalama Değerlendirme

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
ilk baş özür dilerim sitede arama ma rahmen bir örnek uygulama bulamadım.

php ile oylama nasıl yapılır bunu öğrnemek istiyorum örnek kodlarınız varsa eklerseniz sevinirim baya aramama rahmen nette'de bişe bulamadım ve aklıma burası geldi yeni başladım php yani asp'den çok farklı değil ama komut öğrenmem lazım.

yarım eden olursa tşk. ederim
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
script aramıyorum zaten burdakilerde profesyonel örnek kodlar arıyorum teşk. ederim gene cevabın için.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
yeni bir tablo açıp tabloyu aşağıdaki şekilde yaratın:

ID -- Puanlar -- PuanKisi

ID bölümüne oylanan dosya/makale vb. neyse onun id numarası gelecek.

Yeni bir oy eklenirken,

PHP:
$verilenpuan = POST'dan gelen puan;

$sql = "SELECT * FROM tablo WHERE ID ='$id'";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
$rc = mysql_num_rows($res);
$row = mysql_fetch_array($res);

if ($rc == "0") {
//Daha önce bu içerik için oy kullanılmamış.
//Tabloda yeni bir satır yaratıp verilen puanı işliyoruz.
$sql = "INSERT INTO tablo (ID, Puanlar, PuanKisi) VALUES ('$ID', '$verilenpuan', '1')";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
}
else {
//Daha önce bu içeriğe oy verilmiş, oyları yeniliyoruz.
$puan = $row[Puanlar] + $verilenpuan;
$kisi = $row[PuanKisi] + 1;
$sql = "UPDATE dosyalar SET Puanlar= '$puan',PuanKisi="$kisi" WHERE ID=$id";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
}

Herhangi bir içeriğin puanını çıkartırken:

PHP:
$sql = "SELECT * FROM tablo WHERE ID ='$id'";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
$rc = mysql_num_rows($res);
$row = mysql_fetch_array($res);

if ($rc == "0") {
echo "Puan Verilmemiş";
}
else {
phesapla = ceil($row[Puanlar] / $row[PuanKisi]); 
echo $phesapla;
}

Kodu denemedim ama çalışması lazım. Bi sorun çıkarsa yazın.
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
hemen deniyorum tşk. ederim.

$sql = "UPDATE puan SET Puanlar= '$puan',PuanKisi="$kisi" WHERE ID=$id"; Şurda hata veriyor.

syntax error, unexpected T_VARIABLE

id Puanlar PuanKisi Tanımlı Olan PUAN diye bir tablo oluşturdum int (11). değerli hepsi

id ye auto vermedim ilk baş alışkanlıkla vermişim düzetmeme rahmen bi değişiklik olmadı

Yazdırma durmuna gelirsem

phesapla = ceil($row[Puanlar] / $row[PuanKisi]);

burda bi hata verdi ama print ile çözdüm db ye kafamdan id girip yazdırdım hiç bir sorun yok yazdırma kısmında sadece puan vermede sıkıntı var.

print ceil($row[Puanlar] / $row[PuanKisi]);
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
Sorunu çözdüm dikakt etmemişim.

$sql = "UPDATE puan SET Puanlar= '$puan',PuanKisi='$kisi' WHERE ID='$id'";

" ve ' işaretleri bazen görmezlikten gelinebiliyor.

Şimdi refferrer araştırıyorum oy verildikten sonra bide geri dönsün sayfaya..

Bide ben açıkçası

$verilenpuan = POST'dan gelen puan; buraya 1 değerini atadım ve puan1.php yaptım ve ve siteden link verecem post olayını daha öğrendim yada checkbox olarak nasıl yaparız yazarsan sevinirim çünkü..

oy.php?id=1952 gibi gidecek peki post get bunu nasıl anlıcak tam kavrayamıyorum..

$ara = mysql_real_escape_string($_POST['ara']);

mesala aramada bunu yapıyorum ama puan olayı kafamı karıştırıyor.

Bu arada tekrar tşk. ederim.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
diyelim puan eklemeyi yapacak olan php, puanla.php

puanla.php'ye get olarak yollayabilirsin, misal

puanla.php?verilenpuan=5

olarak gönderdiğinde $verilenpuan değişkeni 5'i alacaktır.
 

sempaty

1
İyinet Üyesi
Katılım
25 Şubat 2005
Mesajlar
3,824
Reaction score
19
Konum
hawaii. ama sanal tur.
CREATE TABLE `puanlar` (`id` int not lisanssız auto_increment primary key, `toplampuan` int, `toplamoy` int);

PHP:
<?php
if ($_POST['puan']) {
 
$puanartir = mysql_query("UPDATE puanlar SET toplampuan=toplampuan+'".$_POST[puan]."' WHERE id='".$_POST[id]."'");
$oyartir = mysql_query("UPDATE puanlar SET toplamoy=toplamoy+1 WHERE id='".$_POST[id]."'");
 
echo "oy kullandığınız için teşekkürler..";
 
} else {
?>
<form method="post">
<input type="hidden" name="id" value="id numarası" />
<select name="puan">
 <option value="3">3</option>
 <option value="2">2</option>
 <option value="1">1</option>
</select>
<input type="submit" value="ekle" />
</form>
<?php } ?>



denemedim yalnız.
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
diyelim puan eklemeyi yapacak olan php, puanla.php

puanla.php'ye get olarak yollayabilirsin, misal

puanla.php?verilenpuan=5

olarak gönderdiğinde $verilenpuan değişkeni 5'i alacaktır.

verilen puanı get olarak tanımladık diyelim bunu yaparım peki id yi nasıl tanımlıcam

yani şöyle gitmesei lazım puanla.php?id=1252&verilenpuan=5

aynı mantık geçerli olurmu genede ben deneyip sonucu buraya aktaracam gete isim verelim bakalım neler olacak.

yeni öğreniyorum php yi ama zorlanmadım aşırı derecede asp bildiğim için.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
sempaty'nin dediği gibi id'ide get ile yollayabilirsin. bende aspden geçmiştim, kolay toparlarsın. :)
 

tolgahat

0
İyinet Üyesi
Katılım
28 Eylül 2004
Mesajlar
896
Reaction score
0
$verilenpuan = mysql_real_escape_string($_POST['verilenpuan']);
$id = $_GET[id] ;

Puanver php ye üsteki satırları koydum.

<form action="puanver.php?id=<?=$satir[id]?>" method="post">
<input type="hidden" name="id" value="<?=$satir[id]?>" />
<select name="verilenpuan">
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
<input type="submit" value="ekle" />
</form>

Buda Oylamayı yapmak istediğiniz kısma atıyorsunuz..

Şimdi tek yapmak gereken puanver.php ye http referrer eklemek böylece sayfa geri gelmiş olacak.

Bu arada herkeze tşk. ederim.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
asp'deki redirect'in php versionu header oluyor.

PHP:
header("location:puanver.php");

şeklinde sayfayı yönlendirebilirsin.
 

asasmaz

0
İyinet Üyesi
Katılım
20 Eylül 2006
Mesajlar
447
Reaction score
0
arkadaşlar ben bu işte acemiyim.bna biriniz yardım edebilir mi acaba?arkadaslık sitem var ve kişilerin profilleri değerlendirmelerini istiyorum.yardımcı olabilecek var mı?
 

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.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst