Добро пожаловать, Гость!
SOS нужна помошь - Страница 1
Поиск скриптов | SOS нужна помошь

SOS нужна помошь
4 Мая 2018Доброго времени суток. нужно сделать имя фамилия при регистрации . помогите пожалуйста.
<?
//include_once 'sys/inc/mp3.php';
//include_once 'sys/inc/zip.php';
include_once 'sys/inc/start.php';
include_once 'sys/inc/compress.php';
include_once 'sys/inc/sess.php';
include_once 'sys/inc/home.php';
include_once 'sys/inc/settings.php';
include_once 'sys/inc/db_connect.php';
include_once 'sys/inc/ipua.php';
include_once 'sys/inc/fnc.php';
include_once 'sys/inc/shif.php';
$show_all=true; // показ для всех
include_once 'sys/inc/user.php';
only_unreg();
$set['title']='Регистрация';
include_once 'sys/inc/thead.php';
title();
if(!$set['web']){ echo '<div class="auts2"><a href="/">232323</a></div>'; }
aut();
if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!preg_match('#mail.php#',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&',preg_replace('#^http://[^/]*/#','/', $_SERVER['HTTP_REFERER']));if ($set['reg_select']=='close')
{
$err='Регистрация временно приостановлена';
err();
echo "<a href='/aut.php'>Авторизация</a><br />n";
include_once 'sys/inc/tfoot.php';
}
elseif($set['reg_select']=='open_mail' && isset($_GET['id']) && isset($_GET['activation']) && $_GET['activation']!=NULL)
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['id'])."' AND `activation` = '".my_esc($_GET['activation'])."'"),0)==1)
{
mysql_query("UPDATE `user` SET `activation` = null WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"));
mysql_query("INSERT INTO `reg_mail` (`id_user`,`mail`) VALUES ('$user[id]','$user[ank_mail]')");
msg('Ваш аккаунт успешно активирован');
$_SESSION['id_user']=$user['id'];
include_once 'sys/inc/tfoot.php';
}
}
if (isset($_SESSION['step']) && $_SESSION['step']==1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".$_SESSION['reg_nick']."'"),0)==0 && isset($_POST['pass1']) && $_POST['pass1']!=NULL && $_POST['pass2'] && $_POST['pass2']!=NULL)
{
if ($set['reg_select']=='open_mail')
{
if (!isset($_POST['ank_mail']) || $_POST['ank_mail']==NULL)$err[]='Неоходимо ввести Email';
elseif (!preg_match('#^[A-z0-9-._]+@[A-z0-9]{2,}.[A-z]{2,4}$#ui',$_POST['ank_mail']))$err[]='Неверный формат Email';
elseif(mysql_result(mysql_query("SELECT COUNT(*) FROM `reg_mail` WHERE `mail` = '".my_esc($_POST['ank_mail'])."'"),0)!=0)
{
$err[]="Пользователь с этим E-mail уже зарегистрирован";
}
}if (strlen2($_POST['pass1'])<6)$err[]='По соображениям безопасности пароль не может быть короче 6-ти символов';
if (strlen2($_POST['pass1'])>32)$err[]='Длина пароля превышает 32 символа';
if ($_POST['pass1']!=$_POST['pass2'])$err[]='Пароли не совпадают';
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']){$err[]='Неверное проверочное число';}
if (!isset($err))
{
if ($set['reg_select']=='open_mail')
{
$activation=md5(passgen());
mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`, `activation`, `ank_mail`) values('".$_SESSION['reg_nick']."', '".shif($_POST['pass1'])."', '$time', '$time', '".intval($_POST['pol'])."', '$activation', '".my_esc($_POST['ank_mail'])."')",$db);
$id_reg=mysql_insert_id();
$subject = "Активация аккаунта";
$regmail = "Здравствуйте $_SESSION[reg_nick]<br />
Для активации Вашего аккаунта перейдите по ссылке:<br />
<a href='http://$_SERVER[HTTP_HOST]/reg.php?id=$id_reg&activation=$activation'>http://$_SERVER[HTTP_HOST]/reg.php?id=".mysql_insert_id()."&activation=$activation</a><br />
Если аккаунт не будет активирован в течении 24 часов, он будет удален<br />
С уважением, администрация сайта<br />
";
$adds="From: "password@$_SERVER[HTTP_HOST]" <password@$_SERVER[HTTP_HOST]>n";
//$adds = "From: <$set[reg_mail]>n";
//$adds .= "X-sender: <$set[reg_mail]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($_POST['ank_mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
}
else
mysql_query("INSERT INTO `user` (`nick`, `pass`, `date_reg`, `date_last`, `pol`) values('".$_SESSION['reg_nick']."', '".shif($_POST['pass1'])."', '$time', '$time', '".intval($_POST['pol'])."')",$db);
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '".my_esc($_SESSION['reg_nick'])."' AND `pass` = '".shif($_POST['pass1'])."' LIMIT 1"));
/*
========================================
Создание настроек юзера
========================================
*/
mysql_query("INSERT INTO `user_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `discussions_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `tape_set` (`id_user`) VALUES ('$user[id]')");
mysql_query("INSERT INTO `notification_set` (`id_user`) VALUES ('$user[id]')");
if (isset($_SESSION['http_referer']))
mysql_query("INSERT INTO `user_ref` (`time`, `id_user`, `type_input`, `url`) VALUES ('$time', '$user[id]', 'reg', '".my_esc($_SESSION['http_referer'])."')");
$_SESSION['id_user']=$user['id'];
setcookie('id_user', $user['id'], time()+60*60*24*365);
setcookie('pass', cookie_encrypt($_POST['pass1'],$user['id']), time()+60*60*24*365);
if ($set['reg_select']=='open_mail')
{
msg('Вам необходимо активировать Ваш аккаунт по ссылке, высланной на Email');
}
else
{
mysql_query("update `user` set `wall` = '0' where `id` = '$user[id]' limit 1");
header('Location: /info.php');
}
}
}
elseif (isset($_POST['nick']) && $_POST['nick']!=NULL )
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."'"),0)==0)
{
$nick=my_esc($_POST['nick']);if( !preg_match("#^([A-zА-я0-9-_ ])+$#ui", $_POST['nick']))$err[]='В нике присутствуют запрещенные символы';
if (preg_match("#[a-z]+#ui", $_POST['nick']) && preg_match("#[а-я]+#ui", $_POST['nick']))$err[]='Разрешается использовать символы только русского или только английского алфавита';
if (preg_match("#(^ )|( $)#ui", $_POST['nick']))$err[]='Запрещено использовать пробел в начале и конце ника';
if (strlen2($nick)<3)$err[]='Короткий ник';
if (strlen2($nick)>32)$err[]='Длина ника превышает 32 символа';
}
else $err[]='Ник "'.stripcslashes(htmlspecialchars($_POST['nick'])).'" уже зарегистрирован';
if (!isset($err)){
$_SESSION['reg_nick']=$nick;
$_SESSION['step']=1;
msg ("Ник "$nick" может быть успешно зарегистрирован");
}
}
err();
if (isset($_SESSION['step']) && $_SESSION['step']==1)
{
echo '<div class="foot">';
echo "<form method='post' action='/reg.php?$passgen'>n";
echo "Ваш ник [A-zА-я0-9 -_]:<br /><input type='text' name='nick' maxlength='32' value='$_SESSION[reg_nick]' style='width:60%; height:30px;'/>";
echo "<input type='submit' value='Изменить' style='width:80px; height:33px;'/>n";
echo "</form><br />n"; echo "<form method='post' action='/reg.php?$passgen'>n";
echo '<div class="info"></div>';
echo "Ваш пол:<br /><select name='pol'style='width:98%; height:30px;'><option value='1'>Мужской</option><option value='0'>Женский</option></select><br />n";
if ($set['reg_select']=='open_mail')
{
echo "E-mail:<br /><input type='text' name='ank_mail' /><br />n";
echo "* Указывайте ваш реальный адрес E-mail. На него придет код для активации аккаунта.<br />n";
}
echo '<br />';
echo '<div class="info"></div>';
echo "Введите пароль [6-32]:<br /><input type='password' name='pass1' maxlength='32' style='width:98%; height:30px;'/><br />n";
echo "Повторите пароль:<br /><input type='password' name='pass2' maxlength='32' style='width:98%; height:30px;'/><br />n";
echo '<br />';
echo '<div class="info"></div>';
echo "Введите код:<br /><img src='/captcha.php?$passgen&SESS=$sess' width='100' height='30' alt='Проверочное число' /><input name='chislo' size='5' maxlength='5' value='' type='text' style='width:60px; height:30px;'/><br/>n";
echo "<div class='info'><a href='/rules.php'>Регистрируясь, Вы автоматически соглашаетесь с правилами сайта.</a></div>";
echo "<input type='submit' value='Продолжить' style='width:98%; height:30px;'/>n";
echo "</form>n";
echo '</div>';
}
else
{
echo '<div class="foot">';
echo "<form method='post' action='/reg.php?$passgen'>n";
echo "Введите ник:<br /><input type='text' name='nick' maxlength='32' style='width:98%; height:30px;'/><br />n";
echo "<input type='submit' value='Продолжить' style='width:98%; height:30px;'/>n";
echo "</form><br />n";
echo '</div>';
}
echo "<div class = 'info2'><a href='/aut.php'>» Войти</a></div>
<div class = 'info2'><a href='/pass.php'>» Восстановить пароль</a></div>n";
include_once 'sys/inc/tfoot.php';
Комментарии:


kantry (8 Мая 2018):
vityachis, strip_tags зачем тогда? strip_tags удалит сначала не разбитый тег sсript потом тот что был разорваным)) В итоге что то вроде этого в запросе будет
<?php
insert into `user` (`ank_name`) values("alert('Hello');")
?>
И потом, какая разница что в таблице хранить? Важнее то как, и что оттуда выводить))
kantry, с одной стороны все верно, но откуда знать каким образом будет выводить человек эти данные из базы, если ты захочешь воспользоваться чьим-то модулем, а человек который создал тему, явно сам писать функционал не будет.vityachis, strip_tags зачем тогда? strip_tags удалит сначала не разбитый тег sсript потом тот что был разорваным)) В итоге что то вроде этого в запросе будет
<?php
insert into `user` (`ank_name`) values("alert('Hello');")
?>
И потом, какая разница что в таблице хранить? Важнее то как, и что оттуда выводить))
Да и как уже сказал, дополнительная безопасностью лишней не будет, или эти 2 функции рядом сильно будут нагружать проц? Я так не думаю


vityachis, strip_tags зачем тогда? strip_tags удалит сначала не разбитый тег sсript потом тот что был разорваным)) В итоге что то вроде этого в запросе будет
<?php
insert into `user` (`ank_name`) values("alert('Hello');")
?>
И потом, какая разница что в таблице хранить? Важнее то как, и что оттуда выводить))


kantry (8 Мая 2018):
vityachis, потому что ты не закрыл тег. И вот это, на кой хрен там надо?
$firstName = mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['firstname'])));
kantry, тег code закрыл точно)vityachis, потому что ты не закрыл тег. И вот это, на кой хрен там надо?

$firstName = mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['firstname'])));
Дополнительная безопасность не помешает

Если будет передаваться что-то тип:
<scr<sсript>ipt>alert('Hello');</scr</sсript>ipt>

vityachis, потому что ты не закрыл тег. И вот это, на кой хрен там надо?

$firstName = mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['firstname'])));


Энмеркар, ну да, хотя что там предлагать то?
<?php
// Fields
echo "First Name:<br /><input type='text' name='firstname' /><br />\n";
echo "Last Name:<br /><input type='text' name='lastname' /><br />\n";
// Save
if (empty($_POST['firstname'])) {
$err[]='Need to fill "First Name"';
} else {
$firstName = mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['firstname'])));
}
if (empty($_POST['lastname'])) {
$err[]='Need to fill "Last Name"';
} else {
$lastName = mysql_real_escape_string(htmlspecialchars(strip_tags($_POST['firstname'])));
}
И все, остается добавить в SQL эти две переменных

---
Эмм... И почему-то code не работает...

vityachis, Даже не знаю поймёт или будет ждать коррекции модеаторов его темы,, тут же много вариантов может быть решению его вопроса,, например после регистрации никнейма переброс на страницу заполнения формы о себе,, а так тупо не чего конкретного да и код зачем если он в нём не чего не корректировал,, вот и не кто не чего и не предлагает для решения
______________________
꧁༺Энмеркар༻꧂


Энмеркар (8 Мая 2018):
vityachis, Ну да ты прав на все 100%,, глаза жалко на эту рябь смотреть потеряться можно,, да и вообще зачем весь рег файл копировать если он у него стандартный!
Добавлено:
rachidov, Вопрос а зачем тебе это,, всяко у тебя и анкета стандартная и там только имя,, так моё личное мнение пурга это!
Энмеркар, интересно он поймет что ему бы уже давно ответили, если бы правильно все описал, написал правильный заголовок темы и оформил код, что бы был с подсветкой?)) .ржу.vityachis, Ну да ты прав на все 100%,, глаза жалко на эту рябь смотреть потеряться можно,, да и вообще зачем весь рег файл копировать если он у него стандартный!
Добавлено:
rachidov, Вопрос а зачем тебе это,, всяко у тебя и анкета стандартная и там только имя,, так моё личное мнение пурга это!