PHP Curl + header

Signaler
Messages postés
2
Date d'inscription
dimanche 31 octobre 2010
Statut
Membre
Dernière intervention
11 juillet 2012
-
Messages postés
14757
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 janvier 2021
-
Bonjour,

Je fais actuellement une page de connexion. Mes tests fonctionnent, cependant il ne me laisse pas faire un header. Voici mon code :

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="StyleSheet/style.css" />
<title>Enregistrement</title>
Veuillez vous enregistrer

</head>


<form class="QRCode" name="formLogin" method="post" action="">
<label>Nom d'utilisateur</label>

<label>Mot de passe</label>



</form>


<?php
if (isset($_POST['verifier'])) {
//le formulaire a été posté, bouton Envoyer cliqué
//on recupére les valeurs postées
//suivant ce qui était affiché
if (isset($_POST['txtUser']) && $_POST['txtUser'] != "") {
$txtUser = $_POST['txtUser'];
}

if (isset($_POST['txtPwd']) && $_POST['txtPwd'] != "") {
$txtPwd = $_POST['txtPwd'];
}
//ensuite pour utiliser ces valeurs:

if ($txtUser != "Login" && $txtPwd != "password") {
echo 'Salut';

/**
* crée une nouvelle ressource cURL
*/
$ch = curl_init();
/**
* Définition de l'URL
*/
curl_setopt($ch, CURLOPT_URL, "http://localhost:8080/CulturalNetworksServer/resources/visitors/");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$header = array('Accept: application/json', 'Content-Type: application/json');

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
/**
* attrape l'URL et la passe au navigateur
*/
$contents = curl_exec($ch);
/**
* ferme la ressource cURL et libère les ressources systèmes
*/
curl_close($ch);
$data = json_decode($contents);

foreach ($data as $value) :
if ($value->login == $txtUser) {
if($value->password == $txtPwd){
echo "<script>alert("Tout est ok")</script>";
header("location:Contact.php");

}else{
echo "<script>alert("le mot de passe est incorrect")</script>";
}
} else {
echo "<script>alert("le login est incorrect. Veuillez nous contacter")</script>";
}


endforeach;
} else {
echo "<script>alert("le login ou mot de passe ne sont pas valides")</script>";
}
}
?>


Pour tous renseignements, questions ou problèmes, veuillez [Contact.php nous contacter]



</html>

Voici l'erreur:
Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/CulturalNetworksMuseumClient/Connexion.php:30) in /Applications/MAMP/htdocs/CulturalNetworksMuseumClient/Connexion.php on line 75

En rouge la ligne qui pose problème.
Help…

Merci
KRM

1 réponse

Messages postés
14757
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 janvier 2021
151
Bonjour,

http://php.net/manual/fr/function.header.php
N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP. Une erreur très classique est de lire un fichier avec include ou require, et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.


Quel est le message d'erreur sinon ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site