Arama butonu
Bu konudaki kullanıcılar: 1 misafir
185
Cevap
16277
Tıklama
0
Öne Çıkarma
Cevap: Sıfırdan PHP (3. sayfa)
A
20 yıl
Yüzbaşı

Hay Allah arkadaşım veritabani.php de ben başlangıç işartelerini kopyalarken atlamışım sen de koymadan kaydetmişsin çok özür dilerim. Düzelttim şimdi. Tekrar özür dilerim.

Sen de koymadan kaydetmişsin demek ki? Hadi ben daldım sen niye daldın :)


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

:)))
Ben ne zaman iyi öğrenirsem o zaman unuttuğun yerleri hatırlatırım...

Şaka bir yana ben sana söyleyecektim ama ukalalık olmasın diye söylemedim... Hem php nin içinde bazı fonksiyonlarda boş dosya bile hazırlandığını bildiğim için bunun da böyle bişey olabileceğini sandım... O nedenle üzerinde durmadım ...

hem ben demedim mi senin yazdıklarını harfiyyen uyguladım...Oradaki işaretleri koymuş olsaydım senin söylediklerinden dışarı çıkmış olurdum...

Neyse ben hemen bir test edeyim... :)


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

Estağfirullah arkadaşım ukalalık ne demek.Hem insan hali baksana gözümden kaçmış.Zaten bu şekilde çıkıyor demesen oraya bakmak aklıma gelmezdi, çünkü denedim çalıştı ya, Öyle çıkması için PHP motorunun yorumlamamış olması lazımdı.Ordan hemen oraya baktım :)

Zaten sen de biraz alış , bir şeyler yazmaya başla anlarsın ne demek istediğimi, unuttuğun bir virgül bile seni nasıl uğraştırır.O nedenle kodlarını yazarken belli bir düzende yazmaya alıştır ki kendini şöyle bakınca anlaman kolay olsun.


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

Evet hocam şimdi oldu.... Allah senden razı olsun ...

Ben şimdi bu kodlar üzerinde bayağı bir yoğunlaşırım artık...

Bunun uzantısında kafama takılan şeyleri bu topic altında yazmaya devam edicem...

Yardımların için tekrar tşk ediyorum...





< Bu mesaj bu kişi tarafından değiştirildi maratbilgin -- 8 Haziran 2005, 2:18:24 >
Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

Allahü Teala senden de razı olsun arkadaşım, takıldığın yerde yardımcı olurum elimden geldiğince.

Zaten dediğim gibi bayağı basit bir şey oldu yani formu bile düzenli gözükecek şekilde yapmadım, ancak formdan gelen veriyi kontrol etme, sonuçları listeleme vb. şeyleri de kendin ekleyerek fonksiyonların çalışma mantığını öğrenebilirirsin.


Bu mesaja 1 cevap geldi.
N
20 yıl
Yüzbaşı

Ya maratbilgin sen bu işi baya hızlı kaptın yakın zamanda bence ortak bi portal yazalım burada.

Baya güzel bi iş çıkartabiliriz o zaman süper olur..

Ayrıca sıkıştığınız zaman her türlü yardımı yapmaya çalışırım :D


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: NmC

Ya maratbilgin sen bu işi baya hızlı kaptın yakın zamanda bence ortak bi portal yazalım burada.

Baya güzel bi iş çıkartabiliriz o zaman süper olur..

Ayrıca sıkıştığınız zaman her türlü yardımı yapmaya çalışırım :D



Daha yolun başındayım... Söylediğin fikri yerine getirebilecek bilgiye sahip olduğum zaman (tabi bu ne kadar zaman alır bilemiyorum) böyle bir paylaşımı sergilemekten mutluluk duyarım...

