News:

Wondering if this will always be free?  See why free is better.

Main Menu

Php Dersleri

Started by Arbalot, August 12, 2006, 06:34:04 AM

Previous topic - Next topic

Arbalot

sayın sempoo;
senin <b></b> dediğin şeyler html kodlarıdır ve bu html anlatımında mevcuttur.
html de kullandıgınız kodları php de de kullanabilirsin.
sadece bir kaç ufak ayrıntı var oda bu dokumanda anlatılıyor zaten...

sempoo


evrimselce

Arbalot   Çok teşekkürler  Böyle bir kaynak eksikliği vardı.. Arıyordum ve burada buldum sonunda teşekkürler..

Arbalot

bana güzel bir ses ve ekran goruntu yakalama programı bulursanız goruntulu derslere de başlarım...

Huzeyfe

Selamun aleykum

Belki şimdi tecrübeliler ve yöneticiler işte bir php meraklısı daha haydee diyecekler  Haklısınız insanı cezbediyor doğrusu, neyse bu kadar girizgah yeter, gelelim konumuza.

Çok acemi olmamakla beraber iyi bildiğimde söylenemez mantığını iyi kapıp öyle yol almak istiyorum. Bol örnek görüp uygulamak istiyorum. Şu an pcmde easyphp 1.8 ile local olarak çalışıyorum localhost/mysql den girip veri tabanımı da oluşturdum. //, /**/, ; vs geçtim bunları toplama, çıkarma, if, else vs mantığını kavradım ancak hala elle tutulur gözle görülür birşey koymaktan yana çekingelerim var. Acaba phpnin şu an neresindeyim html iyi css yetecek kadar ingilizcem orta seviyev veya biraz üstü.

Şu an hedefim ya da hayalim şu ya da sorum diyelim: Yukarıda yazdığım bilgiler doğrultusunda localhost/index.php yazdığımda tamamen kodlaması bana ait bir sayfa nasıl oluşturabilirim. Şu anlık iletisim.php, kimim.php, anasayfa.php yapmayı hedefliyorum. Anket, saat, sayaç tarih vs ilerde olur. İlk adımım ne olmalı ve neler yapmalıyım. En basitinden de olsa adım atmak istiyorum.

Yorumlarınızı ve cevaplarınızı bekliyor olacağım. Selametle
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

april17

kardeş ellerine sağlık sayende php de mail gndermeyi öğrendim uzun samandır bunun nasıl olduğunu merak ediyordum ama sanırım bir hata yapmışsın burada

<?php
$kime = "[email protected]";                                // Gidecek kişinin mail adresi
$konu = "www.simplemachines.org";                                 //   Mail'in subjecti
$mesaj = "Bu bir deneme mailidir";                                   //    Mail'in içeriği
$mesaj .= "PHP ile mail göndermeyi";                              //      Mail içeriğinin devamı (gerekli ise)
$mesaj .= "www.simplemachines.org'den öğrendim.";    //       Mail içeriğinin devamı (gerekli ise)
mail($kime, $subject, $mesaj);
?>

$konu olması gerektiği kanaatindeyim bilmeyen arkadaşlar buna dikkat etsin..
saygılar [email protected]

izmir_LEE

#26
Quote from: ~Ölüm Var~ on September 25, 2006, 02:34:22 AM
Şu an hedefim ya da hayalim şu ya da sorum diyelim: Yukarıda yazdığım bilgiler doğrultusunda localhost/index.php yazdığımda tamamen kodlaması bana ait bir sayfa nasıl oluşturabilirim. Şu anlık iletisim.php, kimim.php, anasayfa.php yapmayı hedefliyorum. Anket, saat, sayaç tarih vs ilerde olur. İlk adımım ne olmalı ve neler yapmalıyım. En basitinden de olsa adım atmak istiyorum.

(A.s.)
@ ~Ölüm Var~  Arkadaşım;
Dediğin şekilde anasayfamı falan local'de kendim yaptım bir aralar.
echo-if-else-include-switch gibi kodlarla ilgili bilgin varsa ilk etapta php-nuke üzerinden çalış derim.Böylece daha az kod yazıp, hangi kod ne işe yarar öğrenmiş oluyor insan.Ayrıca işini şu şekilde de kısaltırsın:

<?php
include("header.php");
if(
is_user($user)) { echo "Sen kayitli bir Kullanicisin!!"; }
if(
is_admin($admin)) { echo "Sen Yoneticisin!";}
?>



