Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2019, 01:51   #1
Тер
Новичок
Джуниор
 
Регистрация: 17.12.2016
Сообщений: 2
По умолчанию Внести изменение(PHP) в строку таблицы БД(MySQL, работаю в phpMyAdmin) при нажатии на кнопку

Здравствуйте. Подскажите, пожалуйста, как можно сделать так, чтобы при нажатии на кнопку "Отправить" на страничке oform, правильно срабатывал файл action_oform, т.е, проверял для пользователя существование значения в столбце "status" и, если оно не существует или "Отклонена", создавал значение в столбце "date"(ставил текущую дату), оставляя статус пустым, а если значение "Принята", то выводил сообщение "Заявка уже была создана и принята".
Я понимаю, что в общих чертах в файле action_oform должно быть:
  • Подключение к базе данных(есть).
  • Проверка на то, авторизован ли пользователь(есть).
  • Получение данных из таблицы statem(есть).
  • Работа с данными таблицы(нет).

Вот, что у меня есть:
Файл connection.php:
PHP код:
<?php
$host 
'localhost'// адрес сервера
$database 'insurance'// имя базы данных
$user 'root'// имя пользователя
$dbpassword ''// пароль
?>
Файл oform.php:

PHP код:
<?php 
    
require_once 'connection/connection.php';
    if(empty(
$_SESSION['id'])) {
        
header("Location: http://passport/auth.php");
    } else {
        
$id $_SESSION['id'];
        
$conn mysqli_connect($host$user$dbpassword$database);
        if (!
$conn) {
            die(
"Connection failed: " mysqli_connect_error());
        } 
        
$sql "SELECT * FROM client WHERE id='$id'";
        
$result mysqli_query($conn$sql);
        
$myrow mysqli_fetch_array($resultMYSQLI_ASSOC);
        
$sql "SELECT DISTINCT District FROM localitycoef";
        
$districts mysqli_query($conn$sql);
        
    }
 
 
?>
 
<div class="container">
<script type="text/javascript" src="js\form-disable.js"></script>
<script type="text/javascript" src="js\price.js"></script>
<form enctype="multipart/form-data" id="ajax_form" method="post" action="action_oform.php">
    <div class="form-block">
        <h3>Получатель паспорта</h3>
        <small>Данные можно изменить в личном кабинете</small>
 
        <ul class="input-inline">            
            <li><label for="surname">Фамилия:</label>
            <input class="form-input" name="surname" type="text" value=<?php echo $myrow['Surname'];?> disabled></li>
            <li><label for="name">Имя:</label>
            <input class="form-input" name="name" type="text" value=<?php echo $myrow['Name'];?> disabled></li>
            <li><label for="patr">Отчество:</label>
            <input class="form-input" name="patr" type="text" value=<?php echo $myrow['Patronymic'];?> disabled></li>
        </ul>
        <ul class="input-inline">            
            <li><label for="date">Дата рождения:</label>
            <input class="form-input" name="date" type="date" value=<?php echo $myrow['BirthDate'];?> disabled></li>
            <li><label for="passport">Номер свидетельства о рождении:</label>
            <input class="form-input" name="passport" type="text" value=<?php echo $myrow['Passport'];?> disabled></li>
        </ul>
        <h4>Адрес постоянной регистрации:</h4>
        <ul class="input-inline">
            <li><label for="town">Регион:</label>
            <input class="form-input" name="region" type="text" value="<?php echo $myrow['Region'];?>" disabled></li>
            <li><label for="town">Город:</label>
            <input class="form-input" name="town" type="text" value=<?php echo $myrow['Town'];?> disabled></li>
            <li><label for="street">Улица:</label>
            <input class="form-input" name="street" type="text" value=<?php echo $myrow['Street'];?> disabled></li>
        </ul>
        <ul class="input-inline">
            <li><label for="house">Номер дома:</label>
            <input class="form-input" name="house" type="text" value=<?php echo $myrow['HouseNumber'];?> disabled></li>
            <li><label for="corpus">Корпус:</label>
            <input class="form-input" name="corpus" type="text" value=<?php echo $myrow['Corpus'];?> disabled></li>
            <li><label for="apartm">Квартира:</label>
            <input class="form-input" name="apartm" type="text" value=<?php echo $myrow['Apartm'];?> disabled></li>
    </div>
    <ul class="input-inline">
        <li> 
            <input class="price-left-btn" id="payment_btn" type="submit" name="payment_btn" value="Отправить">
        </li></ul>
</form>
</div>
Файл action_oform.php с моей попыткой вывести хоть что-нибудь:
PHP код:
<?php
    
require_once 'connection/connection.php';
    if(empty(
$_SESSION['id'])) {
        
header("Location: http://passport/auth.php");
    }
        
$id $_SESSION['id'];
        
$conn mysqli_connect($host$user$dbpassword$database);
        if (!
$conn) {
            die(
"Connection failed: " mysqli_connect_error());
        }
        
$sql_state "SELECT * FROM statem WHERE id_state='$id_state'";
        
$result_state mysqli_query($conn$sql_state);
        
$myrow_state mysqli_fetch_array($result_stateMYSQLI_ASSOC);
        if (
$myrow_state['status'] == 'Принята') {
        echo 
"123";
         }
    }
?>
И запросы для таблиц: client
Код:
CREATE TABLE `client` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Email` varchar(50) NOT NULL,
`Password` varchar(255) NOT NULL,
`Surname` varchar(35) NOT NULL,
`Name` varchar(20) NOT NULL,
`Patronymic` varchar(22) DEFAULT NULL,
`Phone` varchar(11) NOT NULL,
`BirthDate` date NOT NULL,
`Passport` text NOT NULL,
`Region` varchar(35) NOT NULL,
`Town` varchar(70) NOT NULL,
`Street` varchar(115) NOT NULL,
`HouseNumber` int(11) NOT NULL,
`Corpus` int(11) DEFAULT NULL,
`Apartm` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
и statem:

Код:
CREATE TABLE `statem` (
`id_state` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) NOT NULL,
`status` varchar(10) DEFAULT NULL,
`date` date DEFAULT NULL,
PRIMARY KEY (`id_state`),
KEY `id` (`id`),
CONSTRAINT `statem_ibfk_1` FOREIGN KEY (`id`) REFERENCES `client` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
Тер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать кнопку при нажатии показывался объект, при повторном нажатии пропадал. nyqpblcTuk Microsoft Office Excel 3 31.08.2017 14:32
Вывести поточные координаты курсора мыши относительно формы и экрана, при нажатии на кнопку реверсивное изменение кнопок мыши C++ carrie bradshaw Помощь студентам 0 06.02.2014 00:21
Работаю с MS express Mysql и C# Programmer_St Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 3 20.10.2012 17:58
Изменение атрибута файла при нажатии на кнопку The Real Kos Общие вопросы Delphi 11 16.09.2012 09:33
Можно ли сделать в бд, чтобы при нажатии на строку таблицы открывалась новая форма? Екатерина20 БД в Delphi 2 12.05.2012 20:37