Bonjour,

Je ne suis pas un expert Php et me sers beaucoup du forum pour avance. Je suis confronté à un souci et ne trouve aucune solution.
A partir d'Agular 9, je tente de me connecter à mon serveur Php. J'utilise EasyPhp.

mes codes de connection sont dans database.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
header("Access-Control-Allow-Origin: http://localhost:4200");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE");
header("Access-Control-Allow-Headers: Authorization, Content-Type, Accept");
 
// db credentials
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'projectbase');
 
// Connect with the database.
function connect()
{
  $connect = mysqli_connect(DB_HOST ,DB_USER ,DB_PASS ,DB_NAME);
 
  if (mysqli_connect_errno($connect)) {
    die("Failed to connect:" . mysqli_connect_error());
  }
 
  mysqli_set_charset($connect, "utf8");
 
  return $connect;
}
 
$con = connect();
?>
A partir d'un formulaire, je fais appel à create.php qui me permet d’insérer des données dans ma table Mysql:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
  require 'database.php';
  $db ='';
  $numero = 0;
  $marque = ''; 
 
  $postdata = file_get_contents("php://input");
 
  if(isset($postdata) && !empty($postdata))
  {
    $request = json_decode($postdata,true);
 
    $numero = mysqli_real_escape_string($con, $request->numero);
    $marque = mysqli_real_escape_string($con, $request->marque);
 
    $sql = "INSERT into 'carinputdata' (null, 'numero', 'marque')
            VALUES ('id', '{$numero}', '{$marque}')";
 
    if(mysqli_query($con, $sql))
    {
      http_response_code(201);
      $carinputdata = [
      'id' => mysqli_insert_id($con),
      'numero' => $numero,
      'marque' => $marque];
      echo json_encode($carinputdata);
    }
    else
    {
      http_response_code(422);
    }
  }
?>
L'appel de create.php entraîne une erreur:

Dans firefox, l'erreur est:
Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://localhost:8080/api/create.php. Raison : échec de la requête CORS.

ERROR Object { headers: {…}, status: 0, statusText: "Unknown Error", url: "//localhost:8080/api/create.php", ok: false, name: "HttpErrorResponse", message: "Http failure response for //localhost:8080/api/create.php: 0 Unknown Error", error: error }
Et dans chrome, l'erreur est:

POST http://localhost:8080/api/create.php net::ERR_CONNECTION_REFUSED

ERROR HttpErrorResponse*{headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: "//localhost:8080/api/create.php", ok: false,*…}
J'ai cherché la solution partout mais je ne trouve rien. Pourriez vous me donner un coup de main s'il vous plait?

Cordialement