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 :

Problème de Parse error


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut Problème de Parse error
    Bonjour à tous,

    après avoir travaillé mon site en local sur un serveur w2008r2 je désire le placer sur un hébergement chez OVH.

    Le problème est que sur cet hébergement, pour un petit script, il me met une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '{' in /homez.64/kchersta/www/agenda/nouveau.php on line 7
    Voici mon code:

    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
    30
    31
    32
    33
    <div id="center" class="simple">
        <div id="ajout_agenda">
            <h1>Ajouter un évènement</h1><br />
                <?php
                try
                {
                   $bdd = new PDO('mysql:host=mysql5-1;dbname=xxxxx', 'xxxxxxx', 'xxxxxxx',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));//on se connecte à MySQL
                }
     
     
                catch (Exception $e)
                {
                	die('Erreur : ' . $e->getMessage());
                }
     
                //on commence par récupérer les valeurs des champs
                $req = $bdd->prepare('INSERT INTO agenda(tit, mait, date, renseignements, lien) VALUES(:tit, :mait, :date, :renseignements, :lien)');
                $req->execute(array(
                    'tit' => $_POST['tit'],
                    'mait' => $_POST['mait'],
                    'date' => $_POST['date'],
                    'renseignements'=> $_POST['renseignements'],
                    'lien' => $_POST['lien'],
                    ));
                echo 'L\'activitée à bien été ajoutée dans la base de donnée'
                ?>
        </div>
        <?php
    if (isset($_POST['submit']))
    	echo'oui';
        ?>
        <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.ctcdesigne.be/index.php?page=ajout_agenda">
    </div>
    Si je ne me trompe, il me dit qu'il manque une accolade, le problème c'est quel vont toujours par deux et que j'en ai toujours deux....

    Est-ce que quelqu'un pourrait me dire quel est mon erreur.

    Merci beaucoup.

    Ps: sur mon serveur il n'y aucune erreur de se genre et sous phpedit non plus...

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ça sent le caractère ésotérique invisible :
    efface complètement le try { } et ratape le.
    Sinon, vu que tu passes de windows à linux (je pense), tu vas découvrir les joyeusetés des différences entre les deux mondes.
    Convertis les fins de lignes de ton fichier du format windows au format linux avec notepad++.
    Et réessaie

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://www.ctcdesigne.be/index.php?page=ajout_agenda">


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Refresh=1;url=http://www.ctcdesigne.be/index.php?page=ajout_agenda");

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Benjamin : header() ne fonctionnera pas... à l'intérieur d'une <div>...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Merci pour ses réponses rapide

    après avoir retapé les lignes, j'ai toujours la même erreur.

    Par contre je ne sais pas comment transformer un fichier Windows en fichier Linux

    Peux tu m'expliquer comment faire ?

    Merci

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Par contre je ne sais pas comment transformer un fichier Windows en fichier Linux
    $ dos2unix filename

    Benjamin : header() ne fonctionnera pas... à l'intérieur d'une <div>...
    Bien entendu

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    je vais faire mon gros boulet, mais ou je dois rentrer cette ligne de code ?

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    J'ai changé la configuration de PHPEdit pour qu'il travaille en mode Unix, j'ai recréer un fichier et collé le code puis écrasé le fichier sur le ftp, mais ça ne change rien

  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Quand tu copies-colles, tu gardes l'ancien format.
    Pour faire simple : tu installes notepad++, tu ouvres ton fichier avec et ensuite tu fais Edition/Convertir les sauts de lignes/Convertir au format UNIX (LF)

    Changer la confiuration n'est pas suffisant car cela ne change pas les sauts de lignes de tes fichiers existants, cela ne vaut que pour le futur.

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu devrais éviter d'avoir des lignes vides entre try et catch, entre les différents encodages, les LF vs CRLF et tout le tremblement, il se peut que le parseur de PHP ne comprenne pas vraiment que les blocs se suivent.

    Donc, essaie comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    try { 
      ...
    } catch (Exception $e) { // pokéééémoooon
      ...
    }

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    J'ai fait tout ce que vous m'avez dit, j'ai même recréer et retapé le fichier, mais même chose...

  12. #12
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Alors c'est qu'on regarde au mauvais endroit, l'accolade fermante manquante doit se trouver "au dessus", dans un fichier qui fait appel à agenda/nouveau.php

    Si j'étais toi, j'arrêterai de coder avec notepad++ et je passerai à Eclipse ou NetBeans ou tout autre IDE qui dispose d'une validation syntaxique du code !

  13. #13
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Donc si je comprend bien, je dois regarder, dans la page où je fait l'include, s'il n'y ba pas un problème d'accolade ?

    Pour info, j'utilise phpedit, mais tout a été codé en 'mode' windows et non unix.

    Je regarderai ça demain a tête reposée et dirai quoi

    Merci beaucoup

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Re bonjour

    après avoir transformé tous les fichiers Windows en fichiers Linux rien ne change.

    Maintenant, le fichier nouveau.php n'est pas appelé dans un autre fichier et aucun autre fichier n'est appelé dans le fichier nouveau...

    J'utilise la même chose sur une autre page et même erreur...

    y aurait il une autre piste ?

    merci d'avance

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    En cherchant à solutionner mon problème, je suis tombé, sur un autre forum sur une infos qui a étiré mon attention.

    Ce peut-il que le problème vienne du fait que chez OVH il soit toujours sue php 4.4.9, ce qui ne permettrait pas une connexion en PDO ?

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 48
    Points : 20
    Points
    20
    Par défaut
    Bon voilà, j'ai trouvé la solution et vous la donne:

    Si vous rencontrez se problème, créer à la racine une fichier .htaccess à la racine avec écrit dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Formatage Apache pour activer PHP5 (chez OVH)
    SetEnv PHP_VER 5
    Voilà

    Merci pour votre aide

  17. #17
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Arf cette version est tellement antique que ça m'est même pas venu à l'esprit

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/02/2008, 11h25
  2. problème de Parse error
    Par Ziltoid dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2007, 13h37
  3. Problème de parse error
    Par bigltnt dans le forum Langage
    Réponses: 2
    Dernier message: 03/05/2007, 11h07
  4. [Dates] Problème de 'Parse error'
    Par Nookart dans le forum Langage
    Réponses: 8
    Dernier message: 15/03/2007, 11h40
  5. [Tableaux] problème de parse error
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 06/04/2006, 21h37

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