Диссертация (1167217), страница 71
Текст из файла (страница 71)
$tdparts ."</td></tr>";echo "</table><br>";echo "<div style='color:red;' id='fail'></div><br>";echo "<input class='custombutton' type='submit' value='Сохранитьизменения'></form>";} // if isset post vars} // if ($_SESSION['login_user'])else {echo <<<_END<script>window.location.href = "http://agoroz.bget.ru/login.php";</script>_END;}$conn->close();?></div><a href="#0" class="cd-top">Top</a><a id="markB"></a> <!-- site footer --></body></html>ФАЙЛ NEWWORDSAVE.PHP<?phprequire_once 'config.php';session_start();// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Продолжение работы зарегистрированного пользователя$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);// Сохранение в БДif (isset($_POST['refsetid']) && isset($_POST['mainword']) &&isset($_POST['phonetics']) && isset($_POST['transl']) && isset($_POST['grammar'])&& isset($_POST['forms']) && isset($_POST['examples']) && isset($_POST['extra'])&& isset($_POST['partsval'])) {$refsetid = $_POST['refsetid'];$mainword = sanitizeMySQL($conn, $_POST['mainword']);$phonetics = sanitizeMySQL($conn, $_POST['phonetics']);$transl = sanitizeMySQL($conn, $_POST['transl']);442$grammar = sanitizeMySQL($conn, $_POST['grammar']);$forms = sanitizeMySQL($conn, $_POST['forms']);$examples = sanitizeMySQL($conn, $_POST['examples']);$extra = sanitizeMySQL($conn, $_POST['extra']);$partsval = $_POST['partsval'];$query = "INSERT INTO words VALUES(NULL, '$refsetid', '$mainword','$phonetics', '$transl', '$grammar', '$forms', '$examples', '$extra', DEFAULT,'$partsval')";$result = $conn->query($query);if (!$result) die($conn->error);else {$query = "SELECT * FROM lexsets WHERE setid=$refsetid";$result = $conn->query($query);if (!$result) die($conn->error);else {$row = $result->fetch_array(MYSQLI_ASSOC);}$_SESSION['setidfromdel'] = $refsetid;$_SESSION['setnamefromdel'] = $row['setname'];echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/showwords.php";</script>_END;}}} // if ($_SESSION['login_user'])else {echo <<<_END<script>window.location.href = "http://agoroz.bget.ru/login.php";</script>_END;}$conn->close();?>ФАЙЛ REGISTER.PHP<?phprequire_once 'config.php';$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);$dupl_email = false;session_start();if($_SERVER["REQUEST_METHOD"] == "POST"){$email_temp = sanitizeMySQL($conn, $_POST['useremail']);$first_temp = sanitizeMySQL($conn, $_POST['ufirstname']);$fam_temp = sanitizeMySQL($conn, $_POST['ufamname']);$pw_temp = sanitizeMySQL($conn, $_POST['password']);$salt1 = "qm&h*";$salt2 = "pg!@";$token = hash('ripemd128', "$salt1$pw_temp$salt2");$query = "SELECT * FROM users WHERE uemail='$email_temp'";$result = $conn->query($query);443if ($result->num_rows > 0) {//echo "<script>alert('Учетная запись с таким адресом эл.
почтыуже существует.');</script>";$dupl_email = true;}else{$query = "INSERT INTO users VALUES(NULL, '$first_temp', '$fam_temp','$email_temp', '$token', DEFAULT, DEFAULT)";$result = $conn->query($query);if (!$result) die($conn->error);else{echo <<<_END<script>alert('Учетная запись успешно зарегистрирована. Вы будетеперенаправлены на страницу авторизации.'); window.location.href ="http://agoroz.bget.ru/login.php";</script>_END;}}}?><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Register</title><link rel="stylesheet" type="text/css" href="css/main2.css"><script src='http://code.jquery.com/jquery-latest.min.js'></script><script type="text/javascript" src="js/nav.js"></script><script src="js/main.js"></script><script>$(document).ready(function() {$("#markZero").replaceWith(siteHead);$("#markA").replaceWith(navBar);$("#markB").replaceWith(siteFooter);});function validateEmail(field){if (field == "") return "Вы не ввели адрес эл.
почты.<br>"else if (!((field.indexOf(".") > 0) && (field.indexOf("@") > 0)) ||/[^a-zA-Z0-9.@_-]/.test(field)) return "Ввод не является адресом эл. почты.<br>"return ""}function validateForename(field){//[а-яА-ЯёЁ] кириллицаreturn (field == "") ? "Вы не ввели имя.<br>" : ""}function validateSurname(field){return (field == "") ? "Вы не ввели фамилию.<br>" : ""}444function validatePassword(field){if (field == "") return "Вы не ввели пароль.<br>"else if (field.length < 6) return "Пароль должен быть длиной мин. 6символов.<br>"else if (!(/[#\$\!]/.test(field) || /[a-z]/.test(field) || /[AZ]/.test(field) || /[0-9]/.test(field))) return "Пароль может содержать толькосимволы: a-z, A-Z, 0-9, $, ! и #.<br>"return ""}functionfailfailfailfailvalidate(form) {= validateEmail(form.useremail.value)+= validateForename(form.ufirstname.value)+= validateSurname(form.ufamname.value)+= validatePassword(form.password.value)if (fail == "") return true//else { alert(fail); return false }else {$("#fail").text("");$("#fail").append(fail);return false}}</script><style></style><body><a id="markZero"></a> <!-- site head --><a id="markA"></a> <!-- Nav bar --><?php// Что выводить для НЕзарегистрированного пользователя////////////////////////////////////////////////if (!$_SESSION["login_user"]) {echo <<<_END<center><h2>Регистрация новой учетной записи</h2><form action = "" method = "post" onsubmit="return validate(this)"><table><tr><td><label>Адрес эл.
почты: </label></td><td><input maxlength="64"type = "text" name = "useremail">*</td></tr><tr><td><label>Имя: </label></td><td><input maxlength="32" type = "text"name = "ufirstname">*</td></tr><tr><td><label>Фамилия: </label></td><td><input maxlength="32" type ="text" name = "ufamname">*</td></tr><tr><td><label>Пароль: </label></td><td><input maxlength="32" type ="password" name = "password">*</td></tr><!--<tr><td><label>Повторите пароль: </label></td><td><inputmaxlength="32" type = "password" name = "password2">*</td></tr>--></table></center><div class="center" style="color:red;" id="fail"></div><br><center><input class="custombutton" type = "submit" value = "СОЗДАТЬУЧЕТНУЮ ЗАПИСЬ"/></center>445</form><p></p><?php echo $error; ?></p>_END;if ($dupl_email) {echo <<<_END<script>$("#fail").text();$("#fail").append("Учетная запись с таким адресом эл.
почты ужесуществует.");</script>_END;}}// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////else {echo <<<_END<script>alert('Ваша учетная запись уже зарегистрирована.');window.location.href = "http://agoroz.bget.ru/login.php";</script>_END;//header("Location: http://agoroz.bget.ru/login.php");//echo "<p>Ваша учетная запись уже зарегистрирована.</p>";}?><div class="cmain"></div><a href="#0" class="cd-top">Top</a><a id="markB"></a> <!-- site footer --></body></html>ФАЙЛ RESTORESET.PHP<?phprequire_once 'config.php';session_start();if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Получение из БД порядка расположения пунктов карточки$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);$email = $_SESSION['login_user'];if (isset($_POST['restoreset']) && $_FILES['filerestore']['error'] ==UPLOAD_ERR_OK) {session_start();$xml = simplexml_load_file($_FILES['filerestore']['tmp_name']) ordie("Error: Cannot create object");$num = $xml->q;$query = "INSERT INTO lexsets VALUES(NULL, '$xml->setname', '$email','')";$result = $conn->query($query);$id = $conn->insert_id;446if (!$result) die($conn->error);else {for ($i=0; $i<$num; $i++) {$mainword = $xml->card[$i]->mainword;$phonetics = str_replace("[(br)]", "<br>", $xml->card[$i]>phonetics);$transl = str_replace("[(br)]", "<br>", $xml->card[$i]>transl);$grammar = str_replace("[(br)]", "<br>", $xml->card[$i]>grammar);$forms = str_replace("[(br)]", "<br>", $xml->card[$i]>forms);$examples = str_replace("[(br)]", "<br>", $xml->card[$i]>examples);$extra = str_replace("[(br)]", "<br>", $xml->card[$i]>extra);$levels = $xml->card[$i]->levels;$parts = $xml->card[$i]->parts;$query = "INSERT INTO words VALUES(NULL, '$id', '$mainword','$phonetics', '$transl', '$grammar', '$forms', '$examples', '$extra', '$levels','$parts')";$result = $conn->query($query);if (!$result) die($conn->error);} // for ($i=0; $i<$num; $i++)$conn->close();$_SESSION['setidfromdel'] = $id;$_SESSION['setnamefromdel'] = strval($xml->setname);echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/showwords.php";</script>_END;}} // if (isset($_POST['restoreset']))else {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/login.php";</script>_END;}} // if ($_SESSION['login_user'])// Что выводить для НЕзарегистрированного пользователяelse {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/login.php";</script>_END;}?>ФАЙЛ SAVECHANGEDCARDS 2.PHP<?phprequire_once 'config.php';session_start();// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////447if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Продолжение работы зарегистрированного пользователя$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);// Сохранение в БДif (isset($_POST['1']) && isset($_POST['2']) && isset($_POST['3']) &&isset($_POST['4']) && isset($_POST['5']) && isset($_POST['6']) &&isset($_POST['7']) && isset($_POST['8']) && isset($_POST['9']) &&isset($_POST['setid']) && isset($_POST['setname']) && isset($_POST['cards2'])) {$_SESSION['setid'] = $_POST['setid'];$_SESSION['setname'] = $_POST['setname'];$postvals[] = "";for ($i = 1; $i < 10; $i++) {$postvals[] = $_POST[strval($i)];}// Запись в БД новых значений// Подготовка строки вида: mainword:1-1,phonetics:3,transl:21,grammar:3,forms:3,examples:2-2,extra:3,levels:3,parts:3$cards2 = $_POST['cards2']; // Строка БД до сохранения// взять названия полей$fields = explode(',', $cards2);$sarr = getCards2($cards2);$s1arr = $sarr[0];$s2arr = $sarr[1];$newline = ""; // Новая строка БДfor ($i = 1; $i < 10; $i++) { // Перебирает все результаты вводапользователяif (in_array($postvals[$i], $fieldnames)) {$key = array_search($postvals[$i], $fieldnames); // 025 - где что-тоестьif ($i > 4) {$newline .= $fieldnames[$key] .