#!/usr/bin/perl # # Personel kayitlarinda degisiklik yapma/yeni kayıt ekleme modulu use DBI; require "parametre.pl"; require "fonksiyonlar.pl"; # # Eğer gelen CGI parametreleri arasinda "islem" diye bir degisken # varsa ve degeri "Kaydet" ise, form bilgileri veri tabanina # kaydedilecek. # Eğer "islem" değişkeninin değeri "Yeni" ise yeni bir kayıt # eklemek üzere boş bir form görüntülenecek demektir. # Eğer "islem" değişkeninin değeri "Ekle" ise form alanlarındaki # bilgileri yeni bir personel kaydı olarak ekler. # Eğer "islem" değişkeni tanımlı değilse "kayit_no" değişkenindeki # kayit_no numaralı personelin kaydı değiştirilmek üzere görüntülenecek # demektir. # %FORM_DEGERLERI = form_verilerini_al(); if ($FORM_DEGERLERI{'islem'} eq "Kaydet") { # Kullanıcı "Kaydet # butonunu tıkladıysa... # MySQL sunucusuyla baglantiyi kur $dbh = DBI->connect( $veri_kaynagi, $mysql_kullanicisi, $sifre) or hata("$veri_kaynagi veri tabani ile baglanti kurulamadi \n"); # # SQL komutunu olustur. $sql = "update personel set "; $sql .= " soyad=\"$FORM_DEGERLERI{'soyadi'}\","; $sql .= " ad=\"$FORM_DEGERLERI{'adi'}\","; $sql .= " tel=\"$FORM_DEGERLERI{'tel'}\","; $sql .= " eposta=\"$FORM_DEGERLERI{'eposta'}\","; $sql .= " gorev=\"$FORM_DEGERLERI{'gorevi'}\","; $sql .= " isyeri=\"$FORM_DEGERLERI{'isyeri'}\" "; $sql .= " where kayit_no=\"$FORM_DEGERLERI{'kayit_no'}\";"; # SQL komutunu calistir. $dbh -> do($sql) or hata("$sql komutu calistirilamadi!<p>\n"); # SQL Sunucusuyla bağlantıyı kes, $dbh -> disconnect(); # Kullanıcının tarayıcısını uygulama ana sayfasına gönder print "Location: rehber.cgi\n\n"; exit; } # # Eğer "islem" değişkeninin değeri "Ekle " ise form alanlarındaki # bilgileri yeni kayıt olarak ekle if ($FORM_DEGERLERI{'islem'} eq "Ekle") { # MySQL sunucusuyla bağlantıyı kur $dbh = DBI->connect( $veri_kaynagi, $mysql_kullanicisi, $sifre) or hata("$veri_kaynagi veri tabani ile baglanti kurulamadi \n"); # # SQL komutunu oluştur. $sql = "insert personel values ( "; $sql .= " \"$FORM_DEGERLERI{'soyadi'}\","; $sql .= " \"$FORM_DEGERLERI{'adi'}\","; $sql .= " \"$FORM_DEGERLERI{'tel'}\","; $sql .= " \"$FORM_DEGERLERI{'eposta'}\","; $sql .= " \"$FORM_DEGERLERI{'gorevi'}\","; $sql .= " \"$FORM_DEGERLERI{'isyeri'}\","; $sql .= "NULL);"; # kayit_no -> AUTO_INCREMENT # SQL komutunu çalıştır. $dbh -> do($sql) or hata("$sql komutu çalıştırılamadı!<p>\n"); # SQL Sunucusuyla bağlantıyı kes, $dbh -> disconnect(); # Kullanıcının tarayıcısını uygulama ana sayfasına gönder print "Location: rehber.cgi\n\n"; exit; } # # Eğer "kayit_no" CGI değişkeninde personel kayit_no numarası geldiyse # kayıt ayrıntılarını bir formda gösterip kullanıcıya edit olanağı # tanımalıyız. # Eğer "islem" değişkeninde "Yeni" varsa, boş form göstermeliyiz. if ( $FORM_DEGERLERI{'kayit_no'} ) { $kayit_no = $FORM_DEGERLERI{'kayit_no'}; # # Bu kayit_no numaralı personelin kaydını veri tabanında bul # MySQL sunucusuyla bğglantıyı kur $dbh = DBI->connect( $veri_kaynagi, $mysql_kullanicisi, $sifre) or hata("$veri_kaynagi veri tabanı ile bağlantı kurulamadı \n"); # # SQL komutunu oluştur. $sql = "select kayit_no, soyad, ad, tel, eposta, gorev, isyeri "; $sql .= " from personel where kayit_no=\"$kayit_no\";"; # SQL komutunu ön hazırlığa gönder $sth = $dbh -> prepare($sql); # SQL komutunu çalıştır. $sth -> execute() or hata("$sql komutu çalıştırılamadı!<p>\n"); # Veri tabanından gelen değerleri al ($kayit_no, $soyad, $ad, $tel, $eposta, $gorevi, $isyeri) = $sth -> fetchrow_array(); # Personelin kaydını bulabildik mi? if( !$kayit_no) { hata ("Garip! $FORM_DEGERLERI{'kayit_no'} kayit_no numaralı personelin kaydı bulunamadı!\n<p>"); exit; } # Veri tabaıyla işimiz bitti $dbh -> disconnect(); } # Edit/Ekle formunu göster print "Content-type: text/html\n\n"; print <<_SON_; <head> <meta http-equiv="Content-Language" content="tr"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Personel Kaydi Guncelleme Formu</title> _SON_ css(); # CSS komutları print <<_SON_; </head> <body style="font-family: Arial"> <p align="center"><b> <font size="4" color="#003300">CGI A.Ş.</font><br> <font size="2" color="#003300">Telefon / e-Posta Rehberi</font></b><br> <font size="2" color="#003300">Veri Güncelleştirme Formu</font></p> <form method="POST" action="edit.cgi"> <center> <div align="center"> <p> <center> <table width="95%" cellpadding="3" border="0"> <tr> <td bgcolor="#777777" width="40%" align="right"><b> <font size="2" color="ffffff">Soyadı </b></td> <td><b><font size="2"><input type="text" name="soyadi" size="30" value="$soyad"></b></td> </tr> <tr> <td bgcolor="#777777" align="right"><b> <font size="2" color="ffffff">Adı </b></td> <td><b><font size="2"><input type="text" name="adi" size="30" value="$ad"></b></td> </tr> <tr> <td bgcolor="#777777" align="right"><b> <font size="2" color="ffffff">Tel </b></td> <td><b><font size="2"><input type="text" name="tel" size="30" value="$tel"></b></td> </tr> <tr> <td bgcolor="#777777" align="right"><b> <font size="2" color="ffffff">e-Posta </td> <td><b><font size="2"><input type="text" name="eposta" size="30" value="$eposta"></b></td> </tr> <tr> <td bgcolor="#777777" align="right"><b> <font size="2" color="ffffff">Görevi </td> <td><b><font size="2"><input type="text" name="gorevi" size="30" value="$gorevi"></b></td> </tr> <tr> <td bgcolor="#777777" align="right"><b> <font size="2" color="ffffff">İşyeri </b></td> <td><b><font size="2"><input type="text" name="isyeri" size="30" value="$isyeri"></b></td> </tr> </table> <p> <input type="hidden" name="kayit_no" value="$kayit_no"> _SON_ if ($FORM_DEGERLERI{'islem'} eq "Yeni" ) { print "<input type=\"submit\" name=\"islem\" value=\"Ekle\"><p>"; } else { print "<input type=\"submit\" name=\"islem\" value=\"Kaydet\"><p>"; } print <<_SON_; <a href="rehber.cgi">Rehber'e Dönüş</a> </form> </body> </html> _SON_ exit;