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

PHP & Base de données Discussion :

Erreur sans explication


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut Erreur sans explication
    Bonjour,
    j'ai 2 questions:

    1/ J'ai une erreur lors de la tentative d'ouverture de page php via un lien en php.
    Une page 'page forbidden' apparait.
    en placant le lien en dehors du code php et en le mettant dans du html, ca fonctionne ...
    ca n'est pas vraiment un probleme puique ca marche dans du html, mais je ne trouve pas d'explication dans les doc...

    2/ j'ai une erreur dans un script, mais pas de precision sur la nature...
    le message est 'parse erreur en derniere ligne' quelque soit ma derniere ligne.
    du coup, pas evident de corriger...
    je vais placer des mouchards un peu pertout pour localiser le probleme, mais je n'ai pas eu beaucoup le temps ...
    je voudrais savoir s'il n'y a pas de redondances d'erreurs a l'origine de ce genre de message.

    merci d'avance
    jeremy

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    faudrait poster ton code, ca sera plus facile pour aider

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    Citation Envoyé par jeremy_chauvel
    2/ j'ai une erreur dans un script, mais pas de precision sur la nature...
    le message est 'parse erreur en derniere ligne' quelque soit ma derniere ligne.
    du coup, pas evident de corriger...
    je vais placer des mouchards un peu pertout pour localiser le probleme, mais je n'ai pas eu beaucoup le temps ...
    je voudrais savoir s'il n'y a pas de redondances d'erreurs a l'origine de ce genre de message.
    http://php.developpez.com/faq/?page=...ur_parse_error
    C'est typique d'un oubli d'accolade fermante. Le script cherche ton accolade fermante, il ne la trouve pas, donc il indique une erreur où il aurait dû la trouver, soit la dernière ligne.
    Je te conseille aussi d'utiliser un éditeur de code qui surligne les couples de parenthèses/accolades.

  4. #4
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Pour la question 1, comment tu déclares ton lien en php ?
    Poste ton code, c'est plus clair pour ceux qui veulent t'aider...


    Pour la question 2, tu as eu la réponse.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    je pose mon code tres prochainement, je n'ai pas internet chez moi
    donc je viens dans un cyber coffe pour regarder la doc sur le net et poser mes questiom ... donc pas super pratique

    merci pour l'info des accolades. je vais verifier des aue possible.

    merci pour vos reponses
    jeremy

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut tant qu'on y ai
    Bonjour,

    Avant tout, je veux preciser que j'ai fais des recherches avant de poster ce message (mais certainement pas assez).
    je dois poster mes questions en meme temps, vu que je n'ai pas imternet chez moi
    Donc je travail la nuit, seul avec mes bouquins php et sql, et la journnee je post mes 'quelques' questions

    1/ Je veux utiliser un repertoire particulier pour stocker mon fichier de login et password pour l'ouverture de ma base.
    dans la code j'ai lu qu'il faut utiliser quand il n'est pas dans le meme repertoire que le script en lecture.

    include_path=.:/conf //je ne suis pas sur de la symtaxe la, mais j'ai bien recopie le lire sur mon script

    mais pour moi, c'est un message d'erreur qui apparait.
    avec le :pour unix ou ; pour windows ...

    2/ Je voudrait introduire du code php dand du code html, qui est lui meme inclu dans du php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    echo ......
    echo.......	
    echo'     	     <td>
    		<h3>resultat de $_POST['search']<h3>
    		</td>';
     
    ?>
    j'ai voulu mettre des accolades, re-introduire les balises php, mettre des cotes, double-cotes ... rien n'y fait (a part la solution bien sur ... mais je ne la trouve pas )

    3/ J'ai une base de donnee avec un champs hystorique.
    Il me faut conserver l'historique de toutes manipulations des enregistrements dans ce champs.
    Je pensais faire un tableau a l'interrieur du champ. je n'ai rien lu qui dise que ca n'est pas faisable ...
    le probleme, c'est qu'il me faudrait pouvoir incrementer la valeur d'un l'index i du tableau pour correctement ecrire sur des lignes differentes du tableau et ne pas ecraser tout le temps la premiere ligne...
    mais ca veut dire incrementer i et mettre la valeur dans le champs ....
    dans la pratique j'ai de gros doutes (j'avoue que je n'ai pas encore teste)

    4/ J'affiche une page html avec une liste de cadeaux disponibles ( tableau dynamique provient d'une base de donnee).

    Quand un utilisateur clique sur un cadeau, un mail automatique est envoye au responsable des cadeaux de l'association.
    j'arrive a recuperrer tous les champs qu'il me faut pour le mail sauf ... ce qu'est le cadeaux en question , en faite savoir sur quel lien l'internaute vient de cliquer !!!!

    je pensais ajouter un champs lien sur ma base 'kdo' et mettre une sorte de 'tag' dedans ... mais comment faire?... ( comment ils font les pros ? )

    vooila c'est deja fini xxxx

    un GRAND MERCI d'avance pour vos reponses

    jeremy

    PS: sorry je suis a londres, je n'ai pas les accents

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    1/
    tu peux carrémment mettre le chemin dans la fonction include:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include ("C:\\rep\\fichier.php");
    pour le include_path, c'est dans le php.ini qu'il doit être changé et il faut mettre des guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include_path = ".,c:\rep"

    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
    echo "     	     <td>
    		<h3>resultat de {$_POST['search']}<h3>
    		</td>";
    ?>
    pour qu'une variable soit interprete à l'interieur d'une chaine, il faut utiliser les "

    3/ la j'avoue je saisis pas

    4/ ton lien pointe bien vers une page? si c'est le cas tu connais le lien
    sinon, si c'est du javascript, il suffit de mettre l'id du cadeau dans un champs avant d'envoyer le submit (ou autre, je sais pas comment tu fait)

    bon courage

  8. #8
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    3/
    Si je comprend bien tu enregistres les modif de ton site, donc je pense que tu utilises un formulaire.
    J'espère ne pas me tromper.

    Solution 1 :
    il faut que tu mettes tes valeurs dans une table mysql dédiée et ensuite tu donnes l'attribut auto_increment à ton champ id.
    C'est ce qu'il y a de plus propre. Et là t'as une vraie traçabilité.

    Solution2:
    Tu reprends le contenu de ton champ dans une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql=mysql_query("SELECT historique FROM tatable");
    $res=mysql_fetch_object($sql);
    $texte=$res->historique;
    $date=date("d-m-y");
    $new=$date.' | '.$_POST['tonchamp'].'\n'.'<br>'.$texte;
    Là t'as pas besoin de mettre de compteur (mais tu peux à la place de $date), et ton champ enregistre toutes les modif apportées.
    Ca te donnera l'aspect d'un fichier log...

    J'espère avoir bien compris...

  9. #9
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    4/ Si c'est un lien, passe ta variable dans le lien genre
    tonliendepage.php?idkdo=38
    et dans section (ou ta page) de traitement, tu reprends l'idkdo par
    $_GET['idkdo'];

    Si c'est pas un lien, mais un formulaire, tu affectes l'id de ton kdo à un champ.

  10. #10
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Alors Jérémy, t'en es où ?

    Les réponses t'ont-elles aidé?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    bonjour,
    désolé, j'ai mis un peu de temps pour répondre ...
    donc, mon probleme du GET est corrigé
    mon probleme d'implémentation de php dans du html aussi.
    au sujet de l'organisation de mon historique je n'ai pas encore eu le temps de tester.
    en revanche, pour mon probleme de chemin d'access au fichier, je n'y arrive toujours pas

    merci pour votre aide precieuse

    jeremy

  12. #12
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    en revanche, pour mon probleme de chemin d'access au fichier, je n'y arrive toujours pas
    Tu veux dire pour tes données de connexion à la base?

    Si c'est cela, le plus simple est de placer un dossier spécifique à la racine de ton site (appelons-le REP).

    Donc si tes pages sont contenues dans un dossier PAGES à la racine de ton site, et bien dans chacune des pages tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include ("../REP/tonfichierdacces.php"); ?>
    Et là t'as plus de problème !

    Je pense même que tu peux mettre ce fichier dans un autre répertoire que celui que tu utilises pour ton site, mais ça ne vaut pas le coup si tu n'héberges pas toi-même ton site.

    Voilà, j'espère que tu n'as plus de doutes !

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    en recopiant ton code, j'ai ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ("../conf/cfg-inc.php");
    j'enleve mon fichier cfg-inc.php de ma racine (puisque je n'ai trouvé que ca pour que ca marche, le mettre partout )

    je me retrouve avec cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: main(cfg-inc.php): failed to open stream: No such file or directory in d:\programmation\developpement\lutecia\afficheinfo.php on line 7
     
    Fatal error: main(): Failed opening required 'cfg-inc.php' (include_path='.;C:/Program Files/EasyPHP1-8\php\pear\') in d:\programmation\developpement\lutecia\afficheinfo.php on line 7
    voila

    merci d'avance
    jeremy

  14. #14
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Salut,
    Oui, si tu le mets partout (c'est à dire dans chacun des sous-dossiers de ton site), dans ce cas il faut mettre ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ("cfg-inc.php");
    car il n'y a plus de dossier parent.

    Y'a un truc que je ne comprends pas : pourquoi tu as un ';' avant C:/ , des slashs ET des backslashs dans cette erreur
    ;C:/Program Files/EasyPHP1-8\php\pear\'
    C'est quoi ce include_path ?

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    bonjour,
    alors, je ne sais pas pourquoi j'ai eu ce message d'erreur.

    Pour la gestion des chemins, il existe include_path pour definir la liste de répertoires ou php devra chercher les fichiers ... Le séparateur est le : sous windows et ; sous unix.

    j'utilise easyphp sous windows je ne comprend pas ...

  16. #16
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Je comprends mieux,
    en regardant de plus près, include_path c'est dans le fichier de config.
    La syntaxe est
    include_path".,C:\ton;\repertoire;\ou;\sont;\les;\fichiers"
    Il ne faut pas mettre de ' ; ', mais un point(.) au début, puis un point-virgule( après chaque dossier...
    Ensuite, il te faut des backslashes (\) puisque tu tournes sous windows, pas des slashes

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    voila ce que j'ai:
    include_path = ".;\programmation;\developpement;\lutecia;\conf";

    je recois un parse error ...

    j'ai essayé de ne pas mettre le point virgule a la fin
    de ne pas mettre le =

    j'au remplacé la , par un ; par rapport a ta syntaxe ...
    je ne comprend pas

    merci de m'aider
    jeremy

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Par défaut
    une autre petite question, je compte mettre un controle d'acces par htaccess par la suite sur mon fichier de conf ... cela ne posera t il pas de probleme lors de l'interpretation du script ?

    merci
    jeremy

  19. #19
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 217
    Par défaut
    Non, le .htaccess indique au serveur apache qu'il ne faut pas laisser l'internaute accéder à ces fichiers. PHP fait ce qu'il veut, tant que le système d'exploitation le laisse faire

  20. #20
    Membre chevronné Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Par défaut
    Autant pour moi Jérémy !
    La syntaxe ne prend que le premier point-virgule, pas les autres (pas ceux qui sont devant les backslashes...).

    Laisse le " = " , le point puis le point-virgule, puis tape ton chemin depuis le dossier où se trouve le php.ini jusqu'à celui où se trouvent tes fichiers à inclure...
    ça doit fonctionner normalement.

    Ma faute ! Sorry !

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/04/2008, 15h00
  2. Une erreur sans raison aparente
    Par gollou dans le forum Langage
    Réponses: 1
    Dernier message: 20/04/2007, 09h40
  3. erreur "sans erreur" dans getElementById
    Par Tooomas dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 26/03/2007, 12h23
  4. Plantage d'access sans explication
    Par branqueira dans le forum Access
    Réponses: 26
    Dernier message: 01/09/2006, 20h47
  5. [MFC] erreur sans le winmain
    Par r0d dans le forum MFC
    Réponses: 5
    Dernier message: 27/01/2006, 10h17

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