şeklinde bir sayfa hazırlarsan ve neyim_ben.php gibisinden isimle kaydedersen bu dosyayı çağırdığında eğer yönetici girişi yaptıysan Sen Yöneticisin! yazacaktır. Veya kullanıcı adınla giriş yaptıysan Sen kayıtlı bir Kullanıcısın  şeklinde uyarı alacaksın.
Bu kodlarda kullandıgımız include("header.php"); kodu senin veritabanına bağlanman için yeterli olacak ve seni $dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname); şeklinde bir kod yazma zahmetinden ve SQL in SELECT sorgusunu kullanmaktan kurtaracaktır.Ve son if satırının altına bir else {} eklersen farklı programları da çalışırabileceksin.Ayrıca header.php ye include kullanman sol bloklarını, banner-ını görmeni de sağlayacaktır.Tüm bu kolaylıklarından dolayı php-nuke ile başla derim ve kolaylıklar dilerim :)

Huzeyfe

izmir_lee kardes öncelikle cevap verdigin için çok tesekkür ederim. Ama kafamdaki sorular hala gitmedi hatta daha da artti :) Evet kod güzel ama header.php var orda ona ne yazacam mesela. Nuke'den basla derken neyi kastediyorsun ben 1 sene nuke kullandim. Forum deil sadece bir sayfa yapmay1 düsünüyorum bu haz1r olmamal1 ama
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

Huzeyfe

bir de biraz alakas1z olabilir kusura bakmayin ama php ile çok site bakt1m en fazla ho_uma giden sitelerden birisi ceviz.net diye bir site ama üyelikleri referans yolu ile oldugu için üye olam1yorum bu konuda bana yard1m eden olur mu acaba? Bu php'yi örenmeyi çok istiyorum :(
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

Huzeyfe

