Doğru Cevap
-
Aşağıdaki şekilde yaparsanız mysql hata logları dökülür...
else { echo mysql_error(); }
-
muttoli
No database selectedHata: kayıt işlemi gerçekleşemedi
hatası alıyorum fakat db de sorun yok kodlar doğru vt bağlantı sayfam hatasız
işte vt bağlantı sayfa kodları
$link = mysql_connect("localhost", "root", "root") or die(mysql_error()); $db = mysql_select_db("eczaneler", $link) or die (mysql_error()); mysql_query("SET NAMES 'latin5'"); mysql_query("SET CHARACTER SET 'latin5'"); mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'"); mysql_close($link);
vt adım eczaneler
vt tablom nobetciler
vt nobetciler tablosu alanları
id,adi,adres,telefon,gun,ay10 yıl önce yazılmış
-
Cevaplar
-
1-Post ile alınan verileri direk süzmeden kullanmışınız kullanıcılara katiyen güvenmeyin:)
2-en altta bir tane süslü parentez var tabi yukarda herhangi if,döngü yok ise
3-nobetciler tablosunun kolon tipleri alınan verilerle ile aynı mı ?
4-alınan hata nedir ?-
muttoli
hocam
1-verileri süzdüğüm kodları gereksiz diye yazmadım oralar var
2-o gördüğünüz süslü parantez kodların süzülmesinden kaynaklanan en son else ye ait
3-tablo alanları ---- id,adi,adres,telefon,gun,ay10 yıl önce yazılmış -
muttoli
nobetkaydet.php sayfamın tamamı sorun bu sayfaya formdan gelen verileri son kez basıyorum ama her nedense vt ye girmiyorob_start(); include "baglantim.php"; // Veritabanı Bağlantı sayfamızı buraya çağıralım //Hata Mesajlarımızı oluşturalım $hata1="Eczane Adını boş Bıraktınız"; $hata2="Eczane Adresini boş Bıraktınız"; $hata3="Eczane Telefonu'nu boş Bıraktınız"; $hata4="Eczane Nöbet Gününü boş Bıraktınız"; $hata5="Eczane Nöbet Ayını boş Bıraktınız"; //Formdan gelen verilerin boşmu dolumu olduğunu kontrol edelim if (empty($_POST['adi'])) { Echo "<b>$hata1<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['adres'])) { echo "<b>$hata2<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['telefon'])) { echo "<b>$hata3<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['gun'])) { echo "<b>$hata4<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['ay'])) { echo "<b>$hata5<b/>"; header ("refresh: 2; url=nobetgir.php"); } else // Formdan gelen veriler boş değilse kayıt işlemine geçelim { // Öncelikle Formdan gelen verileri değişkenlere atayalım $adi=$_POST['adi']; $adres=$_POST['adres']; $telefon=$_POST['telefon']; $gun=$_POST['gun']; $ay=$_POST['ay']; //Formdan gelen verileri son kez ekrana yazdıralım echo "Eczane Adı :$adi<br>"; echo "Eczane Adresi :$adres<br>"; echo "Eczane Telefonu :$telefon<br>"; echo "Eczane Nöbet Günü :$gun<br>"; echo "Eczane Nöbet Ayı :$ay<br><br>"; //formdan gelen veriler kontrolden geçtiğine ve değişkenlere atandığına göre şimdi veritabanına kayıt edelim $kaydet = mysql_query("insert into nobetciler (adi, adres, telefon, gun, ay) values ('$adi', '$adres', '$telefon', '$gun', '$ay')") ; if ($kaydet) { echo "Nöbet Kayıt işlemi Başarıyla tamamlandı"; header ("refresh: 3; url=nobetgir.php"); } else { echo mysql_error(); echo "Hata: kayıt işlemi gerçekleşemedi."; } } ?>
10 yıl önce yazılmış -
drlinux
aklıma gelen tek yol baglantim.php dosyasinin pathi düzgün değil...10 yıl önce yazılmış -
muttoli
hocam yukarıda bağlantim.php sayfasını verdim bakarmısınız10 yıl önce yazılmış -
muttoli
bu arada şunu belirtmeyi unuttum evdeki kendi pc'mde localhost ta deniyorum bunları yollar ondan dolayı localhost root root sizi şaşırtmasın10 yıl önce yazılmış -
drlinux
nobetkaydet.php ile baglantim.php dosyasi aynı klasörde mi? ya da direk hiç include etmeyin dosyayı baglantim.php dosyasının içeriğini nobetkaydet.php dosyasına yazın bakalım ne olacak.10 yıl önce yazılmış -
muttoli
BUYRUN DENEME AMAÇLI YAPTIĞIM VT NİN SQL KODLARI-- phpMyAdmin SQL Dump -- version 2.10.3 -- http://www.phpmyadmin.net -- -- Anamakine: localhost -- Üretim Zamanı: 22 Şubat 2012 saat 02:09:06 -- Sunucu sürümü: 5.0.51 -- PHP Sürümü: 5.2.6 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Veritabanı: `eczaneler` -- -- -------------------------------------------------------- -- -- Tablo yapısı: `nobetciler` -- CREATE TABLE `nobetciler` ( `id` int(11) NOT NULL auto_increment, `adi` varchar(150) NOT NULL, `adres` text NOT NULL, `telefon` varchar(100) NOT NULL, `gun` int(10) NOT NULL, `ay` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; -- -- Tablo döküm verisi `nobetciler` -- INSERT INTO `nobetciler` VALUES (1, 'Şeref', 'Çarşı içi', '0123 456 78 90', 22, 'şubat');
10 yıl önce yazılmış -
drlinux
Aşağıdaki şekilde dener misiniz?
ob_start(); $link = mysql_connect("localhost", "root", "root") or die(mysql_error()); $db = mysql_select_db("eczaneler", $link) or die (mysql_error()); mysql_query("SET NAMES 'latin5'"); mysql_query("SET CHARACTER SET 'latin5'"); mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'"); mysql_close($link); //Hata Mesajlarımızı oluşturalım $hata1="Eczane Adını boş Bıraktınız"; $hata2="Eczane Adresini boş Bıraktınız"; $hata3="Eczane Telefonu'nu boş Bıraktınız"; $hata4="Eczane Nöbet Gününü boş Bıraktınız"; $hata5="Eczane Nöbet Ayını boş Bıraktınız"; //Formdan gelen verilerin boşmu dolumu olduğunu kontrol edelim if (empty($_POST['adi'])) { Echo "<b>$hata1<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['adres'])) { echo "<b>$hata2<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['telefon'])) { echo "<b>$hata3<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['gun'])) { echo "<b>$hata4<b/>"; header ("refresh: 2; url=nobetgir.php"); } else if (empty($_POST['ay'])) { echo "<b>$hata5<b/>"; header ("refresh: 2; url=nobetgir.php"); } else // Formdan gelen veriler boş değilse kayıt işlemine geçelim { // Öncelikle Formdan gelen verileri değişkenlere atayalım $adi=$_POST['adi']; $adres=$_POST['adres']; $telefon=$_POST['telefon']; $gun=$_POST['gun']; $ay=$_POST['ay']; //Formdan gelen verileri son kez ekrana yazdıralım echo "Eczane Adı :$adi<br>"; echo "Eczane Adresi :$adres<br>"; echo "Eczane Telefonu :$telefon<br>"; echo "Eczane Nöbet Günü :$gun<br>"; echo "Eczane Nöbet Ayı :$ay<br><br>"; //formdan gelen veriler kontrolden geçtiğine ve değişkenlere atandığına göre şimdi veritabanına kayıt edelim $kaydet = mysql_query("insert into nobetciler (adi, adres, telefon, gun, ay) values ('$adi', '$adres', '$telefon', '$gun', '$ay')") ; if ($kaydet) { echo "Nöbet Kayıt işlemi Başarıyla tamamlandı"; header ("refresh: 3; url=nobetgir.php"); } else { echo mysql_error(); echo "Hata: kayıt işlemi gerçekleşemedi."; } } ?>
10 yıl önce yazılmış -
muttoli
Sorunu Çözdüm
Sorun Veritabanı Bağlantı sayfasındaki hatadan kaynaklanıyormuş
yeni veritabanı sayfası şu şekilde yaptım
$db_host="localhost"; $db_password="root"; $db_user="root"; $db_name="eczaneler"; $baglanti=mysql_connect($db_host,$db_user,$db_password); if (!$baglanti) die ("Mysql Bağlantısında sorun var"); mysql_select_db($db_name,$baglanti) or die ("Veritabanı Bağlantısında sorun var")
şimdi kayıtları girebiliyorum sorulara cevap yazan herkese çok teşekkürler10 yıl önce yazılmış -
sagoral
Hocam yeni gördüm, mysql_close($link); kodu ile sen veritabanı bağlantını sonlandırıyorsun... Ondan sonra MySQL işlemleri yapamazsın zaten :)10 yıl önce yazılmış
-