2016-05-22 3 views
0

Я создал небольшой веб-сайт, на котором отображаются некоторые записи из базы данных. Раньше всегда была кнопка update, которую я нажал, после чего вызывается внешний скрипт PHP для обновления всех записей на основе изменений.Перезагрузка записей в базе данных на одной странице php

Но через некоторое время этот метод становился раздражающим, потому что мне всегда приходилось вручную возвращаться и обновлять страницу.

Итак, мой вопрос заключается в том, как я мог бы предотвратить это?

Моя идея заключалась в создании формы с action = '' и ее вызовом от input type='submit'. Но это приводит меня к проблеме, что я больше не отправляю пароль и имя пользователя на сайт.

Моя структура выглядит следующим образом

... html code 
<form action='' method='post'> 
    <input type='submit' value='update'/> 
</form> 
<?php 
function loadTable() 
{ 
    // auth user ($POST['user'] == username, $POST['pass'] == password) 
    // sql query 
    // building html table 
} 
loadTable() 
?> 

С уважением

+0

Вы имеете в виду, что хотите сделать что-то наподобие при загрузке страницы, чтобы она имела непосредственное отношение ко всему и что угодно? –

+0

Вы можете в значительной степени сделать это, удалив функцию, а также форму обновления ... это просто ..! –

+0

Функция my load table получает каждую запись из базы данных. Но проблема возникает, когда я хочу обновить запись, потому что я использую ее, поскольку вы можете видеть, что я запрашиваю имя пользователя и пароль в функции loadTable, поэтому обновление страницы всегда показывает мне неправильное имя пользователя и пароль. – Sens4

ответ

0

Well..Here способ, как именно вы можете сделать это:

Примечание: При загрузке страницы вы можете сохранить ваше имя пользователя и пароль в сеансе следующим образом:

<?php 
session_start(); 
if (isset($_POST['submit'])) { 
$username = $POST['user']; 
$password = $POST['pass']; 
$_SESSION['user_credentials'] = array("username" => $username , "password" => $password); 

} else { 
// Redirect back to index.php if user credentials are not posted from the form 
header("Location: index.php"); 
?> 

Тогда Позже вы можете добавить что-то подобное в вашем function loadTable() как:

<?php 
session_start(); 
function loadTable() 
{ 
    $user_session = $_SESSION['user_credentials']; 
    // Now you can access your username and password like this way as : 
    if ($user_session['username'] == username && $user_session['password'] == password) 
    { /*do whatever you want*/ } 
    // sql query 
    // building html table 
} 
?> 

Примечание: Место session_start(); только сразу после PHP начального тега, как <?php в каждом файле, где вы намерены создать сеанс или доступ уже созданный сеанс.

+0

Итак, если у меня есть это правильно, мне нужно будет создать сеанс в моем login.php (где пользователь будет записывать себя в себя), тогда я перенаправляю его на showtable.php, где вызывается функция loadTable. Где я тогда могу использовать сеанс. – Sens4

+0

@ Sens4: Да. Фактически после создания сеанса он будет доступен через каждый файл вашего скрипта, если вы не уничтожите сеанс вручную или не установите время на нем.! –

+0

@ Sens4: Я сделал некоторые изменения в коде. Обязательно используйте этот обновленный код и взгляните на него снова ..! –