How to show age_range from Facebook Graph API PHP - php

I want to build a Login system with Facebook. And I want to get age_range from it.
Code is successfully to show id, username, etc. But not show age_range.
How to show age_range?
Here is my code
$user_profile = $facebook->api('/me?fields=id,first_name,last_name,email,gender,locale,picture,age_range');
$user = new Users();
$user_data = $user->checkUser('facebook',$user_profile['id'],$user_profile['first_name'],$user_profile['last_name'],$user_profile['email'],$user_profile['gender'],$user_profile['locale'],$user_profile['picture']['data']['url'],$user_profile['age_range']);
if(!empty($user_data)){
$output = '<h1>Facebook Profile Details </h1>';
$output .= '<img src="'.$user_data['picture'].'">';
$output .= '<br/>Facebook ID : ' . $user_data['oauth_uid'];
$output .= '<br/>Name : ' . $user_data['fname'].' '.$user_data['lname'];
$output .= '<br/>Email : ' . $user_data['email'];
$output .= '<br/>Usia : ' . $user_data['age_range'];
$output .= '<br/>Gender : ' . $user_data['gender'];
$output .= '<br/>Locale : ' . $user_data['locale'];
$output .= '<br/>You are login with : Facebook';
$output .= '<br/>Logout from Facebook';
Sorry, this is function of checkUser:
function checkUser($oauth_provider,$oauth_uid,$fname,$lname,$email,$gender,$locale,$picture){
$prev_query = mysqli_query($this->connect,"SELECT * FROM ".$this->table_name." WHERE oauth_provider = '".$oauth_provider."' AND oauth_uid = '".$oauth_uid."'") or die(mysql_error($this->connect));
if(mysqli_num_rows($prev_query)>0){
$update = mysqli_query($this->connect,"UPDATE $this->table_name SET oauth_provider = '".$oauth_provider."', oauth_uid = '".$oauth_uid."', fname = '".$fname."', lname = '".$lname."', email = '".$email."', gender = '".$gender."', locale = '".$locale."', picture = '".$picture."', modified = '".date("Y-m-d H:i:s")."' WHERE oauth_provider = '".$oauth_provider."' AND oauth_uid = '".$oauth_uid."'");
}else{
$insert = mysqli_query($this->connect,"INSERT INTO $this->table_name SET oauth_provider = '".$oauth_provider."', oauth_uid = '".$oauth_uid."', fname = '".$fname."', lname = '".$lname."', email = '".$email."', gender = '".$gender."', locale = '".$locale."', picture = '".$picture."', created = '".date("Y-m-d H:i:s")."', modified = '".date("Y-m-d H:i:s")."'");
}
$query = mysqli_query($this->connect,"SELECT * FROM $this->table_name WHERE oauth_provider = '".$oauth_provider."' AND oauth_uid = '".$oauth_uid."'");
$result = mysqli_fetch_array($query);
return $result;
}

Related

phpqrcode how to implement

I am trying to update my codes by saving the data with QR Code.
I tried to implement this tutorial, but It is not saving the QR Code, after I submit the form the page just keeps loading, it only saves the data from the form without the QR Code.
Any help?
this is how I added the udate
include"phpqrcode/qrlib.php";
$folderTemp = 'assets/img/';
$c = $a;
$qrimage = $a.".png";
$qual = 'H';
$ukuran = 6;
$padding = 0;
QRCode :: png($c,$folderTemp.$qrimage,$qual,$ukuran,$padding);
function save_register(){
extract($_POST);
$data = " event_id = '$event_id' ";
$data .= ", name = '$name' ";
$data .= ", address = '$address' ";
$data .= ", email = '$email' ";
$data .= ", contact = '$contact' ";
$data .= ", pacote = '$pacote' ";
$data .= ", qrimage = '$qrimage' ";
if(isset($status))
$data .= ", status = '$status' ";
if(isset($payment_status))
$data .= ", payment_status = '$payment_status' ";
else
$data .= ", payment_status = '0' ";
if(empty($id)){
$save = $this->db->query("INSERT INTO audience set ".$data);
}else{
$save = $this->db->query("UPDATE audience set ".$data." where id=".$id);
}
if($save)
return 1;
}

PHP function() return not working after sending email via outlook

Help newbie here, return $id is not working after sending email via outlook. Any tips?
function save_book(){
extract($_POST);
$data = " booked_cid = '$cid' ";
$data .= ", name = '$name' ";
$data .= ", emp_id = '$emp_id' ";
$data .= ", emp_email = '$emp_email' ";
$data .= ", reservation_date = '$res_date' ";
$data .= ", schedule_id = '$sched' ";
$data .= ", workstations = '$workstations' ";
$save = $this->db->query("INSERT INTO checked set ".$data);
$id=$this->db->insert_id;
$name = $_POST['name'];
$email = $_POST['emp_email'];
$res = $_POST['res_date'];
$sched = $_POST['sched'];
$cat = $_POST['cid'];
$worksta = $_POST['workstations'];
if($save){
$subject="Reservation System Confirmation";
$message="Confirmation of your Reservation on $sched at $cat, $worksta ";
$to="$email";
com_load_typelib("outlook.application");
if (!defined("olMailItem")) {define("olMailItem",0);}
$outlook_Obj = new COM("outlook.application") or die("Unable to start Outlook");
echo "Loaded MS Outlook, version {$outlook_Obj->Version}\n";
$oMsg = $outlook_Obj->CreateItem(olMailItem);
$oMsg->Recipients->Add($to);
$oMsg->Subject=$subject;
$oMsg->Body=$message;
$oMsg->Save();
$oMsg->Send();
return $id;
}
}

How to properly display a specific records with datatable using PHP

I am working with datatable and the code can successfully display the entire records. searching of records is also working.
I am trying to display a specific record when page loads. you can see that SELECT * FROM users will display all records at once. I need to display a specific record when page loads like SELECT * FROM users where id=$userid and email=$email.
In normal PDO query I can just do
$result = $db->prepare("SELECT * FROM users where email=:email and id=:id");
$result->execute(array(':email' => $email,':id' => $userid));
Here in the datatable is a little bit complicated.
Where do I add something like
$sql .= 'WHERE id = '.$userid.' and email = '.$email.' ';
Here is the full code for datatable backend:
<?php
include('db.php');
if(isset($_POST["get_content"])){
$get_content = strip_tags($_POST["get_content"]);
if($get_content == 'get_data'){
$userid =102;
$email = 'test#gmail.com';
$sql= '';
$error = '';
$message='';
$response= array();
$sql .= "SELECT * FROM users ";
if(isset($_POST["search"]["value"])){
$value= $_POST["search"]["value"];
$sql.= 'WHERE fullname LIKE "%'.$value.'%" ';
$sql .= 'OR email LIKE "%'.$value.'%" ';
}
$start = $_POST['start'];
$length = $_POST['length'];
$draw= $_POST["draw"];
if(isset($_POST["order"])){
$order_column = $_POST['order']['0']['column'];
$order_dir = $_POST['order']['0']['dir'];
//$sql .= 'WHERE id '.$userid.' ';
$sql .= 'ORDER BY '.$order_column.' '.$order_dir.' ';
}
else{
$sql.= 'ORDER BY id DESC ';
}
if($length != -1){
$sql .= 'LIMIT ' . $start . ', ' . $length;
}
$pstmt = $db->prepare($sql);
$pstmt->execute();
$rows_count = $pstmt->rowCount();
while($row = $pstmt->fetch()){
$rows = array();
$rows[] = $row['id'];
$rows[] = $row['fullname'];
$rows[] = $row['email'];
$response[] = $rows;
}
$data = array(
"draw" => $draw,
"recordsTotal" => $rows_count,
"data" => $response);
}
echo json_encode($data);
}
?>
As per my understanding, you need manage to put WHERE condition for id, email in your example code,
Do change some portion of your code:
$sql .= "SELECT * FROM users ";
// ADD YOUR REQUIREMENT CONDITION
$sql .= 'WHERE id = '.$userid.' and email = '.$email.' ';
if (isset($_POST["search"]["value"])){
$value = $_POST["search"]["value"];
// CHANGED WHERE TO AND
$sql .= 'AND (fullname LIKE "%'.$value.'%" ';
$sql .= 'OR email LIKE "%'.$value.'%") ';
}

Image not showing up

I was trying to make a website where image can be uploaded to the database and be edited on the website like replacing the image. Whenever I try to replace the picture in the website, it gets replaced in the database but it doesn't show up in the website.
This is my PhP code.
if(isset($_POST['update_post'])){
$post_author = $_POST['post_author'];
$post_title = $_POST['post_title'];
// post_category from input
$post_category_id = $_POST['post_category'];
$post_status = $_POST['post_status'];
$post_image = $_FILES['post_image']['name'];
$post_image_temp = $_FILES['post_image']['name'];
$post_content = $_POST['post_content'];
$post_tags = $_POST['post_tags'];
move_uploaded_file($post_image_temp, "../images/$post_image");
if(empty($post_image)) {
$query = "SELECT * FROM posts WHERE post_id = $the_post_id ";
$select_image = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($select_image)){
$post_image = $row['post_image'];
}
}
$query = "UPDATE posts SET ";
$query .= "post_title = '{$post_title}', ";
$query .= "post_category_id = '{$post_category_id}', ";
$query .= "post_date = now(), ";
$query .= "post_author = '{$post_author}', ";
$query .= "post_status = '{$post_status}', ";
$query .= "post_tags = '{$post_tags}', ";
$query .= "post_content = '{$post_content}', ";
$query .= "post_image = '{$post_image}' ";
$query .= "WHERE post_id = {$the_post_id} ";
$update_query = mysqli_query($connection, $query);
confirm($update_query);
}
This the my database
Database Image
This is my website
Website Image
As you can see in the database, I have the images there but in my website, some pictures are not showing up. I want all of them to show up. Please help

Update form with two file fields

I cannot get my two file upload fields working with my update form. I'm able to get create_form to upload the files to my server and input info into the SQL database, but I can't get the edit to take without receiving an error. Files don't upload and info doesn't update in SQL. Please help!
<?php require_once($_SERVER['DOCUMENT_ROOT']."/includes/session.php");?>
<?php require_once($_SERVER['DOCUMENT_ROOT']."/includes/db_connection.php");?>
<?php
session_start();
if($_SESSION["login_user"] != true) {
echo("Access denied!");
exit();
}
?>
<?php require_once($_SERVER['DOCUMENT_ROOT']."/includes/functions.php");?>
<?php require_once($_SERVER['DOCUMENT_ROOT']."/includes/validation_functions.php");?>
<?php find_selected_event_page(); ?>
<?php
if (!$current_event) {
// page ID was missing or invalid or
// page couldn't be found in database
redirect_to("manage_content.php");
}
?>
<?php
if (isset($_POST['submit'])) {
// Process the form
// validations
$required_fields = array("visible");
validate_presences($required_fields);
if (empty($errors)) {
// Perform Update
$id = $current_event["id"];
$visible = mysql_prep($_POST["visible"]);
$homepage = mysql_prep($_POST["homepage"]);
$fa_id = mysql_prep($_POST["fa_id"]);
$title = mysql_prep($_POST["title"]);
$caption = mysql_prep($_POST["caption"]);
$url = mysql_prep($_POST["url"]);
$month = mysql_prep($_POST["month"]);
$date = mysql_prep($_POST["date"]);
$year = mysql_prep($_POST["year"]);
$summary = mysql_prep($_POST["summary"]);
$full_text = mysql_prep($_POST["full_text"]);
$image = rand(1000,100000)."-".$_FILES['image']['name'];
$image_loc = $_FILES['image']['tmp_name'];
$image_size = $_FILES['image']['size'];
$image_type = $_FILES['image']['type'];
$image_folder="images/";
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$file_folder="files/";
$final_image=str_replace(' ','-',$new_image_name);
$final_file=str_replace(' ','-',$new_file_name);
if($_FILES) {
unlink("images/".$current_event['image']);
move_uploaded_file($image_loc,$image_folder.$final_image);
unlink("files/".$current_event['file']);
move_uploaded_file($file_loc,$file_folder.$final_file); }
else
{
// if no image selected the old image remain as it is.
$final_image = $current_event['image']; // old image from database
$fine_file = $current_event['file']; // old image from database
}
$query = "UPDATE `events` SET ";
$query .= "`visible` = '{$visible}', ";
$query .= "`homepage` = '{$homepage}', ";
$query .= "`fa_id` = '{$fa_id}', ";
$query .= "`title` = '{$title}', ";
$query .= "`caption` = '{$caption}', ";
$query .= "`url` = '{$url}', ";
$query .= "`month` = '{$month}', ";
$query .= "`date` = '{$date}', ";
$query .= "`year` = '{$year}', ";
$query .= "`summary` = '{$summary}', ";
$query .= "`full_text` = '{$full_text}', ";
$query .= "`image` = '{$final_image}', ";
$query .= "`image_type` = '{$image_type}', ";
$query .= "`image_size` = '{$image_new_size}' ";
$query .= "`file` = '{$final_file}', ";
$query .= "`file_type` = '{$file_type}', ";
$query .= "`file_size` = '{$file_new_size}' ";
$query .= "WHERE `events`.`id` = {$id} ";
$query .= "LIMIT 1";
$result = mysqli_query($connection, $query);
if ($result && mysqli_affected_rows($connection)) {
// Success
echo "<pre>".$query."</pre>";
$_SESSION["message"] = "Item updated.";
redirect_to("manage_content.php");
} else {
// Failure
//$_SESSION["message"] = "Item creation failed.";
//redirect_to("new_news.php");
echo "Error: " . $query . "<br>" . $result->error;
}
}
} else {
// This is probably a GET request
} // end: if (isset($_POST['submit']))
?>
The error I get is:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'file = '', file_type = '', file_size = '' WHERE events.id = 1 LIMIT 1' at line 1
update
$query .= "`image_size` = '{$image_new_size}' ";
to
$query .= "`image_size` = '{$image_new_size}' ,";
so your final query
$query = "UPDATE `events` SET ";
$query .= "`visible` = '{$visible}', ";
$query .= "`homepage` = '{$homepage}', ";
$query .= "`fa_id` = '{$fa_id}', ";
$query .= "`title` = '{$title}', ";
$query .= "`caption` = '{$caption}', ";
$query .= "`url` = '{$url}', ";
$query .= "`month` = '{$month}', ";
$query .= "`date` = '{$date}', ";
$query .= "`year` = '{$year}', ";
$query .= "`summary` = '{$summary}', ";
$query .= "`full_text` = '{$full_text}', ";
$query .= "`image` = '{$final_image}', ";
$query .= "`image_type` = '{$image_type}', ";
$query .= "`image_size` = '{$image_new_size}', ";
$query .= "`file` = '{$final_file}', ";
$query .= "`file_type` = '{$file_type}', ";
$query .= "`file_size` = '{$file_new_size}' ";
$query .= "WHERE `events`.`id` = {$id} ";
$query .= "LIMIT 1";

Categories