saol bak1yorum oraya ama php hakk1nda pek içerikli degil tavsiyeleri bekliyorum yine :(
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

spirit31-31

Uzun zamandır adsl ' em kesik olduğu için yeni görüyorum ancak abi :) benim gibi sıfır bilgisi olanlar için çok iyi bir kaynak eline yüreğine sağlık abi... :D


Eğer Forumunuz Rc2 'yse ve Kategori İçindeyken VeriTabanı (Mysql) Hatası Veriyorsa
http://www.simplemachines.org/community/index.php?topic=107023.0





Huzeyfe

ben de uzun ugra_lar1m sonucu görüntülü sesli php dersleri buldum çok da güzelmi_ çok daha iyi kavrad1m ama dediim _eyi hala nas1l yapabilirin bilmiyorum :(

bir de benim klavye niye böyle yaz1yor :(
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

izmir_LEE

~Ölüm Var~  sana uzun uzadıya bir mesaj yazmıştım ve tam gönderiyordum ki bağlantım koptu-geldi.
Bizim mesaj ziyan oldu.
1 MySql tablo sorgusu yazmış, index.php için 4 ayrı dosya hazırlamıştım.Bu olay canımı baya sıktı.Kafamı toplayınca gene yazarım

izmir_LEE

#33
Düzenlendi, denendi....

Menu.sql

CREATE TABLE IF NOT EXISTS sitemenusu (
baslik varchar(55) NOT NULL,
linki varchar(255) NOT NULL,
PRIMARY KEY (baslik)
);


Bu komut ile iki sütunlu bir tablo oluşturduk.Tablomuzun birinci sütununda link için görünecek yazı, ikinci sütununda linkin kendisi olacak ve dosyamız bu tablodan veri çekerken işimiz yarayacak.Şimdilik fazla kafaya takmayalım :=)

Temel amacımız anasayfa.php adında ve veritabanı ile uyumlu çalışacak bir dosya yapmak.
İkide bir veritabanına bağlanmak için mysql_connect() kullanmamak için  bir dosya yazalım:

baglan.php
<?php
$VT_adi
="veritabaninin_ismi";
$VT_kll="veritabanina_baglanmak_icin_kullandigin_kul_adi";
$VT_sifre="veritabani_sifresi";
$bagla = @mysql_connect("localhost"$VT_kll$VT_sifre) or die("Veritabanina baglanti yalan oldu");
@
mysql_select_db($VT_adi$bagla) or die ($VT_adi " veritabanini bulamadim.");
?>


Buradaki değerleri de $ ile başlayan satırların ilk üçünde yerine yazıyoruz.Bağlanma dosyamız hazır.

Şimdi sayfamızın sol tarafına bir menü alanı yazalım:

solblok.php



<?php
include("baglan.php"); //vertabanina baglanmak icin tekrar kod yazmamak icin verileri baglan.php den cektik

$sira 0;
$kaclink 7//buraya kac tane link gorunmesini istiyorsan yaz.
  
while ($sira $kaclink )
{

  
$netice mysql_query("select baslik, linki from sitemenusu"); //sql sorgusu sonucunu döndürür
  
$bslk mysql_result($netice$sira'baslik'); //basliklari al dedik
 
$lnk mysql_result($netice$sira'linki'); //linkleri oku tablodan dedik

  
echo "<a href=\"$lnk\">$bslk</a> <br>";
$sira++;
}

?>


Buraya kadar tamam.Gelelim esas mevzu bahise: anasayfa.php



<?php
echo "<table align=left><td align=left>";
include(
"solblok.php");
echo 
"</td></table>";
echo 
"<font color=\"red\">Burasi Anasayfanin kalan kismi </font>";
?>



(Önceki mesajlarımdan birinde include() kullanımının kod yazmakta kolaylık sağlayacağından bahsettim.anasayfa.php dosyası da bunu destekliyor gibi!)
Buraya kadar iyi hoş ama biz tablomuza veri girmedik, veritabanına bağlandığımızda -veri olmayınca- çile mi çekecez? :) Şimdi sol blogumuzda link görünmesini istiyorsak veritabanına link girmemiz kolaylık olacaktır.Bunun için phpmyadmin e mi baglanıp duracağız?Elbette hayır.

linkekle.php
<?php
include("baglan.php");
$varmi mysql_query("SELECT baslik, linki FROM sitemenusu WHERE baslik='".$_POST[baslik]."'"); //girdi vt'da mevcut mu?
if (mysql_num_rows($varmi) > 0) { echo "Menu mevcut oldugundan islem kesildi.."; }
else {
$sql=("INSERT INTO sitemenusu (baslik, linki) VALUES ('$baslik','$linki')");  // Madem girdi mevcut degil, o zaman kaydet ki mevcut olsun :) 
}
if (@
mysql_query($sql)) 
{
 echo 
"<center><br><br><br><b>Kayit basariyla tamamlanmistir.</b><br><br><br></center>"// tamamdir

}
else {
echo 
"Eklenemedi..";
}
echo 
"<p> <a href=\"http://siteadresi/linkilave.php\">Yeni Link Ekle</a></p>"//istege bagli bu satir
?>



Bu, eklemeyi veritabanına kaydedecek olan sayfamız olan sayfamız.Bu kodları çalıştıracak olan bir arayüz yazalım:
linkilave.php veya linkilave.html

<form name="form1" method="post" action="linkekle.php">
<table width="60%" border="0" align="center">
<tr>
<td width="29%" align="right">Görünecek İsim</td>
<td width="12%" align="center">:</td>
<td width="59%"><input name="baslik"  type="text" maxlength="45" id="baslik"></td>
</tr>
<tr>
<td align="right">Link</td>
<td align="center">:</td>
<td><textarea id="linki" wrap="virtual" cols="50" rows="12" name="linki"></textarea></td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
<td><input type="reset"  name="Reset" value="Temizle">
<input type="submit"  name="Submit2" value="Gönder"></td>
</tr>
</table>
</form>

Browser ile  w w w.siteadi.c om/linkilave.php dosyasını çağırdığımızda yaptığımız arayüz ile veritabanına işler, anasayfa.php yi çağırarak yaptıklarımızı görebiliriz.
Bu mantıkla index'imizi oluşturabiliriz.

ÖNEMLİ NOT:

  • Bu kodlar index yazmak için yeterli değildir.Zaten koca bir sitenin her sayfasının kodlarını buraya yazmak hem yazana hem Simple Machines'e ayıp olur.
  • Veritabanına kayıt girecek dosyanın HALKA AÇIK olduğu göz önünde bulundurulmalıdır.Yönetici olsun olmasın herkes bu sayfaya link ekleyebilecektir.Bunu engellemek için ayrıca SESSION_START(), SESSION_REGISTER(), SESSION_DESTROY() gibi kodlara göz gezdirmeniz tavsiye edilir.
  • Bu sorgular ve kodlar tamamen fikir alış-verişi amaçlıdır.Güvenlik önlemleri alınmamıştır ve anasayfa.php de tablo kayması meydana gelebileceği tahmin edilmektedir.Buradan kopyalayıp-yapıştırarak sayfa yazılmaz.Kendinize göre uyarlayıp, bu sayfaya baka baka yazmanızı tavsiye ediyorum.
  • Hiçbir yerden alıntı felan değildir, alınteridir.
  • Faydalı olması dileğiyle

----------------------------------------------------------------------------------
@ ~Ölüm Var~ 
Ceviz.Net e üye olacaksan referans kısmında benim nicki kullanabilirsin.(Sorun referans yanlış anlamadıysam...)
Bu arada klavyendeki o sorun birkere başıma gelmişti.Nedeninin Toolbar oldugunu tespit ettim.Google veya başka bir toolbar kullanıyorsan kaldırmanı tavsiye ederim.Ya da explorer'ın araç çubugundan devre dışı bırakırsın.

@TayNet.Net seninle soyadaşmışız dikkatimi çekti :)

