Здравствуйте! Подскажите пожалуйста?! Как записать данные с проверкой в бд(mysql) "test", в таблицу "users", В файле config.php хранятся данные подключения к бд. В данный момент происходит обычный редирект на главную, без записи данных в бд.
<?php
if(!isset($Functions)){
die("Error! 404");
}
include $_SERVER['DOCUMENT_ROOT'].'/engine/openid.php';
if($Functions->isLogged()){
if(isset($_GET['logout'])){
session_destroy();
}
$Functions->redirect();
}else{
try{
$openid = new LightOpenID('http://'.$Functions->config['site_name']);
if(!$openid->mode) {
if(isset($_GET['login'])){
$openid->identity = 'http://steamcommunity.com/openid';
$Functions->redirect($openid->authUrl());
}else{
$Functions->redirect();
}
}elseif($openid->mode == 'cancel'){
$Functions->redirect();
}else{
if($openid->validate()) {
$id = $openid->identity;
$ptn = "/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/";
preg_match($ptn, $id, $matches);
$_SESSION['steamid'] = $matches[1];
$_SESSION['auth'] = true;
$_SESSION['lang'] = 'ru';
$json_object = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".$Functions->config['steamapi']."&steamids=".$matches[1]);
if($json_object == false){
die($Functions->getIndex("steam_fail"));
}else{
$json_decoded = json_decode($json_object);
$player = $json_decoded->response->players[0];
$_SESSION['name'] = $player->personaname;
$_SESSION['steamid'] = $player->steamid;
$_SESSION['avatarfull'] = $player->avatarfull;
if(!empty($player)){
$getPlayer = $Functions->db->query("SELECT * FROM users WHERE steamid = '"[.$player->steamid.]"'");
if($getPlayer->num_rows == 0){
$Functions->db->query("INSERT INTO `users`(`steamid`, `name`, `avatar`, `money`, `created`, `status`) VALUES ('".$player->steamid."', '".$player->personaname."', '".$player->avatarfull."', '0', '".time()."', '1')");
}else{
$Functions->db->query("UPDATE users SET name = '".$Functions->getString($player->personaname)."', avatar = '".$player->avatarfull."' WHERE steamid = '".$player->steamid."'");
$_SESSION['name'] = $player->personaname;
$_SESSION['steamid'] = $player->steamid;
$_SESSION['avatarfull'] = $player->avatarfull;
}
$Functions->redirect();
}else{
die($Functions->getIndex("steam_fail"));
}
}
}else{
$Functions->redirect();
}
}
}catch(ErrorException $e){
echo $e->getMessage();
}
}
?>
Не знаю какие поля в таблице users, но идея такая
// берем из connect.php данные для подключения
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// делаем подготовленный запрос
$stmt = $dbh->prepare("INSERT INTO users (steamid, personaname, profileurl, personastate, avatarfull) VALUES (:steamid, :personaname, :profileurl, :personastate, :avatarfull)");
// связываем параметры с переменными
$stmt->bindParam(':steamid', $steamid);
$stmt->bindParam(':personaname', $personaname);
$stmt->bindParam(':profileurl', $profileurl);
$stmt->bindParam(':personastate', $personastate);
$stmt->bindParam(':avatarfull', $avatarfull);
foreach ($json_decoded->response->players as $player)
{
/*
echo "
<br/>Player ID: $player->steamid
<br/>Player Name: $player->personaname
<br/>Profile URL: $player->profileurl
<br/>Status: $player->personastate
<br/>LargeAvatar: <img src='$player->avatarfull'/>
";
*/
// заполняем переменные значением
$steamid = $player->steamid;
$personaname = $player->personaname;
$profileurl = $player->profileurl;
$personastate= $player->personastate;
$avatarfull= $player->avatarfull;
// запускаем запрос
$stmt->execute();
}
В общем, это все уровень мануала по PDO PHP - смотри там соединение с БД и подготовленные запросы.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Посоветуйте хорошую статью про рекурсия в phpИзучал ее в js, но в виду ненадобности как-то забыл про это, да и отличия я думаю какие-то есть
Здравия всем, уважаемые программистыВ модуле joomla 3 пытаюсь добавить в форму обратной связи поле с добавлением файла
Есть ли такая функция или способ в PHP чтобы перевести русские буквы на английские?