• 21-02-2014, 19:11:27
    #1
    Arkadaşlar benim elimde bir php dosyası var diyelim bu dosyada örneğin gönder butonu var benim yapmak istediğim gönder butonuna 5 kere tıkladıktan sonra 6. tıklamaya izin vermesin günlük 5 hakkınız dolmuştur desin 12saate bir açılsın tekrar 5 hakkını kullanana tekrar kapasın gönder buton kendisini
  • 21-02-2014, 19:16:53
    #2
    php de yapılmayacak şey yoktur. evet söylediğiniz şey mümkün ancak php bilginiz yoksa işiniz zor
  • 21-02-2014, 19:17:18
    #3
    bir db kullanarak ip bazlı kısıtlama yapılabilir
  • 21-02-2014, 19:19:15
    #4
    kaptanasi adlı üyeden alıntı: mesajı görüntüle
    php de yapılmayacak şey yoktur. evet söylediğiniz şey mümkün ancak php bilginiz yoksa işiniz zor
    Evet php bilgim yok işim baya zor anlaşılan

    PsdBul adlı üyeden alıntı: mesajı görüntüle
    bir db kullanarak ip bazlı kısıtlama yapılabilir
    var mı acaba bu tarz ücretsiz bir kod internette dolanan felan bulunabilir mi?
  • 21-02-2014, 19:53:54
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @ZaferSword; buyrun hocam

    <?php
    	
    	error_reporting(E_ALL);
    	
    	date_default_timezone_set("Europe/Istanbul");
    	
    	function is_session_started()
    	{
    		if(php_sapi_name() !== "cli")
    		{
    			if(version_compare(phpversion(), "5.4.0", ">="))
    			{
    				return session_status() === PHP_SESSION_ACTIVE;
    			}
    			else
    			{
    				return session_id() === "";
    			}
    		}
    		else
    		{
    			return false;
    		}
    	}
    	
    	if(is_session_started() === false)
    	{
    		session_start();
    	}
    	
    	if(isset($_SESSION["button_click_count"]) === false)
    	{
    		$_SESSION["button_click_count"] = 0;
    	}
    	
    	if(isset($_SESSION["last_click_time"]))
    	{
    		if(time() > ($_SESSION["last_click_time"] + (12 * 60 * 60)))
    		{
    			$_SESSION["button_click_count"] = 0;
    			
    			unset($_SESSION["last_click_time"]);
    		}
    	}
    	
    ?><!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/css/bootstrap.min.css" />
    		<style type="text/css">body{padding:1em}label,button,input[type="button"],select{cursor:pointer}section{padding:1em;margin:1em auto;border:1px solid #000}</style>
    	</head>
    	<body>
    		<article>
    			<section role="form">
    				<form method="post">
    					<!-- POST isteğinin sorunsuz çalışması için en az bir adet değer gönderilmelidir. -->
    					<input type="hidden" name="request_type" value="post" />
    					<!-- POST isteğinin sorunsuz çalışması için en az bir adet değer gönderilmelidir. -->
    					<button class="btn btn-default" type="submit"<?=$_SESSION["button_click_count"] >= 5 ? " disabled" : "";?>>Gönder</button>
    				</form>
    			</section>
    				<?php if(empty($_POST) == false) { ?><section role="result"><?php
    						
    						if(isset($_SESSION["button_click_count"]))
    						{
    							if($_SESSION["button_click_count"] >= 5)
    							{
    								echo "En fazla 5 istekte bulunabilirsiniz. ".date("d.m.Y H:i:s", $_SESSION["last_click_time"])." sonrasında yeniden istekte bulunabilirsiniz.";
    							}
    							else
    							{
    								$_SESSION["button_click_count"]++;
    								
    								$_SESSION["last_click_time"] = time();
    								
    								echo "İstek başarılı! Kalan istek sayısı: ".(5 - $_SESSION["button_click_count"]);
    							}
    						}
    						
    				?></section><?php } ?>
    		</article>
    	</body>
    </html>
  • 21-02-2014, 19:56:52
    #6
    saintx adlı üyeden alıntı: mesajı görüntüle
    @ZaferSword; buyrun hocam

    <?php
    	
    	error_reporting(E_ALL);
    	
    	date_default_timezone_set("Europe/Istanbul");
    	
    	function is_session_started()
    	{
    		if(php_sapi_name() !== "cli")
    		{
    			if(version_compare(phpversion(), "5.4.0", ">="))
    			{
    				return session_status() === PHP_SESSION_ACTIVE;
    			}
    			else
    			{
    				return session_id() === "";
    			}
    		}
    		else
    		{
    			return false;
    		}
    	}
    	
    	if(is_session_started() === false)
    	{
    		session_start();
    	}
    	
    	if(isset($_SESSION["button_click_count"]) === false)
    	{
    		$_SESSION["button_click_count"] = 0;
    	}
    	
    	if(isset($_SESSION["last_click_time"]))
    	{
    		if(time() > ($_SESSION["last_click_time"] + (12 * 60 * 60)))
    		{
    			$_SESSION["button_click_count"] = 0;
    			
    			unset($_SESSION["last_click_time"]);
    		}
    	}
    	
    ?><!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8" />
    		<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.0/css/bootstrap.min.css" />
    		<style type="text/css">body{padding:1em}label,button,input[type="button"],select{cursor:pointer}section{padding:1em;margin:1em auto;border:1px solid #000}</style>
    	</head>
    	<body>
    		<article>
    			<section role="form">
    				<form method="post">
    					<!-- POST isteğinin sorunsuz çalışması için en az bir adet değer gönderilmelidir. -->
    					<input type="hidden" name="request_type" value="post" />
    					<!-- POST isteğinin sorunsuz çalışması için en az bir adet değer gönderilmelidir. -->
    					<button class="btn btn-default" type="submit"<?=$_SESSION["button_click_count"] >= 5 ? " disabled" : "";?>>Gönder</button>
    				</form>
    			</section>
    				<?php if(empty($_POST) == false) { ?><section role="result"><?php
    						
    						if(isset($_SESSION["button_click_count"]))
    						{
    							if($_SESSION["button_click_count"] >= 5)
    							{
    								echo "En fazla 5 istekte bulunabilirsiniz. ".date("d.m.Y H:i:s", $_SESSION["last_click_time"])." sonrasında yeniden istekte bulunabilirsiniz.";
    							}
    							else
    							{
    								$_SESSION["button_click_count"]++;
    								
    								$_SESSION["last_click_time"] = time();
    								
    								echo "İstek başarılı! Kalan istek sayısı: ".(5 - $_SESSION["button_click_count"]);
    							}
    						}
    						
    				?></section><?php } ?>
    		</article>
    	</body>
    </html>
    Hocam Çok Teşekkür Ettim Üzerinde Çalışacagım Çok Saol
  • 21-02-2014, 21:28:20
    #7
    kaptanasi adlı üyeden alıntı: mesajı görüntüle
    php de yapılmayacak şey yoktur. evet söylediğiniz şey mümkün ancak php bilginiz yoksa işiniz zor
    çok iddialı ve yanlış olmuş hocam php şahane bir dil ama her şeyi yapabilecek kadar değil.
  • 21-02-2014, 21:33:54
    #8
    @fatihsarac; yazılım anlamında söyledim hocam evet iddialı ama öyle, geliştirmeye açık bir dil herşey mümkündür yeterki yapmayı bil
  • 21-02-2014, 21:38:23
    #9
    asp.net'te deseydiniz çok basit bir şekilde yapabilirdik, ama php'de cookies ile yapılabilir çok zor birşey değil istediğiniz olay..