2017-01-22 3 views
-1

PHPを構築しています& mySQLi CRUD app。ユーザが表示されたファイルではPHP:ボタンをクリックすると関数が実行されます

function delte_single_user() { 
if (isset($_GET['id'])) { 
    global $con; 
    $user_id = $_GET['id']; 
    $sql = "DELETE * FROM `users` WHERE `id`= " . (int)$user_id . ";"; 
    $result=mysqli_query($mysqli, $sql); 
} 
} 

、私はCRUD「ボタン」を持っている:私は削除個々のユーザーの世話をする機能を持っているのfunctions.phpファイル内

<ul class="list-inline"> 
    <li><a title="View user" href="view_user.php?id=<?php echo $arr['id']; ?>"><span class="glyphicon glyphicon-user"></span></a></li> 
    <li><a title="Delete user" onclick="delte_single_user()"><span class="glyphicon glyphicon-trash"></span></a></li> 
</ul> 

ご覧のとおり、私はdelte_single_user()を削除ボタン、JavaScriptスタイル(私はPHPを初めて使っていますが、私はかなりの経験がありますJavaScript)をクリックすると起動しようとしています。しかし、それは動作しません。

私のdelte_single_user()をPHPに最も近い方法は何ですか?

注:私は有用ではないので、delete_user.phpファイルを作成しないようにしています。

ありがとうございました!

+2

の可能性のある重複した([クライアント側とサーバー側のプログラミングの違いは何ですか?] http://stackoverflow.com/questions/13840429/what-is-the-difference-between-client-side-and-server-side-programming) –

+0

** Ajax **、friendを使用する必要があります。チュートリアルをご覧ください:) –

+0

@GROVER:あなたが知っている最高のものへのリンクを提供できますか?ありがとうございました! –

答えて

0

JSから直接PHP関数を呼び出すことはできません。

ajax呼び出しを行うか、削除を処理するPHPスクリプトにリダイレクトする必要があります。

view_user.phpスクリプトにリンクしているのと同じです。

delete_user.phpという名前の新しいスクリプトを作成し、GETを使用してそのユーザーのIDを渡すことができます。このスクリプトの中に上記の関数を入れて呼び出します。

<a title="Delete user" href="delete_user.php?id=SOME_ID">DELETE</a> 

EDIT:

関連のすべてのユーザーを扱うuser.phpスクリプトを持つことを検討してください。以下のような:

user.php?action=view&id=USER_ID 
user.php?action=delete&id=USER_ID 

あなたが1つのファイルを持っている、とuser.phpにあなたができるこの方法:

if(isset($_GET['action']) && $_GET['action'] == 'delete') { 
    // check id 
    // delete the user AND redirect the user back (if not using ajax) 
} elseif (/* check if action=view */) { 
    // ... 
} 
+0

私はdelete_user.phpファイルを作成しないようにしようとしています。私は今、私がそこでできることはできません。これはview_user.phpとは別の話です(それはユーザーのデータを慎重に適切な方法で表示するので便利です)。 –

+0

何をしているかにかかわらず、PHPスクリプトを呼び出す必要があります。 'functions.php'ファイルを直接呼び出すことは悪い設計です。私の答えは、単一のPHPスクリプトを使用するように編集しました。 – changepicture

+0

そして、あなたは、delete_user.phpに何も表示する必要はありません。 AJAXを介して呼び出すか、 ''タグを使用する場合は、次のようにしてユーザを前のページにリダイレクトするだけです: 'header( 'Location:page.php')' – changepicture

関連する問題