Huzeyfe

1- öncelikle tolbarı silip şu karakter bozukluğundan kurtulduğum için çok teşekkür ederim ne ara kurulumum bu google toolbar :)
2- ceviz.nete üye oldum sağol
3- Daha sql sorgusunu yaparken ilk hatayı aldım "#1072 - Key column 'id' doesn't exist in table"
4- Bu yüzden gerisi gelmedi bu kadar uğraş verdiğin için çoook teşekkür eder saygılarımı sunarım. ve bu örnek davranışını tebrik ederim
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

Huzeyfe

bir de kardeşim bu kadar kodu elle mi yazıyorsun yoksa dreamweawer gibi bir araç mı kullanarak mı yazıyorsun.
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

izmir_LEE

Ya yazarken canım sıkkındı biraz dalgınlıkla id yazmışım :)
Menu.sql dosyamızdan (ilk yazdığımız dosya) PRIMARY KEY (id) yerine PRIMARY KEY (baslik) yazmamız gerekiyor.
Toolbar sorunundan kurtulduguna sevindim.
Bu kodların tamamını editör kullanmadan el ile yazdım.Yine olası bir hatayı yazarsanız sevinirim. Paylaşım zaten bilgi dayanışmasıdır değil mi? Biri yazar, biri düzeltir, biri modifiye eder derken harika kodlar çıkar :)

Huzeyfe

karşılaştığım hatalar:

anasayfa.php ---> Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-8\www\kat\solblok.php on line 4

linkekle.php ---> Parse error: parse error in c:\program files\easyphp1-8\www\kat\linkekle.php on line 16

solblok.php ---> Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-8\www\kat\solblok.php on line 4


sadece linkilave.php sorun yapmadı o çalıştı. Ya seni de çok yordum kusura bakma :( olmuyor bir türlü ama vazgeçmek yok
Bazı zamanlar vardır dostluğun, sevginin göstergesidir. Yürek yüreğe değer. Sadık dost EBUBEKİR mağarada yılan deliğine ayağını kapattığında, miracı duyunca " EĞER O SÖYLÜYORSA DOĞRUDUR" dediğinde yüreği Allah dostunun yüreğine dokunmuştur.

izmir_LEE

@~Ölüm Var~

Kodları düzenledim ve denedim.Geçen yazdığımda da söylediğim gibi; kafam dalgındı.Kodlarda birden fazla hata gözüme çarptı.Ben sql sorgularını genelde header.php aracılığıyla (php-nuke nin sırtından :) ) çalıştırdığım için iki tane sorunlu değişken kullanmışım kodlarda.
İstersen bunları bir klasör içerisine kaydet ve o klasörde bir  .htaccess dosyası oluştur.

.htaccess


DirectoryIndex "anasayfa.php";



Yukarıdaki kodları da bu  dosyaları oluşturdugun dizine atarsan sayfayı çağırmana gerek kalmaz.
Mesela localhost'ta deneme adında bir klasöre kaydedersen bunları; http://localhost/deneme/  şeklinde çağırdığında anasayfa.php karşına çıkacaktır.Bu kodlarla oynayıp, buna benzer sayfalar oluşturup güzel bir index hazırlayabilirsin.Bu arada EasyPHP yerine Apache2Triad tercihimdir.Daha seri çalışır. Ama "Benim işlemcim de RAM'de süper çalışıyor" dersen bilemem. Yine yardımlaşırız.
Kolay gelsin

Root

ellerinize saglik basit php güzel anlatilmis

Advertisement: