• 07-02-2010, 20:00:13
    #1
    Arkadaşlar aşağıdaki formda sorgu1'deki $ustid değişkenini diğer fonksiyona yollamam gerekli ancak ne yaptıysam başaramadım , kodda gördüğünüz gibi hidden olarak yolladım olmadı . Nasıl yollayabilirim ?

    echo "<form action=\"ekle.php?Git=AltAltKategoriKayit\" method=\"POST\">
    <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
      <tr>
        <td height=\"30\" colspan=\"3\" align=\"center\" valign=\"middle\">Ana Kategori</td>
      </tr>
      <tr>
        <td align=\"right\" valign=\"top\">Alt Kategori Listesi</td>
        <td align=\"center\" valign=\"middle\">:</td>
        <td align=\"left\" valign=\"top\"><select name=\"anaid\">";
    	
    	$sorgu1 = mysql_query("SELECT * FROM altmenu ORDER BY baslik ASC");
        while($yaz1=mysql_fetch_array($sorgu1)){
        $anaid     = $yaz1['anaid'];
    	$ustid     = $yaz1['id'];      // Bu id'yide diğer Function'a gördermem gerekiyor 
        $anabaslik = $yaz1['baslik'];
    	
        echo "<option value=\"$anaid\"><input type=\"hidden\" value=\"$ustid\" name=\"ustid\">$anabaslik</option>";	
    
    	}
    	
    	echo"</select>    
        </td>
      </tr>
      <tr>
        <td width=\"48%\" align=\"right\" valign=\"top\">Yeni Alt Alt Kategori </td>
        <td width=\"2%\" align=\"center\" valign=\"middle\">:</td>
        <td width=\"50%\" align=\"left\" valign=\"top\"><input type=\"text\" name=\"kategori\"></td>
      </tr>
      <tr>
        <td align=\"right\" valign=\"top\">Alt Alt Kategori Listesi</td>
        <td align=\"center\" valign=\"middle\">:</td>
        <td align=\"left\" valign=\"top\"><select name=\"id\">";
    	
    	$sorgu2 = mysql_query("SELECT * FROM altmenu1 ORDER BY baslik ASC");
        while($yaz2=mysql_fetch_array($sorgu2)){
        $id     = $yaz2['id'];
        $baslik = $yaz2['baslik'];
    	
        echo "<option value=\"$id\">$baslik</option>";	
    	
    	} 
    	
    	echo"</select>    
        </td>
      </tr>
      <tr>
        <td align=\"right\" valign=\"top\">&nbsp;</td>
        <td align=\"center\" valign=\"middle\">&nbsp;</td>
        <td align=\"left\" valign=\"top\"><input type=\"submit\" value=\"Kaydet\"></td>
      </tr>
    </table>
    </form>";
  • 07-02-2010, 23:19:38
    #2
    Üyeliği durduruldu
    Ben kodlamada bir fonksiyon göremedim.
  • 07-02-2010, 23:30:56
    #3
    Funtion'u yer kaplamasın diye yazmadım

    Function AltAltKategoriKayit(){
    
    $ustid  = $_POST['ustid'];
    $anaid  = $_POST['anaid'];
    $baslik = $_POST['kategori'];
    
    $ekle = mysql_query("insert into altmenu1 (anaid,ustid,baslik) values ('$anaid','$ustid','$baslik')");
    	
    	if($ekle){ 
    	echo  "iÅŸlem olumlu"; 
    	header("Refresh: 3;url=ekle.php?Git=AltAltKategoriEkle"); 
    	}else{ 
    	echo "iÅŸlem olumsuz";  
    	header("Refresh: 3;url=ekle.php?Git=AltAltKategoriEkle"); 
    	}
    
    }
  • 07-02-2010, 23:34:31
    #4
    Üyeliği durduruldu
    Function AltAltKategoriKayit(){
    global $ustid;
    
    $ustid  = $_POST['ustid'];
    $anaid  = $_POST['anaid'];
    $baslik = $_POST['kategori'];
    
    $ekle = mysql_query("insert into altmenu1 (anaid,ustid,baslik) values ('$anaid','$ustid','$baslik')");
        
        if($ekle){ 
        echo  "iÅŸlem olumlu"; 
        header("Refresh: 3;url=ekle.php?Git=AltAltKategoriEkle"); 
        }else{ 
        echo "iÅŸlem olumsuz";  
        header("Refresh: 3;url=ekle.php?Git=AltAltKategoriEkle"); 
        }
    
    }
    Dış değişkenleri fonksiyon içine tanımlamak için global komutunu kullanırsın.
  • 08-02-2010, 00:08:41
    #5
    global komutunu biliyorum , malesef burada işe yaramadı .
  • 08-02-2010, 00:55:06
    #6
    Üyeliği durduruldu
    açıkçası kodlardan ne yapmak istediğinizi anlayamadım

    echo "<option value=\"$anaid\"><input type=\"hidden\" value=\"$ustid\" name=\"ustid\">$anabaslik</option>";
    burda <option> içine hidden input koymuşsunuz

    ayrıca bu da bir döngü içinde tüm hiddenların adı aynı yani "ustid" olacak eğer burda bir form varsa son gelen ust id gonderilir. siz de son geleni gondermek istiyorsanız ozman döngünün dışına yazabilirsiniz..


    fonskiyonu da ağer gönderdiğiniz tarafta tanımamışsanız sadece tanımlamak yetmez bir de

    AltAltKategoriKayit(); diye çalıştırmanız gerekir..
  • 08-02-2010, 01:36:58
    #7
    Arkadaşımız switch ile Git değişkenini kontrol edip..
    Gerekli fonksiyonu çağırıyor galiba..
    Normalde ustid bilgisi gitmesi gerekir ama delly ninde söylediği gibi döngü içine yazdığın için sorun oluşuyor büyük ihtimal.. Döngü dışına yazarsanız çözülebilir..
    İyi çalışmalar.
  • 08-02-2010, 09:59:28
    #8
    Arkadaşlar ilginiz için teşekkür ederim buradaki amacım $sorgu1 while döngüsündeki 3 adet veriyi ( Burada Alt Menu listeleniyor ) seçili olanı göndermek , diğer veriler hepsi gidiyor sadece $ustid gitmiyor onu döngü dışına yazıp gönderdiğim zaman seçili olan $ustid gitmiyor . Switch kontrolünde'de herhangi bir sorun yok , diğer veriler gidiyor .

    $Git = $_GET['Git'];
    Switch($Git){
     
       case "AltAltKategoriKayit":
       AltAltKategoriKayit();
       break;
          
    }
    hidden'i option dışına yazdığım zaman ( altına veya üstüne ) veriler yanyana diziliyor , aşağı doğru listelenmiyor ( $sorgu1'den gelen menüler ) .
  • 08-02-2010, 10:12:54
    #9
    Üyeliği durduruldu
    bunu en baÅŸta deseydiniz ya :=)

    <select öğresinde zaten seçili olan gönderilir

    "><select name=\"anaid\">";


    $_POST['anaid'] ile seçileni alıp kullanabilirsiniz