2016-06-16 18 views
1

私が送信したあらかじめフォーマットされたリンクをクリックすると、そのURLの変数がMySQLデータベースに書き込まれ、「ありがとう」または何かをユーザーに知らせる。URLの変数をMySQLデータベースに送信

例:

ユーザーがリンクをクリックしますフォーマットされた何かのページは12345は、MySQLデータベース内のテーブルに書き込むことになるロードすると

http://www.example.com/click.php?id=12345のように、それはありがとうを示しており、そのうそれは...ですか。

シンプルなはずですが、何も見つかりません。私はおそらく間違っています。これは私にとって初めてのことです。

+1

「echo 'ありがとうございました、」。$ _ GET ["id"]; '? –

+1

キー検索フレーズは(リクエストを分割した後): "*値をmysqlデータベース*に挿入する" * "PHPのURLから値を取得する" *これらのクエリの両方に対して900Mの結果を返すことを保証します。次に、それらをまとめて、完全に動作するスクリプトを作成することができます!問題が発生した場合は、ここに投稿してください。 – Marcus

答えて

2

あなたの最善の策は、あなたのURLから値を取り込む$ _GET ['id']を利用することです。

あなたのURLからIDを取得した後、あなたはSQLインジェクションから身を守るために、PDOまたはmysqli prepared statementsを使いたいでしょう。

こちらがお役に立てば幸いです。

Kevin Voornのコメントに従って更新されました。値をretriveし、あなたのテーブルに入れて

if(isset($_GET['id']) && !empty($_GET['id'])) { 

$logged_id = $_GET['id']; 

$stmt = $mysqli->prepare("INSERT INTO tableName (`logged_id`) VALUES (?)"); 
$stmt->bind_param('i', $logged_id); 
$stmt->execute(); 

if($stmt->affected_rows > 0){ 

    echo "Thank You."; 

} 

$stmt->close(); 

}

+1

あなたの答えは正しいが、データベースにデータを挿入して回答を完成させる方法を示すPDO/mysqliのコード例を挙げるとよいでしょう。 –

+1

ありがとう@KevinVoorn私は私の答えを更新しました。 –

1

ユーザーの$ _GET。 例:応答のため

click.php内部コード

<?php 
$id=$_GET['id']; 
$sql="Insert into table1 VALUES ($id)"; 
mysqli_query($connect,$sql); 
echo "<script>alert('Thank you')</script>"; 
?> 
0

感謝。私はこのページを見つけることになりました:https://www.binpress.com/tutorial/using-php-with-mysql-the-right-way/17 mysqliを使って自分のデータベースに接続するプロセスを説明しました。私はそのページを使用して、../db.phpに必要な機能を作成し、それを実際のPHPスクリプトに入れてURLをキャッチしました。私のスクリプトは次のようになりました。

<?php 
require '../db.php'; 
date_default_timezone_set('UTC'); 

$date = date("Y-m-d H:i:s T"); 

$db = new Db(); 

$db_id = $db -> quote($_GET['id']); 
$db_date = $db -> quote($date); 

$result = $db -> query("INSERT INTO `table` (`id`,`GUID`,`AccessTime`) VALUES (NULL, " . $db_id . "," . $db_date . ")"); 

if($result === false) { 
    exit(); 
} else { 
    echo "<html><body><center><br><h1>Thank You!</h1></center></body></html>"; 
} 
?> 
関連する問題