Webmaster общности: Predpriemach.com | SearchEngines.bg

    Създаване на картинка за визуално потвърждение

    Автор: darkness

    Първо ще създадем image.php от където ще се генерира картинката.

    image.php

    <?php
    include('functions.php'); //включване на functions.php
    session_name('sesID'); //задаване име на сесията
    session_start(); //стартиране на сесията
    
    global $_SESSION;
    $im = imagecreate(94, 16); //създаване на картинката -> дължина - 94, ширина - 16
    $bg = imagecolorallocate($im, 240, 240, 240); //задаване на цвят на фона
    $textcolor = imagecolorallocate($im, 0, 0, 0); //задаване цвят на текста
    
    imagestring($im, 5, 22, 0, $_SESSION['code'], $textcolor); //инициализиране на самата картинка
    header("Content-type: image/png");
    imagepng($im);
    ?>

    След това инициализираме картинката във форма:

    form.php

    <?php
    include('functions.php');
    session_name('sesID'); //задаване името на сесията
    session_start(); //стартиране на сесията
    $_SESSION['code'] = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9); //генериране на случаен код за картинката
    echo ' //инициализация на формата
    <?xml version=\'1.0\' encoding=\'windows-1251\'?>
    <html xmlns=\'http://www.w3.org/1999/xhtml\'>
    <head>
    <title> :: RT: Request Tracker v1.0 :: </title>
    <meta http-equiv=\'Content-Type\' content=\'text/html; charset=windows-1251\' />
    </head>
    <body bgcolor=\'#5e5e5e\'><br /><br /><br /><br /><br /><br />
    <center><form action=\'?\' method=\'post\'>
    <table border=\'2\' cellpadding=\'5\'>
    <tr><td><b><font color=\'red\'>Потребител:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'username\' /></td></tr>
    <tr><td><b><font color=\'red\'>Парола:</b></td><td align=left><input type=\'password\' size=\'25\' name=\'password\' /></td></tr>
    <tr><td><b><font color=\'red\'>Име:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'name\' /></td></tr>
    <tr><td><b><font color=\'red\'>Email:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'email\' /></td></tr>
    <tr><td><b><font color=\'red\'>Възраст:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'age\' /></td></tr>
    <tr><td><b><font color=\'red\'>Пол:</b></td><td align=left><select name=\'sex\'><option value=\'--\'>------</option><option value=\'male\'>Мъж</option><option value=\'female\'>Жена</option></select>
    <tr><td><b><font color=\'red\'>Код за сигурност:</b></td><td><img src=\'image.php\' align=\'top\' /></td></tr>
    <tr><td><b><font color=\'red\'>Въведете кода:</b></td><td><input type=\'text\' name=\'code\' value=\'\' size=\'25\'></td></tr>
    <tr><td><center><input type=\'reset\' name=\'reset\' value=\'Отказ\'></center></td><td><center><input type=\'submit\' name=\'submit\' value=\'Регистрация\'></center></td></tr>
    </form></table></center>
    <center><a href=\'index.php\'>Обратно</a></center>
    </body>
    </html>';
    }
    ?>

    Това е проверката в functions.php
    functions.php

    <?php
    session_name('sID');
    session_start();
    global $_SESSION;
    if($_SESSION['code'] != $code) { die('<center><font color=\'red\' size=\'3\' face=\'Tahoma\'><b>*** Несъответстващ код!</b></font></center><br /><br />'); } else { ... }
    ?>

    Оставете коментар