Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 11/10/2011, 10h52   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 50
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 50
Points : 14
Points : 14
Par défaut Problème avec Header()

Bonjour,

J'ai un problème avec la fonction header(); En fait, j'essaie de filtrer l'accès à certaines adresses IP. Donc verification de la presence de l'IP dans la base de données et si l'IP est absente, je renvoie un 404. Mais le 404 n'est pas renvoyé alors que la condition est bien renvoyée... Je suppose que je renvoie quelque chose avant le header mais quoi ?

Code :
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
34
35
36
37
38
39
40
41
42
 
<?php
	$connexion_mysqli=[..];
	if(isset($_SERVER['REMOTE_ADDR'])){
		$adresse_ip=$_SERVER['REMOTE_ADDR'];
		$query_select_adresse_ip="SELECT * FROM ip_securite WHERE ip_adresse='$adresse_ip'";
		$result_select_adresse_ip=mysqli_query($connexion_mysqli,$query_select_adresse_ip);
		if(mysqli_num_rows($result_select_adresse_ip)!=1){
		// echo '0'; pour tester la condition
			header("HTTP/1.0 404 Not Found");
			// header("Status: 404"); j'ai essayé ça aussi
		}
	}else{
		session_destroy();
		header("HTTP/1.0 404 Not Found");
	}
	// session_start();
 
	$session='Utilisateur inconnu';
	if(isset($_SERVER['REMOTE_ADDR'])){
		$ip_visiteur=$_SERVER['REMOTE_ADDR'];
	}else{
		$ip_visiteur='IP inconnue';
	}
	if(isset($_SERVER['REQUEST_URI'])){
		$current_url=$_SERVER['REQUEST_URI'];
	}else{
		$current_url='url inconnue';
	}
	if(isset($_SERVER['HTTP_REFERER'])){
		$previous_url=$_SERVER['HTTP_REFERER'];
	}else{
		$previous_url='url prédédente inconnue';
	}
	$date_now=date("Y-m-d");
	$time_now=date("H:i:s");
	$query_insert_log="INSERT INTO logs (LOG_ID,LOG_DATE,LOG_HEURE,LOG_IP,LOG_URL_PRECEDENTE,LOG_URL_COURANTE,LOG_NOM_USER) VALUES (NULL,'$date_now','$time_now','$ip_visiteur','$previous_url','$current_url','$session')";
	mysqli_query($connexion_mysqli,$query_insert_log);
 
?>
<html>...
</html>
Merci d'avance pour votre aide
catapicultrophe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 14h13   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
tu as quoi à la place ? tu veux bien ajouter un exit juste après l'appel de header ?
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 14h17   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 50
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2007
Messages : 50
Points : 14
Points : 14
C'est fait ! ça fonctionne. Par contre j'avoue que je ne comprends pas pourquoi.

Un grand merci
catapicultrophe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 14h18   #4
Membre expérimenté
 
Inscription : janvier 2007
Messages : 620
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 620
Points : 553
Points : 553
Bonjour,
Juste un petit conseil en passant, avant header il ne doit rien y avoir avant même pas une ligne vide.

C'est à dire si tu as bien recopié ton code enlève la ligne 1.
kabkab 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 02h47.


 
 
 
 
Partenaires

Hébergement Web