Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
288
Tıklama
0
Öne Çıkarma
Bu PHP Kodundaki Hata Nerede?
A
19 yıl
Teğmen
Konu Sahibi

merhaba

cms ile site kuruyordum ama yeterli gelmeyince php de bilgilerimi ilerleteyim deim baştan başladım kitaptan örnekleri uygulamaya fakat kodlar hata veriyor. kodlar şu şekilde:

<form action="" method="post">
<input type="password" name="sifre"><br/>
<input type="submit" name="Giriş">
</form>

<?php
if ($sifre==123){
echo "Şifre doğru";
}
else{
echo "Şifre yanlış";
}
?>


bu kodlar mehmet şamlının PHP 5 kitabından, ayrıca PHP ile web programcılığı kitabıda var ondaki örneklerde hata veriyor. yukarıdaki kodu yazıpta daha sayfayı açar açmaz verdiği hata ise şu şekilde:

Notice: Undefined variable: sifre in c:\easyphp\www\index.php on line 8
Sifre yanlis


anladığım kadarıyla 8. satırdaki değişkenin tanımlanmadığını söylüyor. bende 8. satırda şu var:

if ($sifre==123){
echo "Şifre doğru";
}


hatanın nerede olduğu konusunda yol gösterirseniz sevinirim. ilginize teşekkürler.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



F
19 yıl
Çavuş

burdaki sorun name=Giriş olayı olmasada bir uyarıda bulunayım name'lerde türkçe karakter kullanma yani orası name=giris olsun bu bir ikincisi hatan easyphp kullanmandan kaynaklanıyor muhtemelen çünkü kodlarda bir problem yok yalnız global_register ayarlarının off olduğu sunucularda inputtan gelen değeri post ile almalısın phpde bunun en kısa yolu postları extract etmektir özetle şu şekide:
 
<form action="" method="post">
<input type="password" name="sifre"><br/>
<input type="submit" name="giris">
</form>

<?php
extract($_POST);
if ($sifre==123){
echo "Şifre doğru";
}
else{
echo "Şifre yanlış";
}
?>

localin kendin kurmayı öğrenmeni tavsiye ederim php mysql ve apache yeni sürümlerini rahatlıkla herhangi bir programa bağlı kalmaksızın istediğin gibi kurabilir mysqle dayalı kalmaz sunucuna postgresqli ve diğer veritabanlarınıda kullanabilirsin.Bu yolda ilerlemek istiyorsan bu şart.
http://www.in-spiretech.com/apache-php-mysql/index.html
verdiğim adreste gayet sade ve herkesin anlayabileceği bir dilde php mysql ve apache'yi windows xp işletim sistemine nasıl kurabileceğiniz anlatılmıştır.Kolay Gelsin!





< Bu mesaj bu kişi tarafından değiştirildi fegabj -- 15 Ağustos 2006; 22:40:00 >
Bu mesaja 2 cevap geldi.
A
19 yıl
Teğmen
Konu Sahibi

quote:

Orjinalden alıntı: fegabj

burdaki sorun name=Giriş olayı olmasada bir uyarıda bulunayım name'lerde türkçe karakter kullanma yani orası name=giris olsun bu bir ikincisi hatan easyphp kullanmandan kaynaklanıyor muhtemelen çünkü kodlarda bir problem yok yalnız global_register ayarlarının off olduğu sunucularda inputtan gelen değeri post ile almalısın phpde bunun en kısa yolu postları extract etmektir özetle şu şekide:
 
<form action="" method="post">
<input type="password" name="sifre"><br/>
<input type="submit" name="giris">
</form>

<?php
extract($_POST);
if ($sifre==123){
echo "Şifre doğru";
}
else{
echo "Şifre yanlış";
}
?>

localin kendin kurmayı öğrenmeni tavsiye ederim php mysql ve apache yeni sürümlerini rahatlıkla herhangi bir programa bağlı kalmaksızın istediğin gibi kurabilir mysqle dayalı kalmaz sunucuna postgresqli ve diğer veritabanlarınıda kullanabilirsin.Bu yolda ilerlemek istiyorsan bu şart.
http://www.in-spiretech.com/apache-php-mysql/index.html
verdiğim adreste gayet sade ve herkesin anlayabileceği bir dilde php mysql ve apache'yi windows xp işletim sistemine nasıl kurabileceğiniz anlatılmıştır.Kolay Gelsin!


gerçekten güzel anlatılmış bir site ancak php 5 e göre anlatıyor ben 4.. sürümünü kullandığımdan onu uygulayamadım. daha sonra php triad kurdum onda kodlar düzgün çalıştı. birde dukenukem18 in dediği appserv i bulup deneyeyim bakalım nasıl olacak. ben phptriadda apache'yi çalıştırınca görev çubuğunda yer kaplamasından rahatsız olduğumdan easyphp denemiştim neyseki problem easyphp deymiş. ilginize çok ama çok teşekkürler.


Bu mesaja 2 cevap geldi.
F
19 yıl
Çavuş

quote:

Orjinalden alıntı: alpeki99

quote:

Orjinalden alıntı: fegabj

burdaki sorun name=Giriş olayı olmasada bir uyarıda bulunayım name'lerde türkçe karakter kullanma yani orası name=giris olsun bu bir ikincisi hatan easyphp kullanmandan kaynaklanıyor muhtemelen çünkü kodlarda bir problem yok yalnız global_register ayarlarının off olduğu sunucularda inputtan gelen değeri post ile almalısın phpde bunun en kısa yolu postları extract etmektir özetle şu şekide:
 
<form action="" method="post">
<input type="password" name="sifre"><br/>
<input type="submit" name="giris">
</form>

<?php
extract($_POST);
if ($sifre==123){
echo "Şifre doğru";
}
else{
echo "Şifre yanlış";
}
?>

localin kendin kurmayı öğrenmeni tavsiye ederim php mysql ve apache yeni sürümlerini rahatlıkla herhangi bir programa bağlı kalmaksızın istediğin gibi kurabilir mysqle dayalı kalmaz sunucuna postgresqli ve diğer veritabanlarınıda kullanabilirsin.Bu yolda ilerlemek istiyorsan bu şart.
http://www.in-spiretech.com/apache-php-mysql/index.html
verdiğim adreste gayet sade ve herkesin anlayabileceği bir dilde php mysql ve apache'yi windows xp işletim sistemine nasıl kurabileceğiniz anlatılmıştır.Kolay Gelsin!


gerçekten güzel anlatılmış bir site ancak php 5 e göre anlatıyor ben 4.. sürümünü kullandığımdan onu uygulayamadım. daha sonra php triad kurdum onda kodlar düzgün çalıştı. birde dukenukem18 in dediği appserv i bulup deneyeyim bakalım nasıl olacak. ben phptriadda apache'yi çalıştırınca görev çubuğunda yer kaplamasından rahatsız olduğumdan easyphp denemiştim neyseki problem easyphp deymiş. ilginize çok ama çok teşekkürler.

alpeki php5i birtek conf dosyasına loadmodule derken yani apacheye tanıtırkan kullanıyorsun orayı kendin düzenleyebilirsin onun dışında php5 yerine 4 kullanabilir.Ancak php5 php için bana göre yeni bir çığırdır gerek OOP mantığının düzenlenmesi ve tam anlamıyla bir nesne dili olması konusunda önemli adımlar atılmış private,public,catche vs... gibi kodlar getirilmiş buda performans açısından önemlidir.SXML olayı xml'in zor kalıbından sizi kurtarır.Birde PDO kütüphanesinden bahsetmeden edemiycemwww.php.net/pdo sql injection olayını engellediklerini ifade etmişlerdir.Kod yapısına daha önce perlde kullandığımız prepare,bindParam,execute gibi komutlar gelmiştirki php5 kullananlar bu kodları mysqli kütüphanesinden hatırlayacaklar özetle php5 kullanmak sizi mysql_escape_string yapmaktan karakter katarlarından ve bin türlü cambazlıklardan kurtarabilir.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.