Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Linke tıklamadan farklı link işlevsiz kalsın

FOX Bilisim

0
Onaylı Üye
Üye
Katılım
29 Şubat 2008
Mesajlar
70
Açılan Konu
15
Tepki puanı
1
Arkadaşlar merhaba,

Sizden bir ricam olacaktı, php bir sitenin üst menülerinde "Ana sayfa" ve "Deneme" menüleri var, bir kullanıcı Deneme sayfasına girmeden önce Ana sayfa sekmesine tıklamasını zorunlu kılmak istiyorum.

Mesela; Deneme butonuna tıklayıp deneme sayfasına gecmek istediğinde, tıkladığında ona bir yazı gelsin öncelikle Ana sayfa ya tıklamanız gerekir demesini istiyorum. Ve Ana sayfaya tıkladıktan sonra Deneme sayfasının kilidi açılıp sayfaya girebilmesini istiyorum.
 

metadige

0
Onaylı Üye
Üye
Katılım
23 Aralık 2005
Mesajlar
354
Açılan Konu
21
Tepki puanı
4
Arkadaşım en basiti ana sayfa dediğin sayfada sessiona atarsın, eğer sessionda yoksa linke tıklatmazsın olur biter.

Yani ana sayfada sayfa başına:

PHP:
$_SESSION['deneme_buton'] = 'tamam';

eklersin. Diğer sayfada da
PHP:
<?php if($_SESSION['deneme_buton']=='tamam'){ ?>
  <a href="deneme.php">Deneme</a>
<?php }else{ ?>
  <a href="#" onclick="alert('Önce Falanca Sayfaya Gidin');">Deneme</a>
<?php } ?>

Ve o deneme sayfasına da yine session kontrolü koyarsın :

PHP:
if($_SESSION['deneme_buton'] != 'tamam'){
echo 'Direk Giriş Yasak';
exit;
}
 

FOX Bilisim

0
Onaylı Üye
Üye
Katılım
29 Şubat 2008
Mesajlar
70
Açılan Konu
15
Tepki puanı
1
Usta,

Bu ana sayfa, yani bu sayfaya tıklamak isteyen tıklayamasın.

Kod:
<?php
if (!defined("UYE_SEVIYE"))
exit;
?>
<br><br><br>
<br />
ANA SAYFA İÇERİK
<br><br><br>
<br />
<select name="tema" id="tema" class="input" onchange="location.href='?tema='+this.value">
<?php
$tema_klasor = dir(TEMA_KLASOR);
while (false !== ($tema_adi = $tema_klasor->read()))
{
  if (is_dir(TEMA_KLASOR.'/'.$tema_adi) && $tema_adi !== '.' && $tema_adi != '..')
  echo '<option value="'.$tema_adi.'"'; if (SITE_TEMA == TEMA_KLASOR.'/'.$tema_adi) echo ' selected="selected".'; echo '>'.$tema_adi.'</option>';
}
sadasdasdasd
?>
</select>
<hr />
<br />
<table width="98%" cellspacing="0" cellpadding="0">
<?php
$yazi_vt = new Baglanti();
$yazi_vt->query("SELECT IFNULL((SELECT COUNT(yorumno) FROM ".TABLO_ONEKI."yorumlar WHERE yazino=y.yazino),0) AS yorumsayi,u.uyeno,u.uyeadi,u.resim AS uyeresim,y.yazino,y.kategorino,y.resim,y.baslik,y.yazi,y.eklemetarihi,y.okunma,y.puan FROM ".TABLO_ONEKI."yazilar AS y, ".TABLO_ONEKI."uyeler AS u WHERE y.onay='E' AND y.uyeno=u.uyeno ORDER BY eklemetarihi DESC LIMIT 0,5");

$yazi_sayi   = $yazi_vt->numRows();
if ($yazi_sayi > 0)
{
  while ($yazi_veri       = $yazi_vt->fetchObject())
	{
  $yazi_uyeno      = $yazi_veri->uyeno;
  $yazi_no         = $yazi_veri->yazino;
  $yazi_kategorino = $yazi_veri->kategorino;
  $yazi_baslik     = $fonk->yazdir_duzen($yazi_veri->baslik);
  $yazi_yazar      = $yazi_veri->uyeadi;
  $yazi_icerik     = $fonk->yazdir_duzen($yazi_veri->yazi);
  $yazi_yazan      = $yazi_veri->uyeadi;
  $yazi_okunma     = $yazi_veri->okunma;
  $yazi_tarih      = $yazi_veri->eklemetarihi;
  $yazi_resim      = $yazi_veri->resim;
  $uye_resim       = $yazi_veri->uyeresim;
  $yazi_puan       = $yazi_veri->puan;
	$yazi_yorum      = $yazi_veri->yorumsayi;
	
	$yazi_icerik = preg_replace('(\[/?[^\]]+\])is',"",$yazi_icerik);
  $yazi_icerik      = substr($yazi_icerik,0,200).'...';
  $yazi_icerik      = wordwrap($yazi_icerik, 100, "\n",1);
				
  $uyeresim = UYE_RESIM_DIZIN.'/'.$uye_resim;
  if (!file_exists($uyeresim) || empty($uye_resim))
  {
    $uyeresim = UYE_RESIM_DIZIN.'/bos.gif';
  }

  $resim = RESIM_DIZIN.'/'.$yazi_resim;
  if (!file_exists($resim) || empty($yazi_resim))
  {
    $resim = 0;
  }

  $yazi_baslik = wordwrap($yazi_baslik, 50, "\n",1);

  $yazi_icerik = $fonk->textWrap($yazi_icerik);
  //$yazi_icerik = wordwrap($yazi_icerik, 200, "\n",1);
  ?>
	
  <tr>
    <td  align="left" width="100%" height="100%" style="padding-left:5px">
    <script language="javascript">
    function resimAc(yazino,en,boy)
    {
      window.open("resimac.php?yazino="+yazino,"","width="+en+",height="+boy);
    }
    </script>
    <?php
    if (!empty($resim))
    {
      $resim_boyut = getimagesize($resim);
      $resim_en    = $resim_boyut[0];
      $resim_boy   = $resim_boyut[1];
      ?>
      <a href="javascript:resimAc('<?php echo $yazi_no; ?>','<?php echo $resim_en; ?>','<?php echo $resim_boy; ?>')"><img alt="<?php echo $yazi_baslik; ?>" src="resim.php?resim=<?php echo $resim; ?>&en=<?php echo YAZI_RESIM_EN; ?>&boy=<?php echo YAZI_RESIM_BOY; ?>" align="right" vspace="10px" hspace="5px" class="yaziresim" border="0" /></a>
      <?php
          {
        echo '   { <a href="?sayfa=yaziekle&yazino='.$yazi_no.'"><b>'.$dil['Duzenle'].'</b></a> }';
      }
    }
		
    ?>
		<br /><br />
        </td>
  </tr>
  <tr>
  </tr>
  <tr>
    <td align="center" colspan="2">
      <table>
        <tr>
						
						<?php 

						?>
						</td>
					</tr>
				</table>
				<hr />
				<br /><br />
			</td>
		</tr>
		
<?php
}
} else {
  echo '<tr><td align="center">'.$fonk->hata_mesaj($dil['KayitBulunamadi']).'</td></tr>';
}
?>
</table>
<table width="100%" align="center">
  <tr>
    
  </tr>
</table>


Buda deneme sayfası, yani bu sayfaya tıklamayan bir üstteki anasayfaya giriş yapamasın önce buraya giriş yapsın istiyorum.

