Partage
  • Partager sur Facebook
  • Partager sur Twitter

Parse error: syntax error, unexpected end of file

Creer-un-wiki-simple-avec-les-fichiers

Sujet résolu
31 octobre 2014 à 1:50:24

Bonsoirs,

Voilà j'ai suivis le tutoriel de Nelty concernant la création d'un wiki simple avec des fichiers php et ayant finis de coder Liste_Pages.php , j'ai rencontrer une erreur en visualisant l'Index.php.

"Parse error: syntax error, unexpected end of file in C:\wamp\www\lib\liste_pages.php on line 36".

Je ne sait pas d'ou vient ce problème sachant que je suis novice en php. Je vous met le code pour que vous puissiez me montrer l'erreur :

<?php
 
function liste_pages()
        {
        GLOBAL $donnees; // Cette variable sera renseignée à la fin du script
        $repertoire = "pages";
?>
<?php
$dossiers = glob($repertoire.'/*');
asort($dossiers); // On classe les noms de dossiers afin qu'ils soient affichés par ordre alphabétique / croissant
?>
<?php
$noms = array();
$ids = array();
$compteur = 0;
?>
<?php
foreach($dossiers as $adresse) // On va lister tout ça
                {
                if(is_dir($adresse)) // On vérifie qu'il s'agit bien d'un dossier que l'on traite, et non un fichier !
                        {
                        $id = explode('/', $adresse);
                        $ids[$compteur] = $id[1]; // Nom du dossier = id de la page 
                        
                        $ouverture_titre = fopen($adresse.'/titre.txt', 'r'); // On ouvre le fichier contenant le titre de la page
                        $lecture_titre = fread($ouverture_titre, filesize($adresse.'/titre.txt')); // On lit le fichier - filesize retourne la taille du fichier 
                        
                        $noms[$compteur] = $lecture_titre; // On met le titre dans le tableau qui contient les titres des pages 
                        
                        $compteur++; // On incrémente le compteur
                        }
                }
?>
<?php
$donnees = array('Noms' => $noms, 'Id' => $ids);
?>

Voilà , bien pour que cela soit bien clair, je n'y connait absolument rien en php.

Sur ceux bonne nuit.

  • Partager sur Facebook
  • Partager sur Twitter
"Connaître les autres, c'est sagesse. Se connaître soi-même, c'est sagesse supérieure."
31 octobre 2014 à 2:21:30

Un peu de logique, et tu remarqueras qu'il manque une } tout a la fin de ton fichier.
  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2014 à 16:37:41

Désolé de te répondre tardivement, merci beaucoup.

Quand tu dit un peu de logique, j'avais l'impression que tu me considère comme un crétin alors que je débute seulement en php est-ce que je me trompe ? . Ceci dit, tout le monde n'a pas un QI d'Einstein et même si je progresse doucement tout en posant des questions "bête", je préfère poser des questions bêtes et ne plus me tromper par la suite, que d'hésité à en poser une .

Bref merci quand même pour la réponse.

  • Partager sur Facebook
  • Partager sur Twitter
"Connaître les autres, c'est sagesse. Se connaître soi-même, c'est sagesse supérieure."
2 novembre 2014 à 16:53:10

Non, quand je dis un peu de logique, c'est qu'il faut analyser le message d'erreur, en occurence ici c'est un parse error, ce qui veut dire qu'il manque soit un ; soit une ( ou ) soit une { ou }, en gros un caractère qui mets fin à une instruction ou un block d'instruction. Ensuite il te dit que c'est à la fin du fichier, donc forcément faut checker la fin du fichier et dans le code que tu nous montre il y a une fonction, et les fonctions sont forcément entourer d'accolade.

Ce sont des erreurs connes et facile à corriger.

Et on a pas besoin d'un QI à la hauteur de celui d'Einstein ;)

  • Partager sur Facebook
  • Partager sur Twitter
23 janvier 2020 à 11:57:11

