Как передать данные json из angular js в php

#php #angularjs

#php #angularjs

Вопрос:

Я перепробовал все возможности.Я не смог прочитать объект json в php.Правильно ли я передаю данные json в PHP? Я использовал $_POST , $ _REQUEST и json_decode для получения данных.Ничего не работает.Как получить данные json в PHP? Controller.js

 if (userValid==true)
                {
                  var data = {"firstName":user.firstName,
                       "lastName":user.lastName,
                       "mobileNumber":user.mobileNumber,
                       "email":user.email,
                       "type":user.type,
                       "password":user.password
                      };
                  $http.post("http://localhost/insertUser.php",data)                                      
                       .then(function(response){
                          alert(response.data);
                       });
           }
  

insertUser.php

 <?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

   $dbhost = 'localhost';
   $dbuser = 'root';
   $dbpass = '';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);

   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $user = json_decode(file_get_contents("php://input"));
   $firstName = mysql_real_escape_string($user->firstName);
   $lastName = mysql_real_escape_string($user->lastName);
   $mobileNumber = mysql_real_escape_string($user->mobileNumber);
   $email = mysql_real_escape_string($user->email);
   $type = mysql_real_escape_string($user->type);
   $password = mysql_real_escape_string($user->password);



      $sql = "INSERT INTO user ".
      "VALUES ('".$firstName."','".$lastName."','".$mobileNumber."','".$email."','".$type."','".$password."')";
   mysql_select_db('user_details');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not enter data: ' . mysql_error());
   }

   echo "Entered data successfullyn";

   mysql_close($conn);
?>
  

Комментарии:

1. какие-либо ошибки, которые вы получаете?

2. @ujjwal: нет. Правильно ли я передаю json в ang js $ http service и правильно ли извлекаю его в php?

Ответ №1:

 <?php
// header("Access-Control-Allow-Origin: *");
// header("Content-Type: application/json; charset=UTF-8");

$host     = "localhost";
$username = 'root';
$password = '';
$db_name  = 'user_details';
$connection = mysqli_connect("$host", "$username", "$password","$db_name") or die("cannot connect");
if ($connection) {
} else {
die('Could not connect: ' . mysqli_error());
}
$user         = json_decode(file_get_contents("php://input"));
$firstName    = $user->firstName;
$lastName     = $user->lastName;
$mobileNumber = $user->mobileNumber;
$email        = $user->email;
$type         = $user->type;
$password     = $user->password;
$sql          = "INSERT INTO user(firstname,lastname,mobile,email,type,password)VALUES('$firstName','$lastName','$mobileNumber','$email','$type','$password')";
$result       = mysqli_query($connection, $sql);
if (!$result) {
 die('Could not enter data: ' . mysql_error());
} else {
echo "Entered data successfullyn";
}
?>
  

Используйте это как свой php. Надеюсь, это сработает.Дайте мне знать, если это сработает.А также измените имена столбцов в соответствии с вашей таблицей. Спасибо 🙂