v2.5.2
Giriş yap

Fonksiyon ile Post ( PHP )

rennie
660 defa görüntülendi

Selamlar...

<a href="javascript:ServerRestart();"><span class="orange">Restart</span></a>

Bu şekilde bir yapı var. Yapmak istediğim olay şu:
Click yaptığım zaman

function ServerRestart(){
    alert("UYARI: Tebrikler, sunucunuz yeniden başlatıldı. Başlama süresi max: 10 saniyedir.");
}

Bu fonksiyon çalışacak ama "alert" öncesi farklı bir sayfaya bilgi göndermem lazım. Yani restart komutunu.
Oda bu komut:

$Restart = "screen -dr $who -X quit; sleep 1;

Click işlemi a.php ' de
Restart işlemi b.php ' de

Son olarak kişi 2. kez restart yapmak istediğinde 5 dakika beklemelisin uyarısı çıkması gerek. Biraz karışık oldu ama bunu nasıl yapabilirim ?

ersiin
1157 gün önce

$date="" kısmı yerine $date="6" daha doğru. şuan çok daha iyi. son hali. bunu kullanın. kolay gelsin.

<?php
session_start();
function kacDKOldu( $tarih ){
    try {    
        $date1 = new DateTime( date('Y-m-d H:i:s') );
        $date2 = new DateTime( $tarih );
 
        $interval = $date1->diff( $date2 );
 
        $result = $interval->format('%i');  
        $result = preg_replace('/\b0+\s+[a-zA-Z-ıü]+,?\s*/is','',$result);
         
        return $result;
    } catch (Exception $e) {    
        return false;
    }       
}

if($_SESSION){
if($_SESSION["tiklamazamani"]==""){
    $date = "6";
}else{
	$zaman = $_SESSION["tiklamazamani"];
    $date = kacDKOldu($zaman);
}
}

if($_GET){
    if($_GET["action"]=="serverrestart"){
        if($date > 5){
        			//bu alandaki kodlar sadece ilk tıklama yapıldığında çalışır.
        			//ikinci bir tıklamada çalışması için tıklama üzerinden 5dk geçmesi gerekir.
                    //php kodların
        	
            $_SESSION["tiklamazamani"] = date('Y-m-d H:i:s');
        }else{
        	$gecenzaman = kacDKOldu($zaman);
        	$kalanzaman = 5 - $gecenzaman;
        	if($gecenzaman=="0"){
        		setcookie("restartmesaji", "Tıklama üzerinden henüz birkaç saniye geçti. $kalanzaman dakika sonra yeniden deneyin. ");
        	}else{

        		if($gecenzaman=="5"){
        			setcookie("restartmesaji", "Tıklama yapabilmeniz için birkaç saniye kaldı.");
        		}else{
        	setcookie("restartmesaji", "Tıklama üzerinden henüz $gecenzaman dakika geçti. $kalanzaman dakika sonra yeniden deneyin. ");
        }
        }
        }
     
    }
}
?>
<script type="text/javascript">
	function getCookie(cname) {
  let name = cname + "=";
  let decodedCookie = decodeURIComponent(document.cookie);
  let ca = decodedCookie.split(';');
  for(let i = 0; i <ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}
	function ServerRestart() {
  var baglan = new XMLHttpRequest();
  baglan.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
var response = this.responseText;
let restartmesaji = getCookie("restartmesaji");
 if (restartmesaji != "") {
alert(getCookie("restartmesaji"));
}

        }
  }
  baglan.open("GET", "deneme.php?action=serverrestart", true);
  baglan.send();
}

</script>
<a href="nojavascript...ServerRestart();"><span class="orange">Restart</span></a>