Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158

Ajax редактирование записи таблицы

20.03.2018, 06:06. Показов 4377. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста сделать редактирование записи,вывожу данные записи из таблицы в форму с id="bay",а как сделать чтобы при вводе новых данных по клику кнопки с id="add" данные сохранялись не понимаю.
JavaScript
1
2
3
4
5
6
7
8
9
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    return false;
});

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form id="bay" method="post" action="search2.php">
  <div class="form-group">
    <label for="name">Имя</label>
    <input type="text" class="field1" id="name"  name="name"  placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <label for="email">Почта</label>
    <input type="email" class="field2" id="email" name="email" placeholder="Ваша почта" required>
  </div>
  <div class="form-group">
    <label for="bilet">Номер билета</label>
    <input type="text" class="field3" id="bilet" name="bilet" readonly>
  </div>
  <div class="form-group">
    <label for="stoimost">Стоимость</label>
    <input type="text" class="field4" id="stoimost" name="stoimost" value="руб" readonly>
    
  </div>
 
  <button name="add" type="submit" class="field5" >Купить</button> 
   <button type="submit" class="field6" >Забронировать</button>
 
</form>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2018, 06:06
Ответы с готовыми решениями:

Ajax-редактирование строки таблицы при нажатии
в общем надо сделать редактирование выбранной строки, я выбираю строку нажимаю на ней кнопку и данные которые есть в нужных ячейках...

Редактирование записи в бд
Доброго времени суток. Стоит задача создания панели управления сайтом, так вот собственно и вопрос: Как производить редактирование записи с...

Редактирование записи по ID
у меня вот тожеж проблема, я уже все мозги себе проел, мб подскажете что я не так делаю? надо редактировать запись в бд по ид, а у меня...

48
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 06:42
Студворк — интернет-сервис помощи студентам
kikaa, блин, да напиши ты сюда
PHP
1
echo $result ? 'Информация в базу добавлена' : 'Информация в базу НЕ добавлена. '.mysql_error();
и сразу все будет понятно
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 06:50  [ТС]
Ошибка:No database selected,я же открываю запись для редактирования,а он мне выводит пустые поля на форме,видимо из-за этого,а как сделать,чтобы он привязан был к id_bileta?
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 08:47  [ТС]
Немного подправил код,но форма всё равно пустая и данные не заносятся в бд,ошибка: No database selected
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form id="bay"> 
      <div class="form-group">
    <label for="name">Имя</label>
    <input type="text" class="field1" id="name"  name="name"  placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <label for="email">Почта</label>
    <input type="email" class="field2" id="email" name="email" placeholder="Ваша почта" required>
  </div>
  <div class="form-group">
    <label for="bilet">Номер билета</label>
    <input type="text" class="field3" id="id_bileta" name="id_bileta" readonly >
  </div>
  <div class="form-group">
    <label for="stoimost">Стоимость</label>
    <input type="text" class="field4" id="stoimost" name="stoimost" readonly >
  </div>
  <button name="add" id="add" type="submit" class="field5" >Купить</button> 
   <button type="submit" class="field6" >Забронировать</button>
</form>
 
</div>
</div>
</div>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$dbс = mysql_connect('localhost', 'root', '', 'db1') or die('Ошибка подключения к БД');
 
if (isset($_POST["name"]) && isset($_POST['email'])&& isset($_POST['id_bileta']) && isset($_POST['stoimost'])&& isset($_POST['id_bileta'])){
    
    $result=mysql_query("UPDATE `table3` SET `name` = '$name', `email` = '$email', `id_bileta` = '$id_bileta', `stoimost` = '$stoimost' WHERE `id_bileta`= $id_bileta");
 
    print_r($_POST);
 
  echo $result ? 'Информация в базу добавлена' : 'Информация в базу НЕ добавлена. '.mysql_error();
 
   
    /*if ($result) {
        echo "Информация в базу добавлена";
 
    } else {
        echo "Информация в базу НЕ добавлена";
    }*/
    
} else {
    echo 'All fields are required!';
}
 
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    var $form = $('.bay');
    $.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
            console.log(data);
        }
    })
})
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
22.03.2018, 09:30
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
  $dbс = mysqli_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
    
 if ( isset($_POST['id_bileta'])  ) { $id_bileta=$_POST['id_bileta'];   } else {die("айди билета не существует");}
 if ( isset($_POST['stoimost'])  ) { $stoimost=$_POST['stoimost'];  }  else {die("стоимости не существует");}
 if ( isset($_POST['name'])  ) { $name=$_POST['name'];  } else {die("имени не существует");}
 if ( isset($_POST['email'])  ) { $email=$_POST['email'];  }  else {die("эмайл не существует");}
 
  $result=mysqli_query($dbс,"UPDATE `table3` SET name='$name' ");
  
 
  if ($result==true)
  {
      echo "Информация в базу добавлена";
 
  }
  else
  {
      echo "Информация в базу НЕ добавлена - ".mysqli_error($dbс);
  }
 
 
