我正在编写的投票脚本的一部分:我正在检查WP数据库中的一个自定义表,通过检查IP地址和帖子id来查看用户是否已经投票给帖子。
如果用户投票的帖子的IP已经存在,我想回应“已经投票了!”否则,添加IP。这就是我想到的。。
global $wpdb;
$voter_ip = $_SERVER[\'REMOTE_ADDR\'];
$post_id = $_POST[\'post_id\'];
if (!($wpdb->get_row("SELECT voter_ip FROM wp_voter_ips WHERE post_id = $post_id AND voter_ip = $voter_ip") ) ) { //if IP address for matching post id not found in wp_voter_ips table
$wpdb->insert( $wpdb->prefix . \'voter_ips\', array( \'post_id\' => $post_id, \'voter_ip\' => $voter_ip ) ); //add IP and post_id
echo "voted!";
}
else //if IP already exists
{
echo "Already voted!";
}
我进行了三次检查,以确保变量和列名正确无误。不管if语句如何,它都会插入投票者IP,即使它已经存在。