Php problème de header
Résolu/Fermé
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
-
21 août 2017 à 14:31
isa-- Messages postés 77 Date d'inscription lundi 16 septembre 2013 Statut Membre Dernière intervention 11 mars 2020 - 24 août 2017 à 11:27
isa-- Messages postés 77 Date d'inscription lundi 16 septembre 2013 Statut Membre Dernière intervention 11 mars 2020 - 24 août 2017 à 11:27
A voir également:
- Header may not contain more than a single header, new line detected
- Boot failure detected - Forum BIOS
- Gpt header corruption ✓ - Forum Windows 10
- Le fichier à télécharger est la nouvelle note de service de votre entreprise. importez ce fichier dans le bon dossier sur l'espace pix cloud. donnez à ce fichier les mêmes droits d'accès que les autres notes de service. ✓ - Forum Windows
- The system has detected that a cooling fan is not operating correctly - Forum Matériel & Système
- New cpu installed ftpm/psp nv corrupted - Forum BIOS
5 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
23 août 2017 à 15:57
23 août 2017 à 15:57
Salut,
Le problème semble venir du fait que ta variable $c contient un saut de ligne, or comme l'indique le message d'erreur, l'entête ne devrait pas contenir plusieurs ligne.
Essaye simplement de supprimer les sauts de ligne de ta variables $c avant d'effectuer la redirection :
Bonne journée,
Le problème semble venir du fait que ta variable $c contient un saut de ligne, or comme l'indique le message d'erreur, l'entête ne devrait pas contenir plusieurs ligne.
Essaye simplement de supprimer les sauts de ligne de ta variables $c avant d'effectuer la redirection :
$c = preg_replace("/\r|\n/", "", $c); header('Location: ./payer.php?c='.$c);
Bonne journée,
tani68
Messages postés
473
Date d'inscription
samedi 12 août 2017
Statut
Membre
Dernière intervention
22 août 2017
199
21 août 2017 à 14:49
21 août 2017 à 14:49
Et ton code html?
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
1
21 août 2017 à 19:17
21 août 2017 à 19:17
Pas de html, c'est juste un fichier en php (entrée dans une base puis redirection
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
Modifié le 21 août 2017 à 20:09
Modifié le 21 août 2017 à 20:09
bonsoir, et si tu fais
cela donne quoi?
echo 'Location: ./payer.php?c='.$c;
cela donne quoi?
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
1
23 août 2017 à 14:06
23 août 2017 à 14:06
Ca donne cà :
Location: ./payer.php?c= iCx44Tzb
Location: ./payer.php?c= iCx44Tzb
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
23 août 2017 à 17:22
23 août 2017 à 17:22
et
echo 'Location: ./payer.php?c='.$c.'fin';?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
21 août 2017 à 21:07
21 août 2017 à 21:07
Bonjour,
Pour commencer... active l'affichage des erreurs PHP.
Ensuite, fais une connexion à ta bdd correctement ... (c'est à dire en gérant les éventuelles erreurs.)
Ne mélange pas non plus le style OBJET et le style procédural comme tu l'as fait !!
Puis récupère PROPREMENT les variables AVANT de les utiliser
Ensuite.. gère les éventuelles erreurs dans ta requête
Et pour finir ... toujours mettre un EXIT après une redirection.
Bref...comme ceci:
Pour commencer... active l'affichage des erreurs PHP.
Ensuite, fais une connexion à ta bdd correctement ... (c'est à dire en gérant les éventuelles erreurs.)
Ne mélange pas non plus le style OBJET et le style procédural comme tu l'as fait !!
Puis récupère PROPREMENT les variables AVANT de les utiliser
Ensuite.. gère les éventuelles erreurs dans ta requête
Et pour finir ... toujours mettre un EXIT après une redirection.
Bref...comme ceci:
<?php //Activation des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //connexion propre à la bdd : $conn= @new mysqli('localhost', 'root', '', 'poitoo'); if ($conn->connect_errno) { die('Erreur de connexion : ' . $conn->connect_errno); } //récupération PROPRE des variables AVANT de les utiliser $c = !empty($_POST['c']) ? $_POST['c'] : NULL; $ID = !empty($_POST['ID ']) ? $_POST['ID '] : NULL; //requete if($c && $ID){ $req = "UPDATE `frais` SET `paye` = 'Y' WHERE ID = '$ID'"; if(!$conn->query($req)){ printf("Message d'erreur : %s\n", $conn->error); }else{ $conn->close(); header('Location: ./payer.php?c='.$c); exit(); } } ?>
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
1
23 août 2017 à 14:17
23 août 2017 à 14:17
Bonjour,
Merci de ta réponse.
J'ai testé ton code.
A part une erreur à la ligne 17 ( espace après ID), ça passe bien, mais toujours le même message d'erreur :
Warning: Header may not contain more than a single header, new line detected in C:\Users\.........\paiement.php on line 27
Une autre idée ?
Merci de ta réponse.
J'ai testé ton code.
A part une erreur à la ligne 17 ( espace après ID), ça passe bien, mais toujours le même message d'erreur :
Warning: Header may not contain more than a single header, new line detected in C:\Users\.........\paiement.php on line 27
Une autre idée ?
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
23 août 2017 à 14:21
23 août 2017 à 14:21
Où se trouve ton code php ?
N'aurais tu pas du HTML ou des echo avant ???
Montre nous le code COMPLET de ton fichier
N'aurais tu pas du HTML ou des echo avant ???
Montre nous le code COMPLET de ton fichier
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
1
>
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
23 août 2017 à 16:59
23 août 2017 à 16:59
Merci de te pencher sur mon problème !
Voici la totalité de mon code : ( ou plutôt le tien !)
Voici la totalité de mon code : ( ou plutôt le tien !)
<?php
//Activation des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');
//connexion propre à la bdd :
$conn= @new mysqli('localhost', 'root', '', 'poitoo');
if ($conn->connect_errno) {
die('Erreur de connexion : ' . $conn->connect_errno);
}
//récupération PROPRE des variables AVANT de les utiliser
$c = !empty($_POST['c']) ? $_POST['c'] : NULL;
$ID = !empty($_POST['ID']) ? $_POST['ID'] : NULL;
//requete
if($c && $ID){
$req = "UPDATE `frais` SET `paye` = 'Y' WHERE ID = '$ID'";
if(!$conn->query($req)){
printf("Message d'erreur : %s\n", $conn->error);
}else{
$conn->close();
header('Location: ./payer.php?c='.$c);
exit();
}
}
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
isa--
Messages postés
77
Date d'inscription
lundi 16 septembre 2013
Statut
Membre
Dernière intervention
11 mars 2020
23 août 2017 à 17:27
23 août 2017 à 17:27
et c'est bien le fichier paiement.php?
serait-il possible que la redirection vers ./payer.php fonctionne, et que l'erreur arrive plus tard?
je te suggère de remplacer le contenu de payer.php par un simple echo.
serait-il possible que la redirection vers ./payer.php fonctionne, et que l'erreur arrive plus tard?
je te suggère de remplacer le contenu de payer.php par un simple echo.
24 août 2017 à 11:27
C'est ça !
Merci mille fois....
A moi de trouver pourquoi ma variable contient un saut de ligne...
Bonne journée à toi et encore merci