vacs8
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Задача такая организовать проверку имени при регистрации уже на готовом сайте. Нужные фалы нашел и начал править и по примеру в файлах и в интернете, но ничего не выходит проверяет только перый символ и все. если их больше то говорит что неправильно( Теперь опишу структуру как я ее понял. фаил который подгружает нужную библиотеку "register.php" " <?php class Register extends MI_Controller { public $data=array(); public $datar=array(); function __construct() { parent::__construct(); } function index() { $this->load->library('registerl'); $this->data['content']= $this->registerl->Regform($this->data['currsubd'],''); $this->load->view('main_mini.php',$this->data); } function ok() { $this->load->library('registerl'); $this->data['content']= $this->registerl->Regform($this->data['currsubd'],'ok'); $this->load->view('main_mini.php',$this->data); } function bask() { $this->load->library('registerl'); $this->data['content']= $this->registerl->Regform($this->data['currsubd'],1); $this->load->view('main_mini.php',$this->data); } function step2($Par='') { $ParP=preg_replace('/[^0-9a-z]/', '', $Par); if($ParP=='bask')$ParP=1; else $ParP=''; $this->load->library('registerl'); $this->data['content']= $this->registerl->Step2($this->data['userid'], $this->data['currsubd'],$ParP); $this->load->view('main_mini.php',$this->data); } } ?> " сама библиотека "registerl.php" "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Registerl { public $REgdat; public function __construct() { $this->REgdat=array(); $this->REgdat['titlepg'] = 'Тип'; $this->REgdat['errormsg'] = ''; $this->REgdat['mailkli'] = ''; $this->REgdat['namekli'] = ''; $this->REgdat['otchkli'] = ''; $this->REgdat['famkli'] = ''; $this->REgdat['telkli'] = ''; $this->REgdat['jump']=''; $this->REgdat['nameorg'] = ''; $this->REgdat['inn'] = ''; $this->REgdat['kpp'] = ''; $this->REgdat['rasch'] = ''; $this->REgdat['korsch'] = ''; $this->REgdat['bik'] = ''; $this->REgdat['namebank'] = ''; $this->REgdat['uradr'] = ''; $this->REgdat['mailadr'] = ''; $this->REgdat['fiodreg'] = ''; } function Regform($SubDom,$ParOK='') { $BsUrl=base_url(); $BsUrlFl=$BsUrl; if(!empty($currsubd)) $BsUrlFl=str_replace('www',$currsubd,$BsUrlFl); $this->REgdat['par']=$ParOK; $CI =& get_instance(); $CI->load->database(); $sbmReg=$CI->input->post('register'); if(!empty($sbmReg)) { $CI->load->library('fltrtxt'); $CanOp=true; $GorKli=''; $OblKli=trim($CI->input->post('obl')); $OblKli=substr($OblKli,0,254); $OblKli= preg_replace('/[^0-9a-z]/', '', $OblKli); if(empty($OblKli)) { $CanOp=false; $this->REgdat['errormsg']='Не выбрана область'; } $KolG=trim($CI->input->post('kolgor')); $KolG=substr($KolG,0,20); $KolG= preg_replace('/[^0-9]/', '', $KolG); if(!empty($KolG)) { if($KolG>0) { $GorKli=trim($CI->input->post('gorod')); $GorKli=substr($GorKli,0,254); $GorKli= preg_replace('/[^0-9a-z]/', '', $GorKli); if(empty($GorKli)) { $CanOp=false; $this->REgdat['errormsg']='Не выбран город'; } } } $FizUr=trim($CI->input->post('fizur')); $FizUr=substr($FizUr,0,5); $FizUr=preg_replace('/[^0-9]/', '', $FizUr); $this->REgdat['fizur'] = $FizUr; if(empty($FizUr)) { $FizUr=1; } $NameKli=trim($CI->input->post('your-name')); $NameKli=substr($NameKli,0,254); /*$NameKli=$CI->fltrtxt->TextFiltr($NameKli);*/ $this->REgdat['namekli'] = $NameKli; if(empty($NameKli) && $FizUr==1) { $CanOp=false; $this->REgdat['errormsg']='Не задано имя'; } else if(!preg_match("/^[а-яА-ЯёЁ]+$/i", $NameKli)) { $CanOp=false; $NameKli=''; $this->REgdat['errormsg']='Проверьте пожалуйста правильность написания ФИО. Они должны быть написаны с использованием русской раскладки клавиатуры, без использования цифр и спецсимволов.'; } " Всю выкладывать не стал. Проблема в последней проверке. Подсказка: $LogMail=trim($CI->input->post('f_email')); $LogMail=substr($LogMail,0,54); $LogMail=strtolower($LogMail); $this->REgdat['mailkli'] = $LogMail; if(empty($LogMail)) { $CanOp=false; $this->REgdat['errormsg']='Необходимо задать адрес электронной почты'; } else if(!preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $LogMail)) { $CanOp=false; $LogMail=''; $this->REgdat['errormsg']='Неправильно задан адрес электронной почты'; } Проверка почты работает правильно. |