[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вот такое дело...
TOK
Вот часть скрипта


<?php
session_start();
include_once("include/connectdb.php");
include('include/user_register/uni-auth.php');

if (USER_LOGGED){
//проврека в цикле полей формы на корректность заполнения
$keys = array(
array('key'=>'namekomand','note'=>'Ваша команда'),
array('key'=>'1Gk','note'=>'ФИО 1-го игрока'),
array('key'=>'2Gk','note'=>'id 1-го игрока'),
array('key'=>'1Ld','note'=>'ФИО 2-го игрока'),
array('key'=>'2Ld','note'=>'id 2-го игрока'),
array('key'=>'1Cd1','note'=>'ФИО 3-го игрока'),
array('key'=>'2Cd1','note'=>'id 3-го игрока'),
array('key'=>'1Cd2','note'=>'ФИО 4-го игрока'),
array('key'=>'2Cd2','note'=>'id 4-го игрока'),
array('key'=>'1Rd','note'=>'ФИО 5-го игрока'),
array('key'=>'2Rd','note'=>'id 5-го игрока'),
array('key'=>'1Lm','note'=>'ФИО 6-го игрока'),
array('key'=>'2Lm','note'=>'id 6-го игрока'),
array('key'=>'1Cm1','note'=>'ФИО 7-го игрока'),
array('key'=>'2Cm1','note'=>'id 7-го игрока'),
array('key'=>'1Cm2','note'=>'ФИО 8-го игрока'),
array('key'=>'2Cm2','note'=>'id 8-го игрока'),
array('key'=>'1Rm','note'=>'ФИО 9-го игрока'),
array('key'=>'2Rm','note'=>'id 9-го игрока'),
array('key'=>'1Cf1','note'=>'ФИО 10-го игрока'),
array('key'=>'2Cf1','note'=>'id 10-го игрока'),
array('key'=>'1Cf2','note'=>'ФИО 11-го игрока'),
array('key'=>'2Cf2','note'=>'id 11-го игрока'));

$keys2 = array(
array('key'=>'1S1','note'=>'ФИО 12-го игрока'),
array('key'=>'2S1','note'=>'id 12-го игрока'),
array('key'=>'1S2','note'=>'ФИО 13-го игрока'),
array('key'=>'2S2','note'=>'id 13-го игрока'),
array('key'=>'1S3','note'=>'ФИО 14-го игрока'),
array('key'=>'2S3','note'=>'id 14-го игрока'),
array('key'=>'1S4','note'=>'ФИО 15-го игрока'),
array('key'=>'2S4','note'=>'id 15-го игрока'),
array('key'=>'1S5','note'=>'ФИО 16-го игрока'),
array('key'=>'2S5','note'=>'id 16-го игрока'));

$check= true;

foreach ($keys as $key){
if (empty($_POST [$key['key']]) || preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/", $_POST [$key['key']])) {
echo '<h2 align="center">Параметр «'.$key['note'].'» пуст или <u>задан неверно</u>!</h2>';
$check = false;
break;
}
}


if ($check){

foreach ($keys2 as $key2){
if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/", $_POST [$key2['key']])) {
echo '<h2 align="center">Параметр «'.$key2['note'].'» <u>задан неверно</u>!</h2>';
$check = false;
break;
}
}


if ($check){


Первые 11 полей обязательны, поэтому без проблем в цикле проверяются, а вот с последними необязательными возникли сложности. Пользователь имеет право оставить их пустыми, поэтому
во втором цикле я проверяю только их содержимое и столкнулся с проблемой что поле ФИО 13 может быть заполнено а соседнее id_13 нет или заполнено через одно? например, ФИО 12 и id_15.

Как мне реализовать проверку так, чтобы не возникало такой проблемы?



Спустя 10 минут, 32 секунды (14.11.2009 - 12:39) twin написал(а):
Пирамидку строим? smile.gif
Ну поставь в условие проверку на пустоту еще. Если пустое, пропускай, а нет - так проверяй ирегуляркой

Спустя 1 час, 8 минут, 16 секунд (14.11.2009 - 13:47) TOK написал(а):
Какой в этом смысл?
Если ФИО_13 пустое - пропустили
id_13 полное - проверяем регуляркой

А должно быть, если id_13 полное, то ФИО_13 пустое не должно пройти и указать на это пользователю.
А регуляркой и так все поля проверяются и пустые в том числе.


 ! 

М
Давайте вменяемые названия темам. Пока предупреждение - потом последует бан
HardWoman
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.