|
|
|
| Предположем есть скрипт на странице index.php:
где generimg.php генерирует изображение, но это работает.
Далее,
<form action="add.php" method="post">
<p><img src="generimg.php" border="0" width=100 height=40></p>
<p><input type="text" name="mail"></p>
<p><input type="text" name="code"></p>
<p><input type="submit" name="send"></p>
</form>
//функция генерирующая код
function generate()
{
$hours = substr(date("H"), 0 , 1);
$minuts = substr(date("i"), 0 , 1);
$year_day = substr(date("z"), 0 , 1);
$sec = substr(date("s"), 0 , 1);
$str = $hours . $minuts . $year_day . $sec;
$array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
srand ((float)microtime()*1000000);
shuffle ($array_mix);
return implode("", $array_mix);
}
function chec_code($code)
{
$code = trim($code);
$array_mix = preg_split ('//', generate(), -1, PREG_SPLIT_NO_EMPTY);
$m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
$result = array_intersect ($array_mix, $m_code);
if (strlen(generate())!=strlen($code))
{
return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (isset($_POST['code']))
{
if (chec_code($_POST['code'])) link ("Код введен не верно");
}
function link($msg)
{
echo '<body bgcolor=#FBEDD><br><br>
<table border=0 width=80% align=center cellspacing=1 cellpadding=1 bgcolor=#74a18e>
<tr>
<td bgcolor=#D7ECC1>
<p class=panelotp><b>'.$msg.'</b><br>Поля отмеченые <font color=red>*</font> обязательны для заполнения!</p>
<p class=panelotp><a href=# onClick="history.back()" class=link1>Вернуться к заполнению формы</a></p>
<p class=panelotp><a href=../index.html class=link1>На главную</a></p>
<td>
</tr>
</table>
</body>';
exit();
}
|
Так вроде все работает.
Задача состоит в том что нужно сделать так чтобы при отправление формы методом POST на страницу add.php все это работало.
Вобщем как сделать так чтобы функция generate была на странице index.php, а все остальные функции и проверка кода были на странице add.php и все это дело работало? | |
|
|
|
|
|
|
|
для: Ruler
(18.11.2007 в 03:21)
| | Создайте hidden-поле и туда поместите тоже код который на картинке... ну или пусть он хранится в сессии | |
|
|
|
|
|
|
|
для: DEM
(18.11.2007 в 11:18)
| | Извени конечно может я чего то не доганяю, но я не совсем представляю как можно функцию generate() поместить в поле hidden.
Если это возможно не льзя ли по подробнее... | |
|
|
|