IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur de syntaxe


Sujet :

Langage PHP

  1. #1
    Bne
    Bne est déconnecté
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Erreur de syntaxe
    Bonjour.

    Je suis en train de programmer un gros morceau, mais je me confronte à un problème, mais dont je n'ai aucune idée de la cause.

    Voici comment se présente la programmation :

    Elle est basée sur les sessions, je démarre donc un session
    Ensuite, je récupère mes variables de sessions
    Puis je récupère l'action, obtenue par GET
    Ensuite, si ce GET = connection, j'appelle mon script pour se connecter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($ACT == "connection") {
    	require_once("connection.php");
    }
    Si la connection est bonne, ma variable ID est alors stockée

    Tout cela se situe tout en haut de ma page.

    Ensuite, dans ma page, je regarde si $ID est renseignée. Si oui, j'ouvre la page avec les informations de l'espace protégé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ($ID != "") {
    	require_once("espace_protege.php");
    J'affiche alors le résultat
    sinon, j'inclue le formulaire de connection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    else {
    	require_once("form_connection.php");
    }
    Donc pour résumer, ma page "mapage.php" se présente ainsi :

    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
    <?
    session_start(); 
     
    $ID = $_SESSION['ID'];
    $ACT = $_GET['act'];
     
    if ($ACT == "connection") {
    	require_once("connection.php");
    }
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    ...
    </head>
     
    <body>
    <?
    if ($ID != "") {
    	require_once("espace_protege.php");
    	echo $annonceurs;
    }
    else {
    	require_once("form_connection.php");
    }
    ?>
    </body>
    </html>
    C'est au niveau de "espace_protege" que cela semble poser problème. en effet, j'ai fait un echo $ID, juste avant l'echo $annonceur, est celui-ci m'e l'affiche bien (1 en l'occurence).
    Donc voici le code de "espace_protege.php"
    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
    <?
    if (isset($ACT)) {
    	if ($ACT == "overview") {
    		// Infos MySQL
    		...
    	}
    	elseif ($ACT == "view") {
    		...
    		}
    	}
    	else {
    		// Si il n'y a pas de donnée, il est redirigé à la page principale de l'espace
    		@header("Location: mapage.php?act=overview");
    		exit();
    	}
    }
    else {
    	// Si il n'y a pas de donnée pour l'action, il est redirigé à la page principale de l'espace
    	@header("Location: mapage.php?act=overview");
    	exit();
    }
    ?>
    Voila.
    Le problème, c'est que ca m'affiche une page blanche (pas de redirection suite à mon @header(...);

    Merci de votre aide

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    juste après le démarrage de ta session ajoute cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set(display_errors,On);
    et dis-nous si tu as une erreur qui s'affiche ou pas?
    Tu as essayé en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: http://tonsite.mapage.php?act=overview");
    c'est à dire en enlevant le @ (comme ça si tu as une erreur tu la verras) et en ajoutant http://... ?

    PS : au lieu de faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $ID = $_SESSION['ID'];
    if ($ID != "")
    tu pourrais faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_SESSION['ID']))
    sachant que tu ne l'utilises que là.

  3. #3
    Bne
    Bne est déconnecté
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup.

    Donc en faisant ce que tu m'as sit, pour le "header", j'ai cette erreur :

    Warning: Cannot modify header information - headers already sent by (output started at ...mapage.php:21) in ...espace_protege.php on line 63
    Je pense voir d'où vient le problème, je regarde de plus près

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    pour éviter des redondances (on ne sait jamais) et faciliter la Màj tu devrais changer ton espace_protege.php par ça :
    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
    <?php
    switch ($ACT) {
    	case 'overview' :
    		// Infos MySQL
    		...
    		break;
     
    	case 'view' :
    		...
    		break;
     
    	default :
    		header('Location: mapage.php?act=overview');
    }
    ?>
    PS : je n'avais pas fait gaffe mais on déclare du PHP comme ça <?php, pas comme ça <?

  5. #5
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    si les shorts tags sont activés dans php.ini, <? ça passe mais c'est vrai que c'est pas conseillé de faire comme ça et qu'il vaut mieux mettre <?php

    sinon, quand tu fais ton header dans espace_protege.php, tu as déjà écrit le doctype et les metatags du head dans mapage.php, ça va pas
    Dia [ Page DVP ] [ Site pro ]

  6. #6
    Bne
    Bne est déconnecté
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Je ne connaissait pas, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  2. [sql] erreur de syntaxe
    Par cmoa59 dans le forum JDBC
    Réponses: 14
    Dernier message: 03/05/2005, 11h41
  3. erreur de syntaxe en C++
    Par sergepmessa dans le forum C++
    Réponses: 6
    Dernier message: 11/03/2005, 18h15
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo