0

WordPress CMSに基づいてサッカーの賭けシステムを作ろうとしています。これが冗長な質問である場合は申し訳ありませんが、Google といくつかの Wiki を一日中検索しており、この質問への回答の手がかりを見つけることができませんでした。

背景情報:

私が使う:

  • MySQL
  • PHP
  • ナビキャット

ユーザーが php スクリプトの Web サイトでサッカーの試合のゴールスコアに対応する 2 つの整数を入力するたびに、2 つの整数がinsert.php ファイルを介してデータベース テーブル「bets」に送信されます。

insert.php は次のようになります。

<?php $con = mysql_connect("host","username","password"); if (!$con)   {   die('Could not connect: ' . mysql_error());   }

mysql_select_db("database", $con);

$sql="INSERT INTO bets (homebet, awaybet) VALUES ('$_POST[homebet]','$_POST[awaybet]')";

if (!mysql_query($sql,$con))   {   die('Error: ' . mysql_error());   } echo "Thanks for betting!";

mysql_close($con); ?>

php フォームは次のようになります。

次の自作のテーブルがあります: betsteammatches 、および各メンバーがリストされている WordPress テーブルwp-usersがあります。

ベット表は次のようになります。 各行は新しい賭けに対応します

ご覧のとおり、ユーザー ID は空です。これは空であってはなりません。ベットを入力したユーザーの ID が含まれている必要があります。

私の2部構成の質問は..

ユーザーの ID を取得してデータベース テーブルbetsに表示するにはどうすればよいですか? おそらくWordPressにはコードスニペットがあります。

最後に、各試合にゲーム IDをどのようにアタッチすればよいでしょうか? 新しい一致ごとに新しいフォームを作成する必要がありますか?

事前に感謝します-このスレッドを読みやすく理解しやすいものにすることができたことを願っています.

フレデリック・アンデルセン

4

1 に答える 1

1

ここにはかなりのものが欠けています。アプリケーションの残りの部分がどのように見えるかわからないため、さまざまなゲームを管理する方法をアドバイスすることはできません.

ここにあなたを始めるためのいくつかの指針があります:

独自の DB 接続を作成しないでください

削除する:

$con = mysql_connect("host","username","password"); if (!$con)   {   die('Could not connect: ' . mysql_error());   }

mysql_select_db("database", $con);

代わりに追加:

require_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');

WordPress の現在のユーザー ID

これをトップ オフ スクリプトに追加します。

global $wpdb, $current_user;
get_currentuserinfo();

$sql コードを次のように変更します。

$sql= $wpdb->prepare("INSERT INTO `bets` (`userid`, `homebet`, `awaybet`) VALUES (%d, %d, %d)", $current_user->ID, $_POST['homebet'], $_POST['awaybet']);

wpdb prepare 関数も使用したので、投稿データはクエリされる前にエスケープされます。

また、WP ネイティブ クエリを使用するように変更します。

削除する:

if (!mysql_query($sql,$con))   {   die('Error: ' . mysql_error());   } echo "Thanks for betting!";

mysql_close($con);

代わりに追加:

$wpdb->query($sql)
于 2012-06-03T14:31:56.037 に答える