我正在努力建立一个基于 WordPress CMS的足球投注系统。如果这是一个多余的问题我很抱歉,但我一整天都在搜索谷歌和一些维基百科,而且我一直无法找到解决这个问题的任何线索。
背景信息:
我用:
每次用户输入两个整数,对应于足球比赛中的球门训练时,在php脚本网站上,两个整数通过 insert.php <被发送到数据库表“bets” /强> -file。
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-form看起来像这样:
我有以下自制表:投注,团队,匹配,我有WordPress表, wp -users ,列出每个成员。
投注表如下所示:
正如您所看到的,userid是空的 - 它不应该是空的。它应该包含输入赌注的用户的ID。
我的两部分问题是......
我应该如何获取用户的ID并将其显示在数据库表中 bets ?也许WordPress有一个代码片段。
最后,我应该如何为每场比赛添加 gameid ?我应该为每场新比赛创建一个新的表单吗?
提前多多谢谢 SO - 我希望我能够让这个帖子易读且容易理解。
Frederick Andersen
答案 0 :(得分:1)
你在这里遗漏了很多东西。我不能建议你如何管理不同的游戏,因为我不知道你的应用程序的其余部分是什么样的。
以下是一些指导您的信息:
不要创建自己的数据库连接
卸下:
$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)