(PHP + MySQL) Прокоментируйте код.

alexander.pro

Новичок
(PHP + MySQL) Прокоментируйте код.

Пожалуйста прокоментируйте готовый код системы регистрации.Напишите, что лишнее, а что нужно добавить.
Вот код:
PHP:
//Удаляем пробелы,слеши,символы//
$nik = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['nik']))));
$name = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['name']))));
$password = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['passw']))));
//Проверяем форму если одна из трёх пуста, записываем в массив//
if (empty($regform)){
if (empty($nik)){ $u_mass[] = "Ник"; }
if (empty($name)){ $u_mass[] = "Имя пользователя"; }
if (empty($password)){ $u_mass[] = "Пароль"; }}
if (empty($u_mass)){ $m_status = 1; } else { $m_status = 0; }
//Проверяем существует ли массив если нет, то//
if ($m_status == 0){ echo ("Пожалуйста заполните форму: ");
for ($i=0;$i<count($u_mass);$i++){ echo ("$u_mass[$i] "); }}
//Соединяемся с базой данных и проверяем данные//
else { echo ("Все поля формы заполнены.<br>");
$connect = mysql_connect ("localhost","root");
$data = mysql_select_db ("portal");
$string = mysql_query("select*from client");
$num = mysql_num_rows($string);
$t_nik = mysql_query("select*from client where nik ='$nik'");
$r_nik = mysql_fetch_array($t_nik);
if (!$r_nik > 0){
$num = $num+1;
$contact = ("[email protected]");
$rec = "insert into client (c_no,nik,name,email,passw) values ('".$num."','".$nik."','".$name."','".$contact."','".$password."')";
$result = mysql_query($rec); if ($result) { echo ("Успешно добавлен");}}
else { echo ("Пользователь с таким ником уже существует.<br><a href = inst.php>Правила регистрации.</a>");}
mysql_close();}
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума

alexander.pro
У тебя в редакторе код тоже без отступов?
 

Beavis

Banned
PHP:
<?php
//Удаляем пробелы,слеши,символы//
$nik = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['nik']))));
$name = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['name']))));
$password = trim(strtolower(htmlspecialchars(stripcslashes(@$_GET['passw']))));
//Проверяем форму если одна из трёх пуста, записываем в массив//
if (empty($regform)) {
    if (empty($nik)) {
        $u_mass[] = "Ник";
    }
    if (empty($name)) {
        $u_mass[] = "Имя пользователя";
    }
    if (empty($password)) {
        $u_mass[] = "Пароль";
    }
}
if (empty($u_mass)) {
    $m_status = 1;
} else {
    $m_status = 0;
}
//Проверяем существует ли массив если нет, то//
if ($m_status == 0) {
    echo ("Пожалуйста заполните форму: ");
    for ($i = 0; $i < count($u_mass); $i ++) {
        echo ("$u_mass[$i] ");
    }
} //Соединяемся с базой данных и проверяем данные//
else {
    echo ("Все поля формы заполнены.<br>");
    $connect = mysql_connect("localhost", "root");
    $data = mysql_select_db("portal");
    $string = mysql_query("select*from client");
    $num = mysql_num_rows($string);
    $t_nik = mysql_query("select*from client where nik ='$nik'");
    $r_nik = mysql_fetch_array($t_nik);
    if (! $r_nik > 0) {
        $num = $num + 1;
        $contact = ("[email protected]");
        $rec = "insert into client (c_no,nik,name,email,passw) values ('" . $num . "','" . $nik . "','" . $name . "','" . $contact . "','" . $password . "')";
        $result = mysql_query($rec);
        if ($result) {
            echo ("Успешно добавлен");
        }
    } else {
        echo ("Пользователь с таким ником уже существует.<br><a href = inst.php>Правила регистрации.</a>");
    }
    mysql_close();
}
?>
так получше =)
только всё-равно, код достаточно криво написан...
есть же в инете много статей, как сделать регистрацию, может лучше оттуда взять код?
 

Армян

Новичок
Я бы свой код оставил :)

1 непонятно откуда переменная $regform взялась
2 юзай автоинкрементное поле.
 

Фанат

oncle terrible
Команда форума
alexander.pro, а можно не только ты позадаешь вопросы, но и тебе?
Не подскажешь, что делает в твоем коде функция stripcslashes?

Почему под комментарием "Проверяем существует ли массив", проверяем не массив, а число?

Ну, или если ты любишь проверять числа, то почему тогда не сделано единобразно -
if (empty($nik)){ $nik_satus = 1 } else { $nik_status = 0; }
if ($nik_status == 0){$u_mass[] = "Ник"; }

попробуй добавить пользователя с именем Д'артаньян
 

Alexandre

PHPПенсионер
собаку убить!
//Проверяем существует ли массив если нет, то//
if ($m_status == 0) {
echo ("Пожалуйста заполните форму: ");
for ($i = 0; $i < count($u_mass); $i ++) {
echo ("$u_mass[$i] ");
}
вообще лучше выводить на против поля - заполнено оно или нет

$t_nik = mysql_query("select*from client where nik ='$nik'");
устаревшее решение...
используй функцию mysql_escape_string() mysql_real_escape_string()
echo ("Пользователь с таким ником уже существует.<br><a href = inst.php>Правила регистрации.</a>");
почитай что такое MVC
и шаблонизация...
 

Drimean

Новичок
Не будет ли в пароле лишним strtolower? Все-таки пользователь пароль может и посложнее задать...
 
Сверху