Ayrıca acayip arkadaşımızın da azımsanmayacak kadar bir bilgi dağarcığı olduğunu düşündüğümden dolayı onun bu bilgi ve tecrübelerinden de faydalanmak gerektiğini de düşünüyorum... Hatta en azından forumlarda moderatör ya da editör gibi bir vasfı olması gerektiğini de düşünüyorum( geçmişte yazmış olduğu yazılarını incelemeden geçemedim ve bu kanıya vardım)...



M
20 yıl
Yüzbaşı
Konu Sahibi

quote:

Orjinalden alıntı: acayip

Bu da yorumoku.php

<?php
require_once("veritabani.php");
?>
<html>
<head>
<title>Ziyarteçi Defteri</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-9\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1254\">
</head>

<body>

<?php
$sorgu = 'SELECT * FROM yorumlar';

$sorgula=mysql_query($sorgu) or die ("HATA var");

while ($sonuc = mysql_fetch_array($sorgula)){

echo $sonuc[isim];
echo '<br>';
echo $sonuc[email];
echo '<br>';
echo $sonuc[site];
echo '<br>';
echo $sonuc[yorum];
echo '<br><br>';

}
?>
<hr size=1><p>
<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=3268695&url=index.html" data-href="index.html">Giriş Sayfası </a>
</body>
</html>

******************

Hepsi bu kadar dikkat edersen include yerine require_once() kullanıyoruz işlem yapmadan sadece okunan komutlar için bunu kullanmak daha hızlı ve güvenlidir.

eğer takıldığın bir yer olursa yazarsın buraya.



Uzun bir aradan sonra tekar selamlar...:)
Bu arada php konusunda dökümanların içine girdim ve çıkmak nedir bilmiyorum... Yavaş ama emin adımlarla ilerliyorum...Şu ana kadar hep öğrendiklerimi hazmede hazmede ilerliyorum... Bu konuda nasıl bir yol izlemem gerektiğini kafamda şekillendirdim...Öncelikle PHP konusunda internette kodlarla boğuşacağım ve sonrasında bu konuyla ilgili bir kursa gideceğim...Yoksa sadece internet ve kitapta yeterli değil diye düşünüyorum...

Neyse ben şu ana kadar neler yaptığımı belirteyim, yukarıdaki temel olarak hazırlanmış ziyareçi defteri üzerinde bayağı bir yoğunlaştım ve şu anda sorgu hazırlamak, formdan girilen bilgileri veritabanına aktarmak ve veritabanında bulunan bilgileri de sayfada görüntüleye biliyorum...(tabi bunu öğrendikten sonra bu bilgiyle neler yapabileceğimi de biliyorum)


Şimdi sıra geldi bunları sayfa sayfa göstermeye... Yani farzedelim mesaj sayısı 150 oldu ve sayfa aşşağıya doğru uzanıyor...Oysa ben bu mesajları her sayfada 25 tane olmak üzere görüntülemek istiyorum... Ve her sayfada 25 tane mesaj doldukça sayfanın alt kısmında sayfa sayısı 1 2 3 diye linkli bir görüntüsü olsun...
Bunu yapabilmem için yukarıdaki yorumoku.php kodlarına neler eklemem gerekiyor?


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

maratbilgin, arkadaşım tebrik ederim ve her zaman böyle azimli olmanı dilerim.Soruna gelince şu adrese bir bak cevabını bulursun:

http://www.turk-php.com/modules/newbb_plus/viewtopic.php?topic_id=2939&forum=1


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

Evet vermiş olduğun linkte de benim sorduğumun karşılığı var ama sanki çok detaya girilmiş gibi...yani belirli bir scriptten alıntı yapılarak gösterilmiş... Ben oysa hangi öğelerlen yola çıkılarak yapıldığını öğrenmek istiyorum...Bu arada orada yazılanları küçümsediğim algılanmasın aksine çok bilgiler olduğunu düşünüyorum ama mantığını öğrenmeden yapacağım şey ezberden ileri gitmez...

