<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Проверка правильности ввода полей
22.06.2011 21:08:01 Проверка правильности ввода полей Сообщение #1
Alim_(I)

Alim_(I)

Эксперт

Эксперт

Дата регистрации:
26.04.2011 14:55:07

Сообщений: 119

А куда нужно вставлять этот параметр? Вот HTML-файл(немного подправил этот файл, и JS-файл тоже):

<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
<script type="text/javascript" src="style.js"></script>
<title>Test</title>
</head>
<body>

<form name="registerForm" action="" method="post" onSubmit="return checkRegister();">
<nobr><label>Имя: </label>
<input type="text" name="firstname"></nobr>
<br>
<br>
<nobr><label>Фамилия: </label>
<input type="text" name="lastname"></nobr>
<br>
<br>
<nobr><label>Отчество: </label>
<input type="text" name="middlename"></nobr>
<br>
<br>
<nobr><label>Логин: </label>
<input type="text" name="login"></nobr>
<br>
<br>
<nobr><label>Пароль: </label>
<input type="password" name="pass"></nobr>
<br>
<br>
<nobr><label>Подтвердите пароль: </label>
<input type="password" name="pass2"></nobr>
<br>
<br>
<nobr><label>E-mail: </label>
<input type="text" name="email"></nobr>
<br>
<br>
<input type="submit" name="reg" value="Зарегистрироваться">
</form>.

И JS-файл:

function checkRegister(form) {
var firstname = registerForm.firstname.value;
var lastname = registerForm.lastname.value;
var middlename = registerForm.middlename.value;
var login = registerForm.login.value;
var email = registerForm.email.value;
var pass = registerForm.pass.value;
var pass2 = registerForm.pass2.value;
var captcha = registerForm.captcha.value;

var bad = "";
if (firstname.length < 2)
bad += 'Имя должно содержать не менее 2-х символов' + "
";
if (nameuser.length > 15)
bad += 'Имя должно содержать не более 15-ти символов' + "
";
if (login.length < 2)
bad += 'Логин должен содержать не менее 2-х символов' + "
";
if (login.length > 10)
bad += 'Логин должен содержать не более 10' + "
";
if (email.indexOf("@" == -1)
bad += 'Вы не поставили символ "@"' + "
";
if (email.indexOf("." == -1)
bad += 'Вы не поставили символ "."' + "
";
if (email.length > 32)
bad += 'E-mail должен содержать не более 32-х символов' + "
";
if (pass != pass2)
bad += 'Пароли не совпадают' + "
";
if (pass.length < 6)
bad += 'Пароль должен содержать не менее 4 символов' + "
";
if (pass.length > 10)
bad += 'Пароль должен содержать не более 10-ти символов' + "
";
if (captcha.length < 1)
bad += 'Вы не ввели код с картинки' + "
";
if (bad != "" {
bad = 'Следующие данные некорректны:' + "
"+ bad;
alert(bad);
return false;
Профиль Ответить
22.06.2011 21:13:56 Проверка правильности ввода полей Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Вместо этого:

<form name="registerForm" action="" method="post" onSubmit="return checkRegister();">
Нужно написать:

<form name="registerForm" action="" method="post" onSubmit="return checkRegister(this);">
Профиль Ответить
22.06.2011 21:15:46 Проверка правильности ввода полей Сообщение #3
Alim_(I)

Alim_(I)

Эксперт

Эксперт

Дата регистрации:
26.04.2011 14:55:07

Сообщений: 119

Все равно не работает.
Профиль Ответить
22.06.2011 21:18:03 Проверка правильности ввода полей Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Ещё один момент. Вы случаем лишних переходов не делаете? То есть, например, "str1
str2" - так писать нельзя!
Надо писать в одну строку: "str1 strs2", либо ставить знак +. Если у Вас расположение аналогично тому, как Вы написали здесь, то это работать не будет. Потому что не должно быть такой строки: ";, а у Вас они на каждом углу. И вообще учитесь искать такие ошибки следующим образом:
1. Закомментируйте всё, кроме объявления функции.
2. Вызовите alert(). Если вызывается, значит, в функцию попадаем. Если нет, значит, дело вообще не в содержимом.
3. Если же alert() вызывается, начинает потихоньку расскоментировать и вызывать alert(). И смотреть там, где происходит потеря alert(). Вот там, где это происходит - там и ошибка. Также можете выводить различные переменные в alert().
Это самый простой приём программиста, который он должен освоить и уметь использовать абсолютно всегда. А искать потерю кавычек, какие-то глупые ошибки Вам никто не будет, тем более, что кода действительно много для поиска мелких ошибок.
Профиль Ответить
22.06.2011 21:22:09 Проверка правильности ввода полей Сообщение #5
Alim_(I)

Alim_(I)

Эксперт

Эксперт

Дата регистрации:
26.04.2011 14:55:07

Сообщений: 119

Что это "str1", "str2", какой-то код или это строка.
Профиль Ответить
22.06.2011 21:23:53 Проверка правильности ввода полей Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

str1 - это просто некая строка. Перечитайте предыдущее сообщение, я его дополнил.
Профиль Ответить
22.06.2011 21:42:01 Проверка правильности ввода полей Сообщение #7
Alim_(I)

Alim_(I)

Эксперт

Эксперт

Дата регистрации:
26.04.2011 14:55:07

Сообщений: 119

А вот так написать можно?:

function checkRegister(form) {
var firstname = registerForm.firstname.value;
var lastname = registerForm.lastname.value;
var middlename = registerForm.middlename.value;
var login = registerForm.login.value;
var email = registerForm.email.value;
var pass = registerForm.pass.value;
var pass2 = registerForm.pass2.value;
var captcha = registerForm.captcha.value;

var bad = "";
if (firstname.length < 2)
alert('Имя должно содержать не менее 2-х символов');
if (nameuser.length > 15)
alert('Имя должно содержать не более 15-ти символов');
if (login.length < 2)
alert('Логин должен содержать не менее 2-х символов');
if (login.length > 10)
alert('Логин должен содержать не более 10');
if (email.indexOf("@" == -1)
alert('Вы не поставили символ "@"');
if (email.indexOf("." == -1)
alert('Вы не поставили символ "."');
if (email.length > 32)
alert('E-mail должен содержать не более 32-х символов');
if (pass != pass2)
alert('Пароли не совпадают');
if (pass.length < 6)
alert('Пароль должен содержать не менее 4 символов');
if (pass.length > 10)
alert('Пароль должен содержать не более 10-ти символов');
if (captcha.length < 1)
alert('Вы не ввели код с картинки');
}
Профиль Ответить
22.06.2011 21:44:16 Проверка правильности ввода полей Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Вы абсолютно ничего не поняли. Вначале надо сделать функцию такой:

function check(form) {
alert("Проверка";
}

Затем такой:

function check(form) {
var firstname = form.firstname.value;
alert("Проверка";
}

И так далее. Как только alert() перестаёт срабатывать - значит в предыдущей строке находится ошибка.
Профиль Ответить
23.06.2011 11:05:33 Проверка правильности ввода полей Сообщение #9
armen_98

armen_98

Эксперт

Эксперт

Дата регистрации:
12.01.2011 16:35:33

Сообщений: 130

ошибки:
1.Не закрывается html
2.Еще вы не написали get параметр а вот код исправленный может у вас не будет работать но у меня она нормально работает
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
<meta name="Description" content="">
<meta name="KeyWords" content="">
<link rel="stylesheet" href="style.css" type="text/css">
<script type='text/javascript' src='style.js'></script>
<link rel="stylesheet" href="style.php" type="text/php">
<link rel="icon" href="">
<link rel="shortcut" href="">
<title>IAlim.ru</title>

</head>

<body>

<form name="register" action="Processes/register-proccession" method="post" onSubmit="return check(this);">

<nobr><label>Имя<font color="red">*</font>: </label>
<input type="text" name="firstname"></nobr>
<br>
<br>
<nobr><label>Фамилия<font color="red">*</font>: </label>
<input type="text" name="lastname"></nobr>
<br>
<br>
<nobr><label>Отчество<font color="red">*</font>: </label>
<input type="text" name="middlename"></nobr>
<br>
<br>
<nobr><label>Логин<font color="red">*</font>: </label>
<input type="text" name="login"></nobr>
<br>
<br>
<nobr><label>Пароль<font color="red">*</font>: </label>
<input type="password" name="pass"></nobr>
<br>
<br>
<nobr><label>Потдвердите пароль<font color="red">*</font>: </label>
<input type="password" name="pass2"></nobr>
<br>
<br>
<nobr><label>E-mail<font color="red">*</font>: </label>
<input type="text" name="email"></nobr>
<br>
<br>
<nobr><label>Аватар: </label>
<input type="file" name="avatar"></nobr>
<br>
<br>
<nobr><label>Дата рождения<font color="red">*</font>: </label>
<select name="birthyear">
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
<option value="1909">1909</option>
<option value="1908">1908</option>
<option value="1907">1907</option>
<option value="1906">1906</option>
<option value="1905">1905</option>
<option value="1904">1904</option>
<option value="1903">1903</option>
<option value="1902">1902</option>
<option value="1901">1901</option>
<option value="1900">1900</option>
</select>
<select name="birthmonth">
<option value="Декабрь">Декабрь</option>
<option value="Январь">Январь</option>
<option value="Февраль">Февраль</option>
<option value="Март">Март</option>
<option value="Апрель">Апрель</option>
<option value="Май">Май</option>
<option value="Июнь">Июнь</option>
<option value="Июль">Июль</option>
<option value="Август">Август</option>
<option value="Сентябрь">Сентябрь</option>
<option value="Октябрь">Октябрь</option>
<option value="Ноябрь">Ноябрь</option>
</select>
<select name="birthday">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select></nobr>
<br>
<br>
<nobr><label>Пол<font color="red">*</font>: </label>
<input type="radio" name="gender" value="Мужской">Мужской
<input type="radio" name="gender" value="Женский">Женский</nobr>
<br>
<br>
<input type="submit" name="sub" value="Зарегистрироваться">
</form>

</body>
</html>

style.js:
function check(form) {
var firstname = form.firstname.value;
var lastname = form.lastname.value;
var middlename = form.middlename.value;
var login = form.login.value;
var pass = form.pass.value;
var pass2 = form.pass2.value;
var email = form.email.value;
var bad = "";
if (firstname.length < 3)
bad += "Имя должно содержать не менее 3-х символов" + "
";
if (firstname.length > 15)
bad += "Имя должно содержать не более 15-ти символов" + "
";
if (lastname.length < 2)
bad += "Фамилия должна содержать не менее 3-х символов" + "
";
if (lastname.length > 15)
bad += "Фамилия должна содержать не более 15-ти сиволов" + "
";
if (middlename.length < 3)
bad += "Отчество должно содержать не менее 3-х символов" + "
";
if (middlename.length > 20)
bad += "Отчество должно содержать не более 20-ти символов" + "
";
if (login.length < 3)
bad += "Логин должен содержать не менее 3-х символов" + "
";
if (email.indexOf("@" == -1 )
bad += 'Вы не поставили символ "@"' + "
";
if (bad != "" {
bad = "Форма заполнена неккоректно:
" + bad;
alert(bad);
return false;
}
return true;
}

еще я добавлял несколько
чтоб оформление при некоторых ошибок был правильным
Профиль Ответить
23.06.2011 11:18:27 Проверка правильности ввода полей Сообщение #10
Alim_(I)

Alim_(I)

Эксперт

Эксперт

Дата регистрации:
26.04.2011 14:55:07

Сообщений: 119

Все равно, игнорирует функцию.
Профиль Ответить