İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

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

FOX Bilisim

0
İyinet Üyesi
Katılım
29 Şubat 2008
Mesajlar
70
Reaction score
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
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
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
İyinet Üyesi
Katılım
29 Şubat 2008
Mesajlar
70
Reaction score
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
İyinet Üyesi
Katılım
16 Ağustos 2009
Mesajlar
154
Reaction score
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
İyinet Üyesi
Katılım
29 Şubat 2008
Mesajlar
70
Reaction score
1
bu seferde sayfada parse error hatası alıyorum. Kaç yolla denedim ama şu sistemi bir türlü halledemedim
 

XiechenG

0
İyinet Üyesi
Katılım
16 Ağustos 2009
Mesajlar
154
Reaction score
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
İyinet Üyesi
Katılım
29 Şubat 2008
Mesajlar
70
Reaction score
1
Sağolun arkadaşlar hallettim, ayrıa ilginden dolayı ayrıca teşekkürler XiechenG.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst