I'm trying to insert a zero if no session is set, if a session is set it seems to insert the right user id but if a user isn't logged in it won't insert
if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
if(!isset($_SESSION['userId']) && !empty($_SESSION['userId'])) {
$userId = 0;
}else{
$userId = $_SESSION['userId'];
}
$get = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
$lat = $lon = $accuracy = "";
$lat = $get['latitude'];
$lon = $get['longitude'];
$accuracy = $get['accuracy'];
$usersL = new UserLocations();
$usersL->Userslocations($lat, $lon, $accuracy, $userId);
}
Edit I also tried
<?php
session_start();
class UserLocations
{
public function __construct()
{
$db = $db = new Database;
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
$this->db = $db;
}
public function Userslocations($lat, $lon, $accuracy, $userId)
{
if(!isset($_SESSION['userId']) && !empty($_SESSION['userId'])) {
$userId = 0;
}else{
$userId = $_SESSION['userId'];
}
$this->db->beginTransaction();
$insert = $this->db->prepare('INSERT INTO userlocations (lat, lon, accuracy, userId)
VALUES
(:lat, :lon, :accuracy, :userId)');
$insert->execute(array(
':lat' => $lat,
':lon' => $lon,
':accuracy' => $accuracy,
':userId' => $userId,
));
$this->db->commit();
}
}