PHP script GOTO ortadan kaldırmak gerekir ama bilmiyorum nasıl

1 Cevap
<?php
include("/LIB/error.php");
session_start();
if (isset($_POST['Submit1'])) {
if (!isset($_SESSION['token'])) {goto dale;}

    if((time() - $_SESSION['token']) < 5) {
        error('Debes esperar 5 segundos para poder enviar otra informacion.');
    } else { 
        dale:
        $_SESSION['token'] = time();
        include("/LIB/HeadSQL.php");
        include("/LIB/comprueba.php");

    }
}

?>

Ben akışını değiştirmek için nasıl daha uyumlu kodumu yapmak için (bildiğiniz gibi sadece php son sürümlerinde desteklenen çünkü), ama gerçekten cant rakam GOTO talimat ortadan kaldırmak istiyor olmadan (kod tekrarı olmadan) kodu GOTO. Yardımlarınız için teşekkürler.

1 Cevap

Re-order if / else blokları (ve sonra tabii ki zaman durumu tersine) ve kolay hale gelir.

<?php
include("/LIB/error.php");
session_start();
if (isset($_POST['Submit1'])) {

    if (!isset($_SESSION['token']) || (time() - $_SESSION['token']) >= 5) { 
        $_SESSION['token'] = time();
        include("/LIB/HeadSQL.php");
        include("/LIB/comprueba.php");
    }
    else {
        error('Debes esperar 5 segundos para poder enviar otra informacion.');
    } 
}

?>