Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 11h44   #1
Membre habitué
 
Avatar de richard_sraing
 
Homme Raphaël
Responsable de service informatique
Inscription : avril 2005
Messages : 374
Détails du profil
Informations personnelles :
Nom : Homme Raphaël
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2005
Messages : 374
Points : 121
Points : 121
Envoyer un message via MSN à richard_sraing
Par défaut Redirection impossible - erreur header

Bonjour à tous,

Alors voilà, dans le but de rediriger vers une page d'erreur, j'ai mis en place une redirection par
Code php :
header('Location: ./url/');
Le soucis que je rencontre est le suivant:

Citation:
Warning: Cannot modify header information - headers already sent by (output started at .../includes/checkin.php:1) in .../includes/checkin.php on line 29
Voici les fichiers en question:
checkin.php
Code php :
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
<?php
include('connexion.php');
 
$username = $_POST['username'];
$password = $_POST['password'];
 
if ($username)
{
	$query="SELECT * FROM utilisateurs WHERE username='$username' AND pass='$password'";
	$result=$bdd->query($query);
	if ($result)
	{
		$ligne=$result->fetch();
		if ($ligne)
		{
			$_SESSION['utilisateur']['nom'] = $ligne['nom'];
			$_SESSION['utilisateur']['prenom'] = $ligne['prenom'];
			$_SESSION['utilisateur']['admin'] = $ligne['administrateur'];
			$location = "./../index.php";
		}
	}
	else{
		$location = "./../error.php?code=invuser";
	}
}
else{
	$location = "./../error.php?code=nouser";
}
header("Location: $location");
exit;
?>
connexion.php
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include("data.php");
global $dbserver;
global $dbdb;
global $dbuser;
global $dbpass;
//CONNEXION A LA BASE DE DONNEES
try
{
	$bdd = new PDO("mysql:host=$dbserver;dbname=$dbdb", $dbuser, $dbpass);
}
catch (Exception $e)
{
	$location = "./../error.php?code=dbconnect";
}
// @MYSQL_CONNECT ("$dbserver","$dbuser","$dbpass") or die header('Location: ./../error.php?code=nodbconnect');
// mysql_select_db("$dbdb");
?>
Et finalement le fichier data.php
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//VERSION - NE PAS MODIFIER NI SUPPRIMER
$version="1.0.0";
 
//INDIQUER ICI LES DONNEES DE CONNEXION A VOTRE BASE DE DONNEES FOURNIES PAR VOTRE HEBERGEUR
$dbserver="serveur"; //ADRESSE DU SERVEUR SQL
$dbdb="basededonnes"; //NOM DE LA BASE DE DONNEES A UTILISER
$dbuser="utilisateur"; //NOM D'UTILISATEUR DE LA LA BASE DE DONNEES A UTILISER
$dbpass="motdepasse"; //MOT DE PASSE DE LA BASE DE DONNEES A UTILISER
 
//LES TABLES SERONT CONSTRUITES AUTOMATIQUEMENT - CHANGEZ LES NOMS SI VOUS AVEZ DEJA DANS VOTRE BASE DE DONNEES DES TABLES PORTANT LES MEMES NOMS
 
//URL DES PAGES
$url_page="index.php";
$repertoire_admin="admin";
 
//AFFICHAGE DES MENUS SUR LA PAGE D'ACCUEIL DE L'AGENDA
$menu_ajouter=1;
$menu_compte=1;
 
//NOTIFICATIONS PAR EMAIL : EVENEMENT EN ATTENTE, UTILISATEUR EN ATTENTE, PERTE DE MDP
$email_des="info@localhost.be";
?>

J'ai lu sur la toile que cela pouvait venir d'un espace ou autre caractère trainant en dehors des balises php ou un echo dans les balise.
J'ai vérifier partout, et aucun "espace" ou echo dans les fichiers.
J'édite les fichiers avec Notepad++ avec un encodage UTF-8 et j'ai placé l'UTF-8 en charset dans les meta de mes pages.

Dois-je également placer un charset meta dans le fichier checkin.php (alors que ce fichier n'est inclu nulle part ?)

En vous remerciant pour votre patience et pour l'aide que vous pourrez m'accorder. Bonne journée à tous.
__________________
First step: F.A.Q.
Second step: Forum -> Recherche
Thrid step: Forum -> Poser une question
Fourth step: Forum -> Attendre une réponse
Fifth step: Forum -> Remercier les personnes ayant répondu et signaler comme résolu

Simple non ? l'utilisation de developpez.com
richard_sraing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 14h25   #2
Membre éclairé
 
Avatar de Charvalos
 
Homme
Étudiant
Inscription : juin 2010
Messages : 141
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 19
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 141
Points : 343
Points : 343
Envoyer un message via MSN à Charvalos Envoyer un message via Skype™ à Charvalos
Salut !

Une tamporisation de sortie en PHP ?
Charvalos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 17h28   #3
Membre habitué
 
Avatar de richard_sraing
 
Homme Raphaël
Responsable de service informatique
Inscription : avril 2005
Messages : 374
Détails du profil
Informations personnelles :
Nom : Homme Raphaël
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2005
Messages : 374
Points : 121
Points : 121
Envoyer un message via MSN à richard_sraing
mouais...

Je ne trouve pas que le fait d'utiliser une tamporisation va résoudre mon problème, juste le déplacer, et cela ne m'intéresse pas trop à vrai dire.

Le fait que je déclare des variables en global pourrait-il influencer le traitement de la page ?

Comme dans le fichier "connexion.php" j'ai les lignes
Code php :
1
2
3
4
global $dbserver;
global $dbdb;
global $dbuser;
global $dbpass;

Mais le plus tracassant, il me renseigne l'erreur à la ligne 1 du fichier "checkin.php" ...

D'autres idées ?

Au fait, juste pour test, j'ai mis une ligne vide (simple retour à la ligne) à la ligne 1 du fichier "checkin.php" et il me lance l'erreur sur la ligne 2 à présent, donc il semblerait que ce soit lié à l'instruction "<?php".
__________________
First step: F.A.Q.
Second step: Forum -> Recherche
Thrid step: Forum -> Poser une question
Fourth step: Forum -> Attendre une réponse
Fifth step: Forum -> Remercier les personnes ayant répondu et signaler comme résolu

Simple non ? l'utilisation de developpez.com
richard_sraing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 17h36   #4
Membre habitué
 
Avatar de richard_sraing
 
Homme Raphaël
Responsable de service informatique
Inscription : avril 2005
Messages : 374
Détails du profil
Informations personnelles :
Nom : Homme Raphaël
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2005
Messages : 374
Points : 121
Points : 121
Envoyer un message via MSN à richard_sraing
ATTENTION :

Lorsque vous utiliser un éditeur de texte tel que par exemple NOTEPAD++, vérifier que l'encodage des fichiers soit en UTF-8 (sans BOM).

Une fois les fichiers converti dans cet encodage, cela à réglé mon problème.
__________________
First step: F.A.Q.
Second step: Forum -> Recherche
Thrid step: Forum -> Poser une question
Fourth step: Forum -> Attendre une réponse
Fifth step: Forum -> Remercier les personnes ayant répondu et signaler comme résolu

Simple non ? l'utilisation de developpez.com
richard_sraing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h46.


 
 
 
 
Partenaires

Hébergement Web