Bonjour,

Je suis novice en PHP et malgré des heures de recherche je n'arrive pas à identifier d'où vient cette erreur : 

! ) Parse error: syntax error, unexpected end of file in C:\wamp64\www\SiteJeuxSophie dateRecupBDD\index.php on line 239

Pourriez-vous m'aider svp?

J'ai un autre problème que je n'arrive pas à résoudre. Je souhaite afficher le message (lignes 115 à 119) affichant Bonjour Le Pseudo du visiteur logué et le rapprocher de ma table dans la bdd pour afficher sa date d'inscription. Lorsque j'exécute ma requête, j'ai tous les joueurs inscrits avec leur date d'inscription associée. Comment puis-je n'avoir que l'utilisateur connecté et sa propre date d'inscription récupérée depuis la bdd?j'ai créé une session start avec une variable pseudo pour récupérer le visiteur connecté et ça ne fonctionne toujours pas.

Merci de votre aide

<?php
session_start(); 
$_SESSION['Pseudo'] = '';
$_SESSION['pass'] = ''
 //connexion à la base de données
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8''root''');
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 }
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
?>
<!Doctype HTML>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <title>Jeux</title>
    <link rel="shortcut icon" type="image/x-icon" href="images/logo.gif" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css?family=Muli&display=swap" rel="stylesheet">

<script>
    function seConnecter(){
            document.getElementById("formulaireConnexion").style.display="block";
            document.getElementById("formulaireInscription").style.display="none";}

    function sInscrire(){
            document.getElementById("formulaireInscription").style.display="block";
            document.getElementById("formulaireConnexion").style.display="none";}

var timesClicked = 0

    function viewPendu(){
        document.getElementById("regleJeuPendu").style.display="block";
        document.getElementById("jouerJeuPendu").style.display="block";}

    function clearPendu(){
        document.getElementById("regleJeuPendu").style.display="none";
        document.getElementById("jouerJeuPendu").style.display="none";}

    function jeuPendu(){
        if(timesClicked>0){
            clearPendu();
            timesClicked--;}
        else{
            viewPendu();
            timesClicked++;}}

    function viewQuizz(){
        document.getElementById("regleJeuQuizz").style.display="block";
        document.getElementById("jouerJeuQuizz").style.display="block";}

    function clearQuizz(){
        document.getElementById("regleJeuQuizz").style.display="none";
        document.getElementById("jouerJeuQuizz").style.display="none";}

    function jeuQuizz(){
        if(timesClicked>0){
            clearQuizz();
            timesClicked--;}
        else{
            viewQuizz();
            timesClicked++;}}   

    function viewPuissance(){
        document.getElementById("regleJeuPuissance").style.display="block";
        document.getElementById("jouerJeuPuissance").style.display="block";}

    function clearPuissance(){
        document.getElementById("regleJeuPuissance").style.display="none";
        document.getElementById("jouerJeuPuissance").style.display="none";}

    function jeuPuissance(){
        if (timesClicked>0){
            clearPuissance();
            timesClicked--;}
        else{
            viewPuissance();
            timesClicked++;}}

    function jouerjeuPendu(){
    window.open("jeuPendu/index.html");}

    function jouerjeuQuizz(){
    window.open("quizzCinema/index.html");}

    function jouerjeuPuissance(){
    window.open("puissanceQuatre/index.html");}
</script>
</head>

<body>
    <div class="container">
<header>


    <div class="presentation">
    </form> 
 <?php

$q_Pseudo = $bdd->query("SELECT Pseudo FROM joueurs") or die(print_r($q_Pseudo->errorInfo()));
$q_DateInscription = $bdd->prepare("SELECT DateInscription FROM joueurs WHERE Pseudo= :Pseudo");
while($Pseudo=$q_Pseudo->fetch())
{
    echo '<strong>' . $Pseudo['Pseudo'] . ' : </strong><ul>';
    $q_DateInscription->execute(array('Pseudo' => $Pseudo['Pseudo'])) or die(print_r($q_DateInscription->errorInfo()));
    while($DateInscription = $q_DateInscription->fetch())
?>
    {
        Bonjour    <?php echo   $Pseudo['Pseudo']  ; ?> <br>
        </strong>        Heureux de vous revoir ! <br>
    Vous êtes inscrit sur notre site depuis le
         <?php  echo  $date_inscri['DateInscription'] ;  ?> 
    }
}
<?php

$q_Pseudo->closeCursor();
$q_DateInscription->closeCursor();

?>
            <br>  <br>
            <img class="trex" src="images/roiLion.gif">
    </div>
</header>

<main>

<br>


</main>

<br>

<div class="menuDeroulantJeux">
        <div id="menuJeuPendu"><button class="boutonsPrincipaux" onclick="jeuPendu()"> Jeu du Pendu </button></div>
        <div id="regleJeuPendu"><p>Le Pendu est un jeu consistant à trouver un mot en devinant quelles sont les lettres qui le composent.</p></div>
        <div id="jouerJeuPendu"><button class="boutonsSecondaires" onclick="jouerjeuPendu()"> Jouer </button></div><br>

        <div id="menuJeuQuizz"><button class="boutonsPrincipaux" onclick="jeuQuizz()"> Quizz Cinéma </button></div>
        <div id="regleJeuQuizz"><p>Le Quizz Cinéma est un jeu qui consiste en un questionnaire permettant de tester vos connaissances cinématographiques.</p></div>
        <div id="jouerJeuQuizz"><button class="boutonsSecondaires" onclick="jouerjeuQuizz()"> Jouer </button></div><br>
        <div id="menuJeuPuissance"><button class="boutonsPrincipaux" onclick="jeuPuissance()"> Puissance 4 </button></div>
        <div id="regleJeuPuissance"><p>Le Puissance 4 est un jeu consistant à être le premier à aligner 4 jetons de sa couleur horizontalement, verticalement et diagonalement.</p><div>
        <div id="jouerJeuPuissance"><button class="boutonsSecondaires" onclick="jouerjeuPuissance()"> Jouer </button></div><br>
</div></div>

<footer>
    <p><strong>A vous de jouer !</p>
</footer>
</div>

<style>
body{
    background-image: url(images/land.png);
    font-family:'Muli', sans-serif;}

.container{
    display:block;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    width40%;
    background-color: rgba(2482482480.75);
    border-radius:5px 5px 5px 5px;
    padding2%;}

p{
    font-family:'Muli', sans-serif;
    font-size18px;}

.trex{
    width35%;
}

.boutonsPrincipaux{
    border-radius4px 4px 4px 4px;
    border-style:none;
    padding:1%;
    background-color: rgba(1451902310.5);
    font-family:'Muli', sans-serif;
    font-size:18px;}

.boutonsSecondaires{
    border-radius4px 4px 4px 4px;
    box-shadow:none;
    padding-left:1%;
    padding-right:1%;
    padding-top:0.5%;
    padding-bottom:0.5%;
    border-color: rgba(1451902310.5);
    background-color: rgba(2502502500.5);
    font-family'Muli', sans-serif;
    font-size:18px;}

#formulaireInscription{
    display:none;}

#formulaireConnexion{
    display:none;}

.champ{
    font-family:'Muli', sans-serif;
    font-size:18px;
    padding:0.3%;}

#regleJeuPendu{
    display:none;}

#regleJeuQuizz{
    display:none;}

#regleJeuPuissance{
    display:none;}

#jouerJeuPendu{
    display:none;}

#jouerJeuQuizz{
    display:none;}

#jouerJeuPuissance{
    display:none;}
</style>
</body>
</html>

-
Edité par CorailleWilde 23 janvier 2020 à 12:02:22

  • Partager sur Facebook
  • Partager sur Twitter
23 janvier 2020 à 11:59:00

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter