尝试将captcha添加到表单

问题描述:

这是一些表单生成代码。我想添加验证码或数学验证。我有一个名为captcha.php的captcha类构造文件。我已经使用了这门课,学习了更多基本的PHP形式,但以下内容是由其他人编写的。我想我可以添加另一个名为captcha的案例或者创建一个smartforms_captcha函数。有任何想法吗?尝试将captcha添加到表单

function smartforms_form_field($type,$name,$class = '',$extra = array(),$prefill = true) { 
    global $sf_form,$sf_fid; 

    if (!empty($extra) && !is_array($extra)) parse_str($extra,$extra); 
    $classes = array('input_' . $type, $sf_form->field[$sf_fid][$name]); 
    if (!is_array($class)) $class = preg_split('#\s+#',$class); 
    $classes = trim(implode(' ',array_merge($classes,$class))); 

    $value = ($prefill) ? $sf_form->values[$sf_fid][$name] : ''; 
    switch ($type) { 
     case 'text': 
     $autocomplete = ($extra['autocomplete'] == 'off') ? 'off' : 'on'; 
     $format = '<input type="text" name="%1$s" id="%1$s" class="%2$s" value="%3$s" autocomplete="%4$s" />'; 
     printf($format,$name,$classes,$value,$autocomplete); 
     break; 
     case 'textarea': 
     $rows = $extra['rows']; 
     $cols = $extra['cols']; 
     $format = '<textarea name="%1$s" id="%1$s" class="%2$s" rows="%3$d" cols="%4$d">%5$s</textarea>'; 
     printf($format,$name,$classes,$rows,$cols,$value); 
     break; 
    } 
} 

我实现的图像验证码类,这是一些什么安全,以及...你可以下载和使用的代码,也如果您发现任何有趣的变化也让我知道:

http://phphelperfunctions.blogspot.com/2010/09/ultimate-security-for-image-captcha-php.html

的验证码是mutch不同之处在于一个输入字段,这是具有两个元件,一个输入文本和一个图像,一个optionaly按钮重新加载图像和听验证码的基团。 Personaly我选择创建一个新的功能。

function smartforms_captcha($name, $class = '', $extra = array(), $prefill = true) { 

    global $sf_form,$sf_fid; 

    if (!empty($extra) && !is_array($extra)) parse_str($extra,$extra); 
    if (!is_array($class)) $class = preg_split('#\s+#',$class); 
    $classes = trim(implode(' ',array_merge($classes,$class))); 

    // Create your markup correctly 
    $format = '<input type="text" name="$name" id="$name" class="$class" value="" />'; 
    $format = '<img src="/captha.php?' . uniqid() . '" />' 

    } 
}