DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
940
Tıklama
0
Öne Çıkarma
Acemiliğin gözü kör olsun :((((
S
18 yıl (556 mesaj)
Yüzbaşı
Konu Sahibi

Merhaba,

Bir db var adı " arac " tablo adı da " tbl_arac " htmlde hazırladığım formdan gelen verileri tabloya eklemek istiyorum. Eklediğim bilgileride kontrol etmek istiyorum. İlk kontrol boş dolu kontrolü. Çalışıyor ve eğer dolu ise yüklüyor. Dbyebaktığımda yükleme işlemi tamam. sorun aynı kaydın birde fazla girilmesini engellemek. bunuda plaka üzerinden yapacağım. ama bir türlü beceremedim.


denediğim kod bu şekilde

$kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka=$plaka", $dbconn);

bu şekilde db den formdan gelen $plaka verisi ile eşleşen data olup olmadığını anlamaya çalışıyorum ama hata vermiyor ve yükleme yapıyor.

if ($kontrol)
{
echo "bu araç kayıtlı." ;
}
elseif ($marka=="" or $model=="" or $plaka=="")
{
echo "Alanlar boş olmamalı...";
}
else
{
$sql="INSERT INTO tbl_arac (marka,model,plaka,mhacim,mno,sno,tfcikis,acins,lokasyon,muayene,tpul,kasko,locu) VALUES ('$marka ' ,' $model ',' $plaka',' $mhacim',' $mno',' $sno',' $tfcikis ',' $acins',' $lokasyon',' $muayene',' $tpul',' $kasko',' $locu')";
$sorgu=mysql_query($sql);
print "bilgi girişi tamam";
}


Şu an hatasız halide bu.

"
<?php
$dbconn= mysql_connect("localhost", "root" ) or die ("Bağlantı da hata");
mysql_select_db("arac", $dbconn ) or die ("db de hata");

$marka = addslashes($_POST['marka']);
$model = addslashes($_POST['model']);
$plaka = addslashes($_POST['plaka']);
$mhacim = addslashes($_POST['mhacim']);
$mno = addslashes($_POST['mno']);
$sno = addslashes($_POST['sno']);
$tfcikis = addslashes($_POST['tfcikis']);
$acins = addslashes($_POST['acins']);
$lokasyon = addslashes($_POST['lokasyon']);
$muayene = addslashes($_POST['muayene']);
$tpul = addslashes($_POST['tpul']);
$kasko = addslashes($_POST['kasko']);
$locu = addslashes($_POST['locu']);


if ($marka=="" or $model=="" or $plaka=="")
{
echo "Alanlar boş olmamalı...";
}
else
{
$sql="INSERT INTO tbl_arac (marka,model,plaka,mhacim,mno,sno,tfcikis,acins,lokasyon,muayene,tpul,kasko,locu) VALUES ('$marka ' ,' $model ',' $plaka',' $mhacim',' $mno',' $sno',' $tfcikis ',' $acins',' $lokasyon',' $muayene',' $tpul',' $kasko',' $locu')";
$sorgu=mysql_query($sql);
print "bilgi girişi tamam";
}

?>
"



*
18 yıl (134 mesaj)
Teğmen

Kayıt eklemeden önce bir fonksiyon yaz. Bu fonksiyon ile db deki plaka alanını girdiğin plaka ile kontrol ettir eğer değer tutuyor ise hata mesajı fırlat değilse kaydı gerçekleştir ;) PHP de yeniyim ama mantık budur;)

ekleme:

ayrıca db deki plaka alanını unique(benzersiz veri) olarak tanımlarsan aynı kayıttan 2. kez kaydetmene izin vermez;)





< Bu mesaj bu kişi tarafından değiştirildi *albay* -- 6 Kasım 2007; 15:33:06 >
Bu mesaja 1 cevap geldi.
1
18 yıl (1331 mesaj)
Yüzbaşı

arkadaşın dediği mantıkla önce kontrol ettir. eğer tutmuyor ise die; komutu ile işlemeyi durdur. böylece die; dan sonraki komutlar işlemez ve veri tabanına kayıt yapmaz.


Bu mesaja 1 cevap geldi.
S
18 yıl (556 mesaj)
Yüzbaşı
Konu Sahibi

db de plaka uniq. kaydı yaptırmadan kontrol edeceğim ama komutları yazdığımda değişen birşey olmuyor. yada ben yanlış yazıyorum.
"
$kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka=$plaka", $dbconn);

if ($kontrol)
{
echo "bu araç kayıtlı." ;
}
elseif
"
diye devam ediyor. ama bu yazım doğru değil.


Bu mesaja 1 cevap geldi.
*
18 yıl (134 mesaj)
Teğmen

sderici kardeş kontrol alanını plakayı girdiğin alanın değeri ile karşılaştırma yapman gerekiyor bu kodda. yani ;

if ($kontrol) = plaka alanı(örn. textbox1.text)
{
echo "bu araç kayıtlı." ;
}
elseif

insert sorgusu

"
diye devam ediyor. ama bu yazım doğru değil.

ayrıca bu sorguyu insertten önce yapman gerekir ;)


Bu mesaja 1 cevap geldi.
S
18 yıl (556 mesaj)
Yüzbaşı
Konu Sahibi

bir üst mesajda doğru değil diye yazdım zaten. ben doğru yazımı soruyorum.


quote:

Orjinalden alıntı: *albay*

sderici kardeş kontrol alanını plakayı girdiğin alanın değeri ile karşılaştırma yapman gerekiyor bu kodda. yani ;

if ($kontrol) = plaka alanı(örn. textbox1.text)
{
echo "bu araç kayıtlı." ;
}
elseif

insert sorgusu

"
diye devam ediyor. ama bu yazım doğru değil.

ayrıca bu sorguyu insertten önce yapman gerekir ;)




Bu mesaja 1 cevap geldi.
E
18 yıl (147 mesaj)
Teğmen

Merhaba arkadaşım;
Plaka alanının tipi sayı değildir sanırım. Bu durumda doğru SQL cümlesinin;
$kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka='$plaka'", $dbconn);
şeklinde olması gerektiği kanaatindeyim. Tırnaklara dikkat! Umarım böyle çalışır.
Aslında en güzeli şöyle yapmak olurdu herhalde;

$sql = "SELECT * FROM tbl_arac WHERE plaka = '" . $plaka . "'";
$kontrol=mysql_query($sql, $dbconn);

Gerçi şu addslashes fonksiyonlarına da kafam takılmadı değil hani..
Kolay gelsin..





< Bu mesaj bu kişi tarafından değiştirildi Elshuf -- 13 Kasım 2007; 18:02:02 >

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.