Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

formda seçilen checkboxların zorunlu alanlar dolduruluncaya kadar kalmasını sağlamak.

Bu sitenin soru sorma kısmında sorunun ilgili olduğu kategori checkboxlardan birini seçin örneğin PHP başlık ve soru detayını yazmaksızın Kaydet dediğinizde form kaydetme işlemi yapmıyor ancak seçili checkboxlar kalıyor. Bunu yapmaya çalışıyorum.

Basit bir örnek hazırladım.

İki tablom var.
1. Tablom tblduyuru
Formdan gönderilen Duyuru başlıklarını tutuyor
CREATE TABLE IF NOT EXISTS `tblduyuru` (
  `duyuru_id` int(20) NOT NULL auto_increment,
  `duyuru_baslik` varchar(255) collate utf8_turkish_ci NOT NULL,
  PRIMARY KEY  (`duyuru_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1;


2. Tablom tblduyuru_kurum
Formdan gönderilen Duyuru başlık numarasını ve işaretli checkboxların id numaralarını tutuyor.
CREATE TABLE IF NOT EXISTS `tblduyuru_kurum` (
  `id` int(20) NOT NULL auto_increment,
  `duyuru_id` int(20) NOT NULL,
  `kurum_id` int(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=1;



Buda işlem yaptığım duyuru.php sayfası
<?php
 $baslik = (!empty($_POST["baslik"]))?strip_tags(str_replace("'","`",$_POST["baslik"])):'';
 $kurum =  (!empty($_POST["kurum"]))?$_POST["kurum"]:'';
if (!empty($baslik)) 
{
$baglanti = mysql_connect('localhost', 'root', '123456') or die("");
@mysql_select_db('e-duyuru');
mysql_query("SET NAMES utf8") or die("Hata:".mysql_error());
 $sql="INSERT INTO tblduyuru (duyuru_baslik) VALUES ('".$baslik."')";
 $sonuc=mysql_query($sql) or die("error!");
 $duyuru_id=mysql_insert_id();
if(!empty($duyuru_id))
{
for($i=0; $i<count($kurum);$i++)
{
 $kurum_id = $kurum[$i];
 $sql="INSERT INTO tblduyuru_kurum (duyuru_id, kurum_id) VALUES ('".$duyuru_id."', '".$kurum_id."')";
 $sonuc=mysql_query($sql) or die("Hata!");
}
//header("Location: duyuru.php");
} 
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="tr" lang="tr" dir="ltr">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
html,body {margin:0; padding:0; border:0;}
body {font-family:Helvetica, Arial, Tahoma, sans-serif; font-size:13px; color:#444; line-height:1.5em;} 
#kapsayici {background:#fff;margin:10px auto;width:960px;border:1px solid #dfdfdf;min-height: 700px;}
input {border:1px solid #dfdfdf;width:150px;}
</style>
</head>
<body>
<div id="kapsayici">
<form action="duyuru.php" method="post">
<label>Başlık :<input type="text" name="baslik" value="<?php echo $baslik ?>" /></label><br />
<label><input type='checkbox' name='kurum[]' value='1'<?php echo $kurum[1] ? ' checked="checked"' : '';?> /> Kurum 01</label><br />
<label><input type='checkbox' name='kurum[]' value='2'<?php echo $kurum[2] ? ' checked="checked"' : '';?> /> Kurum 02</label><br />
<label><input type='checkbox' name='kurum[]' value='3'<?php echo $kurum[3] ? ' checked="checked"' : '';?> /> Kurum 03</label><br />
<input type="submit" name="submit" value="Gönder" />
</form>
</div>
</body>
</html>


Başlığı yazmazsak form işlem yapmıyor.
Diyelimki kişi başlığpı yazmadı ancak alttaki checkboxlardan bir ya da bir kaçını işaretledi.
Bu işaretlenen checkboxların işaretli olanlarını başlık dolduruluncaya kadar nasıl koruyabilirim.
<input type='checkbox' name='kurum[]' value='3'<?php echo $kurum[3] ? ' checked="checked"' : '';?>
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • php_delisi adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    10 cevap - 20 soru
    <input name="secimalani" type="secimalani" value="secimalani" onclick="return false">

    Bunu bir dene eğer yanlış anlamadıysam aradığın bunun gibi bişey. Geri kalanınıda bir if else yapısı ile kontrol ettirebilirsin. İyi çalışmalar...
    • php_delisi adlı üyenin fotoğrafı php_delisi
      Yalnız type kısmını yalnış yazmışım orası checkbox olacak:

      <input name="secimalani" type="checkbox" value="secimalani" onclick="return false">


      :)
      11 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      checkboxlardan işaretli olanları sayfa yenilendiğinde ya da başlık alanı boş kırakılıp sform submit edildiğinde check edilmiş olanların checkini seçili bırakmayı soruyorum yani <input ... checked="checked">
      11 yıl önce yazılmış