Como obter identificação de usuários e colocá-lo em uma tabela

Estou tentando fazer um sistema de apostas de futebol com base no CMS WordPress . Peço desculpas se esta é uma questão redundante, mas procurei no Google e em alguns Wiki o dia inteiro, e não consegui encontrar nenhuma pista sobre como essa questão foi respondida.

INFORMAÇÃO DE FUNDAMENTO:

Eu uso:

  • MySQL
  • PHP
  • Navicat

Toda vez que o usuário insere dois números inteiros, correspondentes às metas de uma partida de futebol, no site do script php, os dois inteiros são enviados para a tabela do database “apostas”, através de um arquivo insert.php .

O insert.php se parece com isto:

 

O php-shape parece assim:

Eu tenho as seguintes tabelas auto-feitas: apostas , equipes , partidas e eu tenho a tabela WordPress, usuários do wp , onde cada membro está listado.

A tabela de apostas parece assim: cada linha corresponde a uma nova aposta

Como você pode ver, o userid está vazio – o que não deve ser. Ele deve conter a ID do usuário, que entrou na aposta.

Minha pergunta em duas partes é então ..

Como devo obter o ID do usuário e exibi-lo na tabela do database, as apostas ? Talvez o WordPress tenha um código-snippet para ele.

E, finalmente, como devo append um jogo a cada partida? Devo criar um novo formulário para cada nova partida?

Obrigado com muito antecedência – espero ter conseguido tornar esse tópico legível e fácil de entender.

Frederick Andersen

Você está faltando algumas coisas aqui. Não consigo aconselhá-lo a gerenciar os diferentes jogos, pois não sei como é o restante do seu aplicativo.

Aqui estão algumas dicas para você ir:

Não crie sua própria conexão DB

Remover:

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

Adicione em vez disso:

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

ID do usuário atual do WordPress

Adicione isso ao script top off:

 global $wpdb, $current_user; get_currentuserinfo(); 

Altere o código $ sql para isso:

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

Eu também usei a function de preparação do wpdb para que os dados da postagem sejam escapados antes de serem consultados.

Altere também isso para usar a consulta nativa do WP.

Remover:

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

Adicione em vez disso:

 $wpdb->query($sql)