<?php
include_once './us_pr.php';
include_once './vid/header.php';
?>
<br />
<br />
<br />
<h1 align="center">Изменить данные о <?=$_SESSION['email']?></h1>
<br />
<br />
<br />
<?php
if(isset($_POST['submit']))
{
$error = array(
1 => "Фамилия введена не верно.<br>",
2 => "Имя введено не верно.<br>",
3 => "Отчество введено не верно.<br>",
4 => "Страна введена не верно.<br>",
5 => "Город введен не верно.<br>",
6 => "Проффесия введена не верно.<br>",
7 => "Возвраст введен не верно.<br>",
8 => "Новые пароли не совпадают.<br>",
9 => "Пароль введен не верно.<br>",
10 => "Все поля пусты.<br>"
);
foreach($_POST as $key => $value)
{
$_POST[$key] = trim($value);
}
if(md5("$sol".sha1($_POST['password']))==$user['password'])
{
if($_POST['f_name']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['f_name']))
{
$error_echo .= $error['1'];
}
else
{
$sql .= " `f_name`='".$_POST['f_name']."',";
}
}
if($_POST['i_name']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['i_name']))
{
$error_echo .= $error['2'];
}
else
{
$sql .= " `i_name`='".$_POST['i_name']."',";
}
}
if($_POST['o_name']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['o_name']))
{
$error_echo .= $error['3'];
}
else
{
$sql .= " `o_name`='".$_POST['o_name']."',";
}
}
if($_POST['sity_one']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['sity_one']))
{
$error_echo .= $error['4'];
}
else
{
$sql .= " `sity_one`='".$_POST['sity_one']."',";
}
}
if($_POST['sity_two']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['sity_two']))
{
$error_echo .= $error['5'];
}
else
{
$sql .= " `sity_two`='".$_POST['sity_two']."',";
}
}
if($_POST['lans']!=="")
{
if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['lans']))
{
$error_echo .= $error['6'];
}
else
{
$sql .= " `lans`='".$_POST['lans']."',";
}
}
if($_POST['age']!=="")
{
if(!(filter_var($_POST['age'], FILTER_VALIDATE_INT)))
{
$error_echo .= $error['7'];
}
else
{
$sql .= " `age`='".$_POST['age']."',";
}
}
if($_POST['password_one']!=="")
{
if($_POST['password_one']!==$_POST['password_two'])
{
$error_echo .= $error['8'];
}
else
{
$sql .= " `password`='".md5("$sol".sha1($_POST['password_one']))."',";
}
}
}
else
{
$err = 1;
echo $error['9'];
}
if($err!==1)
{
if(empty($error_echo))
{
if(!(empty($sql)))
{
$sql = substr($sql, 0, -1);
mysql_query("update `site_user` set ".$sql." where `email`='".$_SESSION['email']."'");
echo "Сохранено";
}
else
{
echo $error['10'];
}
}
else
{
echo $error_echo;
}
}
}
?>
<form method="post" action="">
Фамилия: <input type="text" name="f_name" maxlength="20" value="<?php if(isset($_POST['f_name'])){echo $_POST['f_name'];}else{echo $user['f_name'];}?>"/><br>
Имя: <input type="text" name="i_name" maxlength="20" value="<?php if(isset($_POST['i_name'])){echo $_POST['i_name'];}else{echo $user['i_name'];}?>"/><br>
Отчество: <input type="text" name="o_name" maxlength="20" value="<?php if(isset($_POST['o_name'])){echo $_POST['o_name'];}else{echo $user['o_name'];}?>"/><br><br><br>
Страна: <input type="text" name="sity_one" value="<?php if(isset($_POST['sity_one'])){echo $_POST['sity_one'];}else{echo $user['sity_one'];}?>"/><br>
Город: <input type="text" name="sity_two" value="<?php if(isset($_POST['sity_two'])){echo $_POST['sity_two'];}else{echo $user['sity_two'];}?>"/><br>
Профессия: <input type="text" name="lans" value="<?php if(isset($_POST['lans'])){echo $_POST['lans'];}else{echo $user['lans'];}?>"/><br><br><br>
Возраст: <input type="text" name="age" value="<?php if(isset($_POST['age'])){echo $_POST['age'];}else{echo $user['age'];}?>"/><br><br><br>
Новый пароль: <input type="password" name="password_one" /><br>
Повтарите пароль: <input type="password" name="password_two" /><br><br><br>
Настоящий пароль: <input type="password" name="password" /><br><br>
<input type="submit" name="submit" value="Сохранить" />
</form>
<?php include_once './vid/footer.php';?>
Спустя 7 часов, 16 минут, 43 секунды (28.08.2012 - 09:43) Hello написал(а):
Вынести html в отдельный файл
Спустя 14 минут, 24 секунды (28.08.2012 - 09:57) Игорь_Vasinsky написал(а):
Цитата |
foreach($_POST as $key => $value) { $_POST[$key] = trim($value); } |
WTF????
$_POST=array_map('trim',$_POST);
Цитата |
<br /> <br /> <br /> |
<p> </p>
Цитата |
Страна: <input type="text" name="sity_one" value="<?php if(isset($_POST['sity_one'])){echo $_POST['sity_one'];}else{echo $user['sity_one'];}?>"/><br> |
<?=isset($_POST['sity_one']) ?$_POST['sity_one'] :$user['sity_one'];?>
Цитата |
[а-яёА-ЯЁa-zA-Z+-] |
[а-яёa-z\+\-]i
Цитата |
$error_echo.=$error['2']; |
$error_echo.=$error[2];
Unix вроде не поймёт такой моневр
Цитата |
include_once './vid/header.php'; |
include_once $_SERVER['DOCUMENT_ROOT'].'/vid/header.php';
Скобы не об-но если - выполняется одна операция
Цитата |
if($_POST['o_name']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['o_name'])) { $error_echo .= $error['3']; } else { $sql .= " `o_name`='".$_POST['o_name']."',"; } } |
И нафиг проверять на пустоту когда у тя далее регулярка?
далее
Цитата |
if($_POST['i_name']!=="") |
Цитата |
a != $b Не равно TRUE если $a не равно $b. $a !== $b Тождественно не равно TRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4) |
Спустя 10 минут, 20 секунд (28.08.2012 - 10:07) Игорь_Vasinsky написал(а):
ООооо.. как всё переказило
Спустя 41 минута, 5 секунд (28.08.2012 - 10:49) 123456 написал(а):
Цитата |
Цитата foreach($_POST as $key => $value) { $_POST[$key] = trim($value); } WTF???? $_POST=array_map('trim',$_POST); |
Раньше мне НА ЭТОМ форуме кто-то так советовал делать(как я написал), вроде ты или Winston.
Цитата |
[а-яёa-z\+\-]i |
так?
if(!preg_match("/^[а-яёa-z\+\-]i+$/",$_POST['f_name']))
Спустя 1 час, 32 минуты, 43 секунды (28.08.2012 - 12:21) Игорь_Vasinsky написал(а):
i - это модификатор регулярного выражения, он рисуется за пределами паттерна, а + - это квантификатор - который имеет не посредственное отношение к паттерну
Цитата |
Раньше мне НА ЭТОМ форуме кто-то так советовал делать(как я написал), вроде ты или Winston. |
100% нет.
Я юзаю array_map() а Winston вообще фанат лямбда функций и creat_function
Спустя 12 минут, 38 секунд (28.08.2012 - 12:34) twin написал(а):
К слову сказать, минус в конце паттерна не обязательно экранировать.
Спустя 32 минуты, 55 секунд (28.08.2012 - 13:07) killer8080 написал(а):
Цитата (123456 @ 28.08.2012 - 11:49) |
Цитата Цитата foreach($_POST as $key => $value) { $_POST[$key] = trim($value); } WTF???? $_POST=array_map('trim',$_POST); Раньше мне НА ЭТОМ форуме кто-то так советовал делать(как я написал), вроде ты или Winston. |
Цикл рациональней, array_map короче, выбирай сам
Цитата (123456 @ 28.08.2012 - 03:26) |
if($_POST['f_name']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['f_name'])) { $error_echo .= $error['1']; } else { $sql .=" `f_name`='".$_POST['f_name']."',"; } } if($_POST['i_name']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['i_name'])) { $error_echo .= $error['2']; } else { $sql .=" `i_name`='".$_POST['i_name']."',"; } } if($_POST['o_name']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z]+$/",$_POST['o_name'])) { $error_echo .= $error['3']; } else { $sql .=" `o_name`='".$_POST['o_name']."',"; } } if($_POST['sity_one']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['sity_one'])) { $error_echo .= $error['4']; } else { $sql .=" `sity_one`='".$_POST['sity_one']."',"; } } if($_POST['sity_two']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['sity_two'])) { $error_echo .= $error['5']; } else { $sql .=" `sity_two`='".$_POST['sity_two']."',"; } } if($_POST['lans']!=="") { if(!preg_match("/^[а-яёА-ЯЁa-zA-Z+-]+$/",$_POST['lans'])) { $error_echo .= $error['6']; } else { $sql .=" `lans`='".$_POST['lans']."',"; } } |
это кучу однотипных проверок можно было сделать в цикле. Плюс проверку нужно было делать через isset() или !empty(), в твоем варианте будут нотисы.