2016-05-22 6 views
0

データベースからいくつかのエントリを表示する小さなウェブサイトを作成しました。過去には、常にボタンがありましたupdate extern 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

私のロードテーブル関数は、各エントリをデータベースから取得します。しかし、問題は、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"); 
?> 
あなたがセッションを作成しようとか、アクセスしているすべてのファイルに<?phpよう
場所 session_start();ちょうど右の後、あなたのPHPの開始タグ:

<?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 
} 
?> 

注:

は、その後、あなたのfunction loadTable()ようにこのような何かを追加することができます既に作成されたセッション。

+0

もし私が正しく理解すれば、私はlogin.phpでセッションを作成しなければなりません(ここでユーザーは自分自身をログに記録します)。次に、loadTable関数が呼び出されるshowtable.phpにリダイレクトします。ここで私はセッションを使用することができます。 – Sens4

+0

@ Sens4:はい。セッションを作成した後は、手動でセッションを破棄したり、セッションの有効期限を設定したりしない限り、スクリプトのすべてのファイルからアクセスできます。 –

+0

@ Sens4:コードにいくつかの変更を加えました。この更新されたコードを使用して、もう一度見てみましょう。 –

関連する問題