Kod:
<?php
if (!defined("UYE_SEVIYE"))
exit;
?>
<br><br><br>
<br />
ÖNCE BU SAYFAYA GİRİLECEK!
<br><br><br>
<br />
<select name="tema" id="tema" class="input" onchange="location.href='?tema='+this.value">
<?php
$tema_klasor = dir(TEMA_KLASOR);
while (false !== ($tema_adi = $tema_klasor->read()))
{
  if (is_dir(TEMA_KLASOR.'/'.$tema_adi) && $tema_adi !== '.' && $tema_adi != '..')
  echo '<option value="'.$tema_adi.'"'; if (SITE_TEMA == TEMA_KLASOR.'/'.$tema_adi) echo ' selected="selected".'; echo '>'.$tema_adi.'</option>';
}
sadasdasdasd
?>
</select>
<hr />
<br />
<table width="98%" cellspacing="0" cellpadding="0">
<?php
$yazi_vt = new Baglanti();
$yazi_vt->query("SELECT IFNULL((SELECT COUNT(yorumno) FROM ".TABLO_ONEKI."yorumlar WHERE yazino=y.yazino),0) AS yorumsayi,u.uyeno,u.uyeadi,u.resim AS uyeresim,y.yazino,y.kategorino,y.resim,y.baslik,y.yazi,y.eklemetarihi,y.okunma,y.puan FROM ".TABLO_ONEKI."yazilar AS y, ".TABLO_ONEKI."uyeler AS u WHERE y.onay='E' AND y.uyeno=u.uyeno ORDER BY eklemetarihi DESC LIMIT 0,5");

$yazi_sayi   = $yazi_vt->numRows();
if ($yazi_sayi > 0)
{
  while ($yazi_veri       = $yazi_vt->fetchObject())
	{
  $yazi_uyeno      = $yazi_veri->uyeno;
  $yazi_no         = $yazi_veri->yazino;
  $yazi_kategorino = $yazi_veri->kategorino;
  $yazi_baslik     = $fonk->yazdir_duzen($yazi_veri->baslik);
  $yazi_yazar      = $yazi_veri->uyeadi;
  $yazi_icerik     = $fonk->yazdir_duzen($yazi_veri->yazi);
  $yazi_yazan      = $yazi_veri->uyeadi;
  $yazi_okunma     = $yazi_veri->okunma;
  $yazi_tarih      = $yazi_veri->eklemetarihi;
  $yazi_resim      = $yazi_veri->resim;
  $uye_resim       = $yazi_veri->uyeresim;
  $yazi_puan       = $yazi_veri->puan;
	$yazi_yorum      = $yazi_veri->yorumsayi;
	
	$yazi_icerik = preg_replace('(\[/?[^\]]+\])is',"",$yazi_icerik);
  $yazi_icerik      = substr($yazi_icerik,0,200).'...';
  $yazi_icerik      = wordwrap($yazi_icerik, 100, "\n",1);
				
  $uyeresim = UYE_RESIM_DIZIN.'/'.$uye_resim;
  if (!file_exists($uyeresim) || empty($uye_resim))
  {
    $uyeresim = UYE_RESIM_DIZIN.'/bos.gif';
  }

  $resim = RESIM_DIZIN.'/'.$yazi_resim;
  if (!file_exists($resim) || empty($yazi_resim))
  {
    $resim = 0;
  }

  $yazi_baslik = wordwrap($yazi_baslik, 50, "\n",1);

  $yazi_icerik = $fonk->textWrap($yazi_icerik);
  //$yazi_icerik = wordwrap($yazi_icerik, 200, "\n",1);
  ?>
	
  <tr>
    <td  align="left" width="100%" height="100%" style="padding-left:5px">
    <script language="javascript">
    function resimAc(yazino,en,boy)
    {
      window.open("resimac.php?yazino="+yazino,"","width="+en+",height="+boy);
    }
    </script>
    <?php
    if (!empty($resim))
    {
      $resim_boyut = getimagesize($resim);
      $resim_en    = $resim_boyut[0];
      $resim_boy   = $resim_boyut[1];
      ?>
      <a href="javascript:resimAc('<?php echo $yazi_no; ?>','<?php echo $resim_en; ?>','<?php echo $resim_boy; ?>')"><img alt="<?php echo $yazi_baslik; ?>" src="resim.php?resim=<?php echo $resim; ?>&en=<?php echo YAZI_RESIM_EN; ?>&boy=<?php echo YAZI_RESIM_BOY; ?>" align="right" vspace="10px" hspace="5px" class="yaziresim" border="0" /></a>
      <?php
          {
        echo '   { <a href="?sayfa=yaziekle&yazino='.$yazi_no.'"><b>'.$dil['Duzenle'].'</b></a> }';
      }
    }
		
    ?>
		<br /><br />
        </td>
  </tr>
  <tr>
  </tr>
  <tr>
    <td align="center" colspan="2">
      <table>
        <tr>
						
						<?php 

						?>
						</td>
					</tr>
				</table>
				<hr />
				<br /><br />
			</td>
		</tr>
		
<?php
}
} else {
  echo '<tr><td align="center">'.$fonk->hata_mesaj($dil['KayitBulunamadi']).'</td></tr>';
}
?>
</table>
<table width="100%" align="center">
  <tr>
    
  </tr>
</table>


Bu şekilde vermiş oldugun kodlar nasıl ayarlanacak, tam olarak nereye koymak gerek.
 

XiechenG

0
Onaylı Üye
Üye
Katılım
16 Ağustos 2009
Mesajlar
154
Açılan Konu
15
Tepki puanı
1
Adım 1.
deneme sayfasında
PHP:
<?php
if (!defined("UYE_SEVIYE"))
exit;
?>
kullandığın yukarıdaki kodun yerine aşağıdakini yazıcaksınız

PHP:
<?php
session_start();
$_SESSION['deneme_buton'] = 'tamam'; 
 
if (!defined("UYE_SEVIYE"))
exit;
?>

Adım 2.
Şimdi menüye bu kodu ekleyeceksin:
PHP:
<?php
session_start();
if($_SESSION['deneme_buton']=='tamam'){ ?>
  <a href="anasayfa.php">Ana Sayfa</a>
<?php }else{ ?>
  <a href="#" onclick="alert('Önce Falanca Sayfaya Gidin');">Ana Sayfa</a>
<?php } ?>

Adım 3.
Şimdiyse Ana Sayfaya direk giriş yapmak isteyen uyanık kullanıcıya hatırlatma yapalım.
Bu kod yine aynı deneme sayfasındaki gibi php tagı açıldıktan hemen sora ekleyecek.
yani Ana Sayfada kullanılan
PHP:
<?php
if (!defined("UYE_SEVIYE"))
exit;
?>
yukarıdaki kodun yerine aşağıdaki kodu yazıcaksınız.

PHP:
<?php
session_start();
if($_SESSION['deneme_buton'] != 'tamam'){
echo 'Direk Giriş Yasak';
exit;
}
if (!defined("UYE_SEVIYE"))
exit;
?>
 

FOX Bilisim

0
Onaylı Üye
Üye
Katılım
29 Şubat 2008
Mesajlar
70
Açılan Konu
15
Tepki puanı
1
bu seferde sayfada parse error hatası alıyorum. Kaç yolla denedim ama şu sistemi bir türlü halledemedim
 

XiechenG

0
Onaylı Üye
Üye
Katılım
16 Ağustos 2009
Mesajlar
154
Açılan Konu
15
Tepki puanı
1
Hocam dalgınlıkla süslü parantez aşağıda kalmış :(
Sonuncu aşağıdaki gibi olucak
PHP:
<?php
session_start();
if($_SESSION['deneme_buton'] != 'tamam'){
echo 'Direk Giriş Yasak';
exit;
}
if (!defined("UYE_SEVIYE"))
exit;
?>
 

FOX Bilisim

0
Onaylı Üye
Üye
Katılım
29 Şubat 2008
Mesajlar
70
Açılan Konu
15
Tepki puanı
1
Sağolun arkadaşlar hallettim, ayrıa ilginden dolayı ayrıca teşekkürler XiechenG.
 
Üst