Mesela bir örnek vereyim...Ziyaretçi defterinde tarih alanı oluşturdum ve yazılan her mesajın altında mesajın yazıldığı andaki tarihi gösteriyordum fakat mysqldan gelen tarih 2005-06-28 20:40:37 şeklinde geliyordu...Bu biçimi değiştirmenin ve şöyle görünmesini
28-06-2005
20:40:37
istiyordum... Bunu internette çeşitli forumlarda sordum yaklaşık 3 gün içinde herkes farklı biçimlerde şu şekilde yazacaksın diyerek bi ton kodlar değişkenler vs oluşturdu hepsinde de sonuç olumsuz oldu..Her verilen yanıtı uygulamak için yeni yeni sayfalar oluşturmalar yeni yeni tablolar açmak vs gerçekten bunalttı beni...

En sonunda arkadaşın biri çıktı ve şöyle yazdı... Ben genelde tarih işlemlerimi şöyle yapıyorum dedi ve uzatmadan iki satırlık bir kod yazdı...aldım ve mevcut olan tablomu ve sayfalarımı hiç kaybetmeden üzerinde denedim ve oldu...Üç günlük yırtınmamın altında strtotime() kelimesi yatıyormuş...

Yani o kadar uzun uzun yazılar yerine biris çıkıpda ya arkadaş mysqldan gelen tarihi strtotime() ile çevirirsin diyerek iki satırlık kodu yazmadı...

Sonuç olarak şunu öğrenmek istiyorum yukarıdaki mevcut yorumoku.php sayfa kodunun üzerine gelecek kodlar vermiş olduğun linkteki anlatımlar gibi uzun uzadıya mı?

Bu arada ben o kodlar üzerinde yine de durucam fakat listelemeyi yaparken hangi kodların gerekli olduğunu temel olarak öğrenmek istiyorum...


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

Daha bir kaç saat önce başka bir forumda yazmıştım, tarih konusunda aynen alıntı yaparım:

Arkadaşım tarihi veritabanına kaydederken integer tipinde alan açıp mktime() fonksiyonuyla kaydedersen çok daha rahat ve kullanışlı olur.

sonra okuyacağın zaman istediğin formatta okursun, yani kaydederken:
$tarih=mktime();

okurken:
$sonuc[tarih] veritabanından aldığımız sayı

$tarih=date ("d.m.Y",$sonuc[tarih]);

25.06.2005 gibi çıktı verir

$tarih=date ("m.d.Y",$sonuc[tarih]);
06.25.2005 gibi çıktı verir

$tarih=date ("d.m.Y H:i:s",$sonuc[tarih]);
25.06.2005 15:31:22 gibi sonuç verir


Diğer soruna gelince işin mantığı basit, sayfalama için önce veritabanında kaç kayıt olduğunu öğreneceksin, daha sonra sayfada kaç kayıt olacağını belirleyip, ona göre bir sayaç tutup bir döngüyle listeleyeceksin.


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

Yukarıda ki tarih biçimini değiştirme yazısını örnek olarak vermiştim ve bişeyler anlatmak istemiştim... Umarım beni yanlış anlayıp bu kodları yazmamışsındır...Çünkü ben tarih sorununu hallettiğimi ve 3 gün uzun uğraşlar sonucunda sorunuma ilaç olan şeyin tek bir fonksiyon olduğunu dile getirdim...
Tarih yazdırmanın alternatifleri olduğunu biliyorum ve yukarıda yazdığın yolu bilmiyordum ama şu anda ben tarih yazdırmanın başka yolları olup olmadığını aramıyorum ki...

Sadece listeleme yönteminin ana unsurları nelerdir yani hangi kodları kullanmak gerekir nerede ne şekilde değişkenler oluşturmak gerekir... Ben yazmış olduğum kodun ne anlama geldiğini görevinin ne olduğunu bilerek yazmak istiyorum...Yani fazladan kodlar yazmayı istemiyorum...

O yüzden sade yalın bir kodla bişeyler yazarak öğrenmek istiyorum...

Umarım anlatabilmişimdir... Bu arada sayende mktime() komutunu da öğrenmiş bulundum ...

Yanıtların için tşk ederim...


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

Arkadaşım tarih örneğini yanlış anladığımdan değil, çok kullanışlı olduğundan aklında bulunsun diye yazdım.

Sayfalamanın mantığını yukarıda söyledim, kısaca irdelemek gerekirse, önce veritabanına bağlanıp kaç kayıt olduğunu öğreneceğiz.ama daha önce değişkenleri GET metoduyla alacağımızdan onu ayarlayalım, aşağıda ternary operatörü sık kullanıyorum onu hatırlıyorsun umarım:

<?php
require_once("veritabani.php");

//Sayfa değişkeni GET ile gelirse ve sıfıra eşit değilse alıyoruz, yoksa 1 olarak kabul ediyoruz.
$sayfa=($_GET['sayfa'] != ' ' || $_GET['sayfa'] != 0) ? $_GET['sayfa'] : 1;


//Kaç kayıt olduğunu öğreniyoruz
$sorgu='select * from yorumlar';
$sorgula=mysql_query($sorgu) or die ("nerde HATA var");
$satir_sayisi=mysql_num_rows($sorgula);
mysql_free_result($sorgula);
//kaç kayıt olduğunu aldık

/*Şimdi kaç kayıt olduğunu biliyoruz, her sayfada kaç kayıt göstereceğimizi belirleyelim
misal 10 kayıt olsun*/

$limit=10;

/*hangi kayıttan göstermeye başlıyacağız onu belirliyoruz.Eğer sayfa 1 se GET ile

gelmemiştir yani ilk sayfadır o nedenle 0'dan başlatırız, yok sayfa 1 den büyükse

GET'ten gelmiştir ve hangi sayfaysa ona göre değer alır, örneğin sayfa 3 se bizim 3.

sayfada 20. kayıttan itibaren 10 kayıtı listelememiz gerekir*/

$basla=($sayfa >1 ) ? $sayfa-1*$limit : 0;

/*kaç sayfa olduğunu öğrenelim,yalnız kayıt sayısı 10 a tam bölünemeyebilir yani 157/10

gibi o nedenle intval kullanıyoruz, böylece küsuratı almıyoruz*/

$sayfa_sayisi=$satir_sayisi / $limit;


/*yukarıdaki gibi bir durum varsa yani 157/10 gibiyse 157 nin 10 a bölümünden kalan

sıfıra eşit olmayacağından sayfa sayısını bir arttırıyoruz.burada % işareti modunu alır

yani 1. sayının 2.sayıya bölümünden kalanı bulur. */

$sayfa_sayisi=($satir_sayisi %$limit !=0 ) ? $sayfa_sayisi+1 : $sayfa_sayisi;

//şimdi hem kaç kayıt olduğunu hem de kaç sayfaya tekabül ettiğini biliyoruz.

$sorgu='select * from yorumlar limit '.$basla.' , '.$limit;
$sorgula=mysql_query($sorgu) or die ("HATA var");

echo '<table border="1" style="cellpadding:5px;text-align:center;" align="center"><tr><td>İSİM</td><td>E-MAİL</td><td>SİTE</td><td>YORUM</td></tr>';

//Her ihtimale karşı sorgudan sonuç dönüyormu kontrol ediyoruz.

if($satir_sayisi >0){

while ($sonuc = mysql_fetch_array($sorgula)){

/*Noktalara dikkat et bu şekilde PHP motoru daha hızlı çalışır.ama istersen
echo "<td> sonuc[isim] </td>"; şeklinde de yazabilirsin */

echo '<tr><td>' . $sonuc[isim] . '</td><td>' . $sonuc[email] . '</td><td>' . $sonuc[site] . '</td>';
echo '<td>'. $sonuc[yorum] . '</td></tr>';

}

echo '<tr><td colspan="4">';
/*Bir sayaç belirliyoruz ve sayfa sayısına eşitlenene kadar arttırıyoruz.Yalnız eğer
sayfa ile sayaç aynıysa yani bulunduğumuz sayfaysa link vermiyoruz.*/

for($i=1; $i<=$sayfa_sayisi ;$i++){

echo ($i != $sayfa) ? '<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=3272967&url='.$PHP_SELF.'?sayfa=' .$i. '" data-href="'.$PHP_SELF.'?sayfa=' .$i. '">'.$i.' </a>' : $i.' ' ;

}

echo '</td></tr></table>';
}

else{
//sorgudan sonuç dönmemişse
echo '<tr><td colspan="4" height="150">HİÇ BİR SONUÇ BULUNAMADI</td></tr></table>';

}

mysql_free_result($sorgula);

?>

İşte hepsi bu kadar,mantığını anladıktan sonra işin ayrıntı kısmına girersin.Ayrıntıdan kastım görünüşü güzelleştirmek, güvenlik önlemlerini almak vb. şeyler. Ben de senin gibi anlamadan yazmaktan hoşlanmam o nedenle tamamen bana ait kodlar ve dikkat edersen bir çok sitede gördüğün sayfalama kodundan kısa

Açıklamalardan kafan karışmasın diye bir de sadece kodları ekliyorum:

<?php 
require_once("veritabani.php");

$sayfa=($_GET['sayfa'] != ' ' || $_GET['sayfa'] != 0) ? $_GET['sayfa'] : 1;
$sorgu='select * from yorumlar';
$sorgula=mysql_query($sorgu) or die ("nerde HATA var");
$satir_sayisi=mysql_num_rows($sorgula);
mysql_free_result($sorgula);

$limit=10;
$basla=($sayfa >1 ) ? $sayfa-1*$limit : 0;
$sayfa_sayisi=$satir_sayisi / $limit;
$sayfa_sayisi=($satir_sayisi %$limit !=0 ) ? $sayfa_sayisi+1 : $sayfa_sayisi;

$sorgu='select * from yorumlar limit '.$basla.' , '.$limit;
$sorgula=mysql_query($sorgu) or die ("HATA var");

echo '<table border="1" style="cellpadding:5px;text-align:center;" align="center"><tr><td>İSİM</td><td>E-MAİL</td><td>SİTE</td><td>YORUM</td></tr>';
if($satir_sayisi >0){

while ($sonuc = mysql_fetch_array($sorgula)){
echo '<tr><td>' . $sonuc[isim] . '</td><td>' . $sonuc[email] . '</td><td>' . $sonuc[site] . '</td>';
echo '<td>'. $sonuc[yorum] . '</td></tr>';
}

echo '<tr><td colspan="4">';

for($i=1; $i<=$sayfa_sayisi ;$i++){
echo ($i != $sayfa) ? '<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=3272967&url='.$PHP_SELF.'?sayfa=' .$i. '" data-href="'.$PHP_SELF.'?sayfa=' .$i. '">'.$i.' </a>' : $i.' ' ;
}
echo '</td></tr></table>';
}
else{
echo '<tr><td colspan="4" height="150">HİÇ BİR SONUÇ BULUNAMADI</td></tr></table>';
}
mysql_free_result($sorgula);

?>


bir yerde takılırsan burda sorarsın.





< Bu mesaj bu kişi tarafından değiştirildi acayip -- 29 Haziran 2005, 6:42:04 >
Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

Bayağı bi uğraşmıssın ...Artık ne diyeyim sana bilemiyorum...Allah herşeyi gönlüne göre versin ( napayım hocam elimden ancak bu geliyor :))

Bu bilgileri görür görmez öncelikle hemen copy ettim ve yedekledim...
ve sonrasında sadece kodları olan bölümü hemen uyguladım...Önce çalışıp çalışmadığını görüp daha sonra adım adım bilgilendirmelerinin üzerinde yoğunlaşmak istedim...


Sadece kodlar bölümünü uyguladım... Bir yerlerde yanlışlık olmalı... sayfalamalar da problem yok ama 1.sayfa dışındaki sayfalarda veriler gözükmüyor...mesela limit 10 ya ben 25 tane veri giriyorum sayfanın alt kısmında 1 2 3 linkleri beliriyor ve 1. sayfada 10 tane veri bulunuyor ama diğer 2 ve 3. sayfalara tıkladığımda veri gözükmüyor...Umarım anlatabilmişimdir...

Gerçi ben kafama göre bir yerleri değiştirdim ama tutturamadım :)) ee acemiyken ancak deneme yanılma metodunu kullanabiliyorum...


Bu mesaja 1 cevap geldi.
A
20 yıl
Yüzbaşı

Arkadaşım yazarken gözümüden kaçmış kusura bakma:

$basla=($sayfa >1 ) ? $sayfa-1*$limit : 0;

satırını:

$basla=($sayfa >1 ) ? ($sayfa-1)*$limit : 0;

olarak değiştir, çarpmanın işlem önceliği varya önce çarpım yapıyor.


Bu mesaja 1 cevap geldi.
M
20 yıl
Yüzbaşı
Konu Sahibi

Hocam şimdi oldu... Artık ben bu adım adım yazmış olduğun bilgiler üzerinde yoğunlaşırım...

Çok tşk ederim...


Bu mesaja 1 cevap geldi.
N
20 yıl
Yüzbaşı

Oh beee bu topicin canlanması beni mutlu etti herkes nuke kullanıo deli olcam yaaa adam gibi php kod yazan yok


Bu mesaja 1 cevap geldi.
S
20 yıl
Yüzbaşı

NasıL yok ya Diğer topicLere baksana kardeş


Bu mesaja 1 cevap geldi.
F
20 yıl
Yarbay

buyur turk php deki el kitabı

http://fuzbing.freelinuxhost.com/PHP_Kitap.rar
şifre:e-hack.org
inmezse sağ tıklayıp farklı kaydet.


Bu mesaja 1 cevap geldi.
S
20 yıl
Binbaşı

Beyler Çok Güzel Yaa Cidden ASP Kolay Bir Yazılım Dili Milletin PHP ile Uğraşması Çok güzel Bir Olay.
www.asgrafik.net buda Benim PHP de Hazırladığım Bir Site Ama Haber Ekleme Kısmında Şöyle Bir Olay Var



Haberleri Eklerken

Flash Haber
Haberi Yaz
Haber 1
Haberi Yaz
Haber 2
Haberi Yaz
Haber 3
Haberi Yaz
Haber 4
Haberi Yaz

Haberleri Değiştir


Şeklinde Giriyorum ve Haberleri haber1.txt haber2.txt flash.txt şeklinde olan Sayfaların İçini Değiştirerek Onun üzerine Kaydedio.

Bunlarıda include Olarak Ana Sayfada Gösteriyorum

Siteye Girip Bir Bakacak Arkadaş Olursa Bana Bunun Veri Tabanı İle Hazırlanmış Şeklini Yapabilirmi?
Bu Sayede Haber Arşivide Olmuş Olur Çünkü Benim Yaptıım sistem Sağlam bir sistem deil Sağlamlıktan kasrım php de sayfa Kaydederken " " ' gibi işaretlerin Yanına \ koyuyor. vede sayfada Haberleri Sıra ile Göstermek için

<?include('haber1.txt');?>
<br>
<?include('haber2.txt');?>
<br>
<?include('haber3.txt');?>
<br>
<?include('haber4.txt');?>

Şeklinde Yazıyorum.. Buda Zor işi Daha da Bozuyor. Eğer Siteye Bir Girip Bakacak Olan Arkadaş Olursa ve Yaparsa Çok Teşekkür Edecem. Şimdiden Teşekkürler....

Site İmzadada Yazıyor. www.asgrafik.net


Bu mesaja 4 cevap geldi.