• 18-09-2012, 14:22:57
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar,

    A B adında iki sayfam var ve bunların verileri 2 farklı tablodan geliyor.

    İkisine de yorum yap diye formlar koydum (koyuyorum)

    yorum_onay.php isimli bir dosyam var ve her 2 sayfaya da bunu include ediyorum. Sayfanın kodları

    <?php include("conf/baglanti.php"); ?>
    <?php
    if ($_POST){//Formdan veri gönderildiyse
    
        $Ad_Soyad=$_POST["Ad_Soyad"];
        $Eposta=$_POST["Eposta"];
        $Mesaj=$_POST["Mesaj"];
    	$Yorum_Yapilan_Yer=$_POST["Yorum_Yapilan_Yer"];
    	$Yorum_Yapilan_ID=$_POST["Yorum_Yapilan_ID"];
    		
    		$kontrol=mysql_query("INSERT into Yorumlar (Ad_Soyad, Eposta, Mesaj, Yorum_Yapilan_Yer, Yorum_Yapilan_ID) values ('$Ad_Soyad','$Eposta','$Mesaj','$Yorum_Yapilan_Yer', '$Yorum_Yapilan_ID')");
        
    	if ($kontrol){
            echo "Kayıt Başarılı";
        }
    	else{
            echo "Kayıt Esnasında Bir Sorun Oluştu!";
        }
        } else{
            ?>
    
        <form name="form1" action="yorum_onay.php" method="post">
        <input type="hidden" name="Yorum_Yapilan_Yer" value="Gunluk"/>
        <input type="hidden" name="Yorum_Yapilan_ID" value="5"/>
        <table width="100" border="0" align="left">
      <tr>
        <td>Adınız</td>
        <td><input name="Ad_Soyad" type="text" /></td>
      </tr>
      <tr>
        <td>E-Posta Adresiniz</td>
        <td><input name="Eposta" type="text" /></td>
      </tr>
      <tr>
        <td>Yorumunuz</td>
        <td><textarea name="Mesaj" cols="22" rows="3"></textarea><br /><em><span class="kucuk_yazi">Tüm alanları doldurmak zorunludur!</span></em><br /><input type="submit" name="gonder" value="Kaydet"/></td>
      </tr>
    </table>
    </form>
            <?php
            }
    ?>
    şeklinde.

    Ancak burada bir sorunum var. 1. sorun $Yorum_Yapilan_Yer=$_POST["Yorum_Yapilan_Yer"]; değişkeniyle alakalı.

    Bu form eger A sayfasından gönderildiyse formdaki değerin A'dan Gelen

    Bu form eğer B sayfasından gönderildiyse formdaki değerin B'dan Gelen değer olarak olması gerekiyor ki veritabanıma bu şekilde işlensin.

    2. sorun ise $Yorum_Yapilan_ID=$_POST["Yorum_Yapilan_ID"]; değişkeni. Yine hangi sayfanın ID numarası varsa formdaki value değerini o ID numarası yapması gerekiyor.

    Ben sayfa kodlarını şişirmemek için include yolunu seçtim ve tek yorum_onay dosyasıyla çözmek istiyorum.

    her sayfa için include yapmadan da bu işi çözebilirim ama bu çözüm yönteminin daha iyi olduğunu düşünüyorum.

    Bu konuda yardıma ihtiyacım var.
  • 18-09-2012, 16:29:34
    #2
    Üyeliği durduruldu
    1. sorun $Yorum_Yapilan_Yer=$_POST["Yorum_Yapilan_Yer"]; değişkeniyle alakalı.

    Bu form eger A sayfasından gönderildiyse formdaki değerin A'dan Gelen

    Bu form eğer B sayfasından gönderildiyse formdaki değerin B'dan Gelen değer olarak olması gerekiyor ki veritabanıma bu şekilde işlensin.


    Şimdi yorum yapılan yeri çektiğin bir değişen vardır herhalde. O değişkeni aşağıdaki gibi kayıt et. Aynı şekil yorum yapılan id içinde geçerli;
    Büyük ihtimal bir sayfaya girince konunun id yukarıda yazıyordur, "İndex.php?id=konuid" şeklinde. Bunu forma atarsın

    <?php
    $yorumyapilanyer = $_GET["id"];
    $yorumyeri = $yorumyapilanyer;
    $yorumidsi = $yorumyapilanid;?>
    şeklinde kayıt et.
        <input type="hidden" name="Yorum_Yapilan_Yer" value="<?php echo$yorumyeri; ?>"/>
        <input type="hidden" name="Yorum_Yapilan_ID" value="<?php echo$yorumidsi; ?>"/>

    Hazır hali;
    <?php include("conf/baglanti.php"); ?> 
    <?php 
    if ($_POST){//Formdan veri gönderildiyse 
    
        $Ad_Soyad=$_POST["Ad_Soyad"]; 
        $Eposta=$_POST["Eposta"]; 
        $Mesaj=$_POST["Mesaj"]; 
        $Yorum_Yapilan_Yer=$_POST["Yorum_Yapilan_Yer"]; 
        $Yorum_Yapilan_ID=$_POST["Yorum_Yapilan_ID"]; 
             
            $kontrol=mysql_query("INSERT into Yorumlar (Ad_Soyad, Eposta, Mesaj, Yorum_Yapilan_Yer, Yorum_Yapilan_ID) values ('$Ad_Soyad','$Eposta','$Mesaj','$Yorum_Yapilan_Yer', '$Yorum_Yapilan_ID')"); 
         
        if ($kontrol){ 
            echo "Kayıt Başarılı"; 
        } 
        else{ 
            echo "Kayıt Esnasında Bir Sorun Oluştu!"; 
        } 
        } else{ 
            ?> 
    <?php $yorumyeri = $yorumyapilanyer;
    $yorumidsi = $yorumyapilanid;?>
    
        <form name="form1" action="yorum_onay.php" method="post"> 
        <input type="hidden" name="Yorum_Yapilan_Yer" value="<?php echo$yorumyeri; ?>"/>
        <input type="hidden" name="Yorum_Yapilan_ID" value="<?php echo$yorumidsi; ?>"/> 
        <table width="100" border="0" align="left"> 
      <tr> 
        <td>Adınız</td> 
        <td><input name="Ad_Soyad" type="text" /></td> 
      </tr> 
      <tr> 
        <td>E-Posta Adresiniz</td> 
        <td><input name="Eposta" type="text" /></td> 
      </tr> 
      <tr> 
        <td>Yorumunuz</td> 
        <td><textarea name="Mesaj" cols="22" rows="3"></textarea><br /><em><span class="kucuk_yazi">Tüm alanları doldurmak zorunludur!</span></em><br /><input type="submit" name="gonder" value="Kaydet"/></td> 
      </tr> 
    </table> 
    </form> 
            <?php 
            } 
    ?>
    Elimden gelen bu kadar. Demek istediğimi umarım anlamışsındır.
  • 18-09-2012, 16:48:14
    #3
    Ne demek istediğini daha iyi anlayamazdım Çok teşekkür ediyorum. Çözüm yolum biraz farklı oldu ama senin mantığını işlettim.

    belki birine daha lazım eder diye çözümümü veriyorum.

    include ettiğim yere 2 satır ekledim (bunu A sayfama yaptım B sayfamada aynısının azıcık değişiğini yapmam gerek $Yorumluk = Gunluk; buradaki Gunluk B sayfası için ne isteniyorsa o olacak)

    	<? $Yorumluk = Gunluk;
    	   $YorumlukID = $_GET["id"] ?>
        
    <?php include("yorum_onay.php"); ?>
    akabinde formumuda şu şekilde düzenledim

    <input type="hidden" name="Yorum_Yapilan_Yer" value="<?php echo $Yorumluk; ?>"/>
        <input type="hidden" name="Yorum_Yapilan_ID" value="<?php echo $YorumlukID; ?>"/>
    include dan önce değişkenleri gördüğü için çatır çatır sonucu istediğim gibi veriyor.

    İlgine çok teşekkür ederim
  • 18-09-2012, 17:04:48
    #4
    Üyeliği durduruldu
    İşine yaradıysa ne mutlu.