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
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 <?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(); ?>
L'appel de create.php entraîne une erreur:
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); } } ?>
Dans firefox, l'erreur est:
Et dans chrome, 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 }
J'ai cherché la solution partout mais je ne trouve rien. Pourriez vous me donner un coup de main s'il vous plait?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,*…}
Cordialement
Partager