sayfa yenilendiği için kod değişir rand() ile alıyorsun cünkü.
aynı sayfada tekrar rand açmanın mantığı yok SESSION kullanman gerekli
# Adım 1: Güvenlik Kodu Dosyamız : gk.php yapalım.
<?
$sifre = rand(0,999999);
if ($sifre) {
session_start();
$_SESSION["guv"] = $sifre;
}
?># Adım 2: Güvenlik Kodu çalışcak bölüme include edelim ve kullanalım.
<? include('gk.php'); ?>
<form action="kontrol.php" method="post">
Güvenlik Kodu : <?php echo $_SESSION["guv"]; ?>
<input name="gkod" type="text">
<input type="submit">
</form># Adım 3:Kontrol Edilmesi : kontrol.php
Not: Bu dosyaya gk.php include edilmemesi lazım yoksa yeni kod atar!
$guvenlik = strip_tags($_POST['gkod']);
if (empty($_SESSION["guv"]) || !$_SESSION["guv"] || $guvenlik != $_SESSION["guv"]) {
//hata verdir...
} else {
//işlem yaptır...
}Önemli Not : Bu işlemlerin hepsini yapabilmen için SESSION başlatman lazım tüm kodlarının en üstünde.
Buda şu şekilde olur.
ob_start();
session_start();
Kolay gelsin umarım anlatım işine yarar.