?>
так пока сделайте, что пишет?

Добавлено через 1 минуту
у вас не подключения к базе поэтому не срабатывает
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 09:35  [ТС]
Обновляет name,но в бд заносит во все строки,а не по которой был сделан клик
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
22.03.2018, 09:42
Цитата Сообщение от kikaa Посмотреть сообщение
Обновляет name,но в бд заносит во все строки,а не по которой был сделан клик
ну все, главное обновил, теперь возвращайте условие ваше

SQL
1
  $result=mysqli_query($dbc, "UPDATE `table3` SET `name` = '$name', `email` = '$email', `id_bileta` = '$id_bileta', `stoimost` = '$stoimost' WHERE `id_bileta`= '$id_bileta'");
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 09:48  [ТС]
Так не обновляет,ошибка как раз эта строка:
PHP
1
$result=mysqli_query($dbc, "UPDATE `table3` SET `name` = '$name', `email` = '$email', `id_bileta` = '$id_bileta', `stoimost` = '$stoimost' WHERE `id_bileta`= '$id_bileta'");
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 10:27  [ТС]
Из-за условия WHERE как-то не так работает,не обновляет + форма для редактирования пустая

Добавлено через 30 минут
Нужно как-то сделать чтобы он по id_bileta переходил на форму,если нажал на 1-ый,то редактировался только первый и в форму выводились данные его,но почему-то не работает...
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 11:06
kikaa, судя по ошибке, это совсем не из за условия, а потому что $dbc должно быть подключением к mysql, а приходит null

скопируй сверху у себя в коде $dbс эту переменную, и вставь в запрос, только копируй а не пиши вручную, много случаем когда с это русская или английская буква в слове, поэтому переменные разные
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 11:11  [ТС]
brain-4-me, дак уже отправляет в БД,но проблема в том,что он отправляет во все строки,т.е для id_bileta 1,2,3 и т.д,а не в ту запись,по которой кликнул
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 11:55
kikaa, ок, давай тогда попробуем так

Страница с формой
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form id="bay"> 
      <div class="form-group">
    <label for="name">Имя</label>
    <input type="text" class="field1" id="name"  name="name"  placeholder="Ваше имя" required>
  </div>
  <div class="form-group">
    <label for="email">Почта</label>
    <input type="email" class="field2" id="email" name="email" placeholder="Ваша почта" required>
  </div>
  <div class="form-group">
    <label for="bilet">Номер билета</label>
    <input type="text" class="field3" id="id_bileta" name="id_bileta" readonly >
  </div>
  <div class="form-group">
    <label for="stoimost">Стоимость</label>
    <input type="text" class="field4" id="stoimost" name="stoimost" readonly >
  </div>
  <button name="add" id="add" type="submit" class="field5" >Купить</button> 
   <button type="submit" class="field6" >Забронировать</button>
</form>
 
</div>
</div>
</div>
Отправляем форму
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    $.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
            console.log(data);
        }
    })
})
search2.php
пока без всяких проверок, если выведет какую нибудь ошибку кидай сюда, будем посмотреть что у тебя неправильно приходит

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$name = $_POST['name'];
$email = $_POST['email'];
$id_bileta = $_POST['id_bileta'];
$stoimost = $_POST['stoimost'];
 
$sql = "UPDATE `table3` SET 
    `name` = '$name', 
    `email` = '$email', 
    `id_bileta` = $id_bileta, 
    `stoimost` = '$stoimost'
    WHERE `id_bileta`= '$id_bileta'";
 
if(!$result == mysqli_query($dbc, $sql)){
    echo $sql.'<br>';
    die(mysqli_error($dbc));    
}else{
    echo 'Обновлено!';
}
1
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 12:14  [ТС]
brain-4-me, в консоли пишет,что Обновлено ,но на самом деле ничего в бд не обновляет
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 12:30
Лучший ответ Сообщение было отмечено kikaa как решение

Решение

kikaa, а у тебя все это на локалке?

сделай еще так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$name = $_POST['name'];
$email = $_POST['email'];
$id_bileta = $_POST['id_bileta'];
$stoimost = $_POST['stoimost'];
 
$sql = "UPDATE `table3` SET 
    `name` = '$name', 
    `email` = '$email', 
    `id_bileta` = $id_bileta, 
    `stoimost` = '$stoimost'
    WHERE `id_bileta`= '$id_bileta'";
 
if(!$result == mysqli_query($dbc, $sql)){
    echo $sql.'<br>';
    die(mysqli_error($dbc));    
}else{
    echo $sql.'<br>';
    echo 'Обновлено!';
}
и гляди правильно ли данные приходят
1
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 12:41  [ТС]
Спасибо, в бд заносятся данные,но как ещё сделать чтобы форма была не пустая,т.к я же редактирую,там уже есть данные в бд,а на форме их нет
Миниатюры
Ajax редактирование записи таблицы  
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 13:04
Лучший ответ Сообщение было отмечено kikaa как решение

Решение

kikaa, как я понимаю у тебя по кнопке Оформить заказ все это дело появляется?
и функция выполняется эта
JavaScript
1
2
3
4
5
6
7
8
9
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bilet').val(id_bileta);
    $('#stoimost').val(stoimost);
    $('#name').val(name);
    return false;
});
а модальное окно скрыто где то на странице или формируется динамически при клике?
если скрыто, то может помочь такой вариант
JavaScript
1
2
3
4
5
6
7
8
9
$('.bay').click(function(){
    var stoimost=$(this).data('stoimost'),
    id_bileta=$(this).data('bilet');
    name=$(this).data('name');
    $('#bay').find('#bilet').val(id_bileta);
    $('#bay').find('#stoimost').val(stoimost);
    $('#bay').find('#name').val(name);
    return false;
});
И вообще покажи ка код кнопки Оформить заказ какие там параметры
1
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
22.03.2018, 13:42  [ТС]
brain-4-me, спасибо с этим вы тоже мне помогли,но теперь у меня проблема в том,что модальное окно у меня не закрывается при отправке формы и обратно сообщение я не получаю об удачной отправке данных,не подскажите как это сделать?

Добавлено через 6 минут
и как к стоимости приписать - .руб?

Добавлено через 6 минут
для открытия закрытия формы:
JavaScript
1
2
3
4
5
6
7
8
9
$(document).ready(function(){
            $('.popup .close_window, .overlay').click(function (){
                $('.popup, .overlay').css({'opacity':'0', 'visibility':'hidden'});
            });
            $('.bay').click(function (e){
                $('.popup, .overlay').css({'opacity':'1', 'visibility':'visible'});
                e.preventDefault();
            });
        });
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
22.03.2018, 13:48
Лучший ответ Сообщение было отмечено kikaa как решение

Решение

kikaa,

Закрытие модального окошка, где ajax отправки на сервер
JavaScript
1
2
3
success:function(data){
            $('.popup, .overlay').css({'opacity':'0', 'visibility':'hidden'});
        }
Цитата Сообщение от kikaa Посмотреть сообщение
и как к стоимости приписать - .руб
тут есть два варианта, посложнее и попроще)
посложнее это так

JavaScript
1
$('#bay').find('#stoimost').val(stoimost+' руб.');
но потом надо чистить, в базу так не запишется
PHP
1
$stoimost = str_replace(' руб.','',$_POST['stoimost']);
а попроще это
JavaScript
1
$('#bay').find('#stoimost').val(stoimost).after(' руб.');
1
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
23.03.2018, 04:53  [ТС]
brain-4-me, ещё раз спасибо)Блин,а как теперь сделать вывод окна "Спасибо за заявку допустим,ваш номер билета='?' и сделать проверку введённых данных(email),required же не работает.
0
 Аватар для brain-4-me
162 / 150 / 97
Регистрация: 24.12.2013
Сообщений: 744
Записей в блоге: 12
23.03.2018, 06:59
kikaa, ну) не знаю почему у тебя не работает required

проверка email на правильность заполнения и чтобы поле не было пустым

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
    $('#email').blur(function(){ //Когда ставят курсор в поле email
        var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
        if($(this).val() != ''){
            if(pattern.test($(this).val())){ //если email введен верно
                $('#add').attr('disabled',false);
                $('.error').remove();
            }else{
                $(this).after('<span class="error" style="color:red">Введите верный email</span>'); //Что случилось)
                $('#add').attr('disabled',true); //Выключаем действие кнопки если емаил неверный
            }
        }else{
            $(this).after('<span class="error" style="color:red">Поле email не может быть пустым</span>'); //Что случилось)
            $('#add').attr('disabled',true); //Выключаем действие кнопки если емаил неверный
        }       
    })  
})
еще для пущей уверенности можно поставить после
JavaScript
1
2
3
4
5
6
7
8
$('#add').click(function(e){
    e.preventDefault();
    $('#bay input').each(function(){
        if($(this).val() == ''){
            $('.bay').prependTo('<span class="error-field" style="color:red">Все поля обязательны для заполнения</span>');
            return;
        }
    })
ну и благодарность, надо дописать

JavaScript
1
2
3
4
5
6
7
success:function(data){
    $('#bay').append('<div class="thank">Спасибо за заявку ,ваш номер билета '+$('#bay').find('#id_bileta').val()+'</div>');
    setTimeout(finction(){
        $('.popup, .overlay').css({'opacity':'0', 'visibility':'hidden'});
    },2000); //через 2 сек модальное окно закроется
    
}
Конечно если бы знать структуру страницы можно было написать проще, без всяких вставок типа after, appendTo, но и так должно все работать
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
23.03.2018, 09:53  [ТС]
brain-4-me, у меня почему-то все ошибки дублируются по несколько раз и проверка чтобы все input не были пустыми почему-то не срабатывает:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$('#add').click(function(e){
    e.preventDefault(); //убираем стандартный обработчик чтобы страница форма не перенаправляла 
    $('#bay input').each(function(){
        if($(this).val() == ''){
            $('.bay').prependTo('<span class="error-field" style="color:red">Все поля обязательны для заполнения</span>');
            return;
        }
    })
    $.ajax({
        url: 'search2.php', 
        type: 'post', 
        data: $('#bay').serialize(),
        success:function(data){
    $('#bay').append('<div class="thank">Спасибо за заявку ,ваш номер билета '+$('#bay').find('#id_bileta').val()+'</div>');
    setTimeout(function(){
        $('.popup, .overlay').css({'opacity':'0', 'visibility':'hidden'});
    },2000);
        }
        
    })
})
И как сделать чтобы "Благодарность" выводилась не в этом же окне,а в новом?
Миниатюры
Ajax редактирование записи таблицы  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2018, 09:53
Помогаю со студенческими работами здесь

Редактирование записи в бд
Здравствуйте уважаемые форумчанне! С php я уже разобрался(Ну.. для меня пока нормально, изучаю дальше)) А вот с sql пока не лады.. У...

Редактирование выбранной записи
Добрый день. делаю форму для редактирования выбранной записи. &lt;?php if (isset($_POST)) { mysql_query(&quot;UPDATE...

Редактирование записи в mysql
Помогите пожалуйста исправить код на сохранение редактируемой записи. На главной форме выводится таблицы из бд и рядом с каждой записью...

Вывести из таблицы MySQL все записи в виде html таблицы, не зная имена и колличество столбцов
Всем привет. Подскажите как вывести из таблицы MySQL все записи в виде html таблицы не зная имена и колличество столбцов

Как в MySQL запросе сравнить значение id из таблицы A со значением a_id из таблицы B из последней добавленной записи
Очень тяжело объяснить, вот пример (работаю в phpmyadmin): У меня есть 2 таблицы: articles categories У articles есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru