Erreur récurante de syntaxe

Résolu
fareohh Messages postés 65 Statut Membre -  
fareohh Messages postés 65 Statut Membre -
Bonjour,

ça fait un moment que j'essaye de régler ce problème mais rien à faire..

J'ai cette erreur qui reviens en permanence et je n'arrive pas à la résoudre.
Parse error: syntax error, unexpected '{' in /var/www/wzh1cj/www/news/recherche.php on line 2


Voilà mon code:
<?php
    try {
        $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        $bdd = new PDO('mysql:host=host=web2.pulseheberg.net;dbname=wkmfc8_osudl', 'wkmfc8_osudl','macle', $pdo_options);
 }
    catch (Exception $e){
              die('Erreur : ' . $e->getMessage());
    }

 
    $requete = htmlspecialchars($_POST['requete']);
    $req = $bdd->prepare("SELECT * FROM fichiers WHERE name LIKE :requete ORDER BY id DESC");
    $req->execute(array('requete' => $requete . '%'));
 
     
    $nb_resultats = $req->rowCount();
    if($nb_resultats != 0){
 
    ?>
    
    <?php echo $nb_resultats; 
    if($nb_resultats > 1) { echo 'résultats'; } else { echo 'résultat'; } 
    ?>
    trouvé:<br/>
    <br/>
    <?
    
    {
    ?>
    <a href="fonction.php?id=<? echo $donnees['id']; ?>"><? echo $donnees['nom_fonction']; ?></a><br/>
    <?
    } 
    ?><br/>
    <br/>
    <a href="rechercher.php">Nouvelle recherche</a></p>
    <?
    } 
    else
    {
    ?>
    <h3>Pas de résultats</h3>
    <p>Nous n'avons trouvé aucun résultat pour votre requête "<? echo $_POST['requete']; ?>". <a href="rechercher.php">Réessayez</a> avec autre chose.</p>
    <?
    }//
    $req->closeCursor(); /
    }
else {

?>
<p>rechercher</p>
 <form action="deconnexion.php" method="Post">
<input type="text" name="requete" size="10">
<input type="submit" value="Ok">
</form>
<?
}
?>


Merci d'avance...

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Essaye ça :
    <?php
    //Affichage des erreurs PHP 
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    //connexion à la bdd
    try{
      $bdd = new PDO('mysql:host=web2.pulseheberg.net;dbname=wkmfc8_osudl;charset=utf8', 'wkmfc8_osudl','macle');
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    $requete = !empty($_POST['requete']) ? $_POST['requete'] : NULL ;
    if($requete){
      $sql = "SELECT * FROM fichiers WHERE name LIKE :requete ORDER BY id DESC";
      $datas = array(':requete' => $requete . '%');
      try{
        $req = $bdd->prepare($sql);
        $req->execute($datas);
        $resultat = $req->fetchAll(); //on stocke le resultat dans un array
      } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
      }
     
      $nb_resultats = !empty($resultat) ? count($resultat) : 0;
      if($nb_resultats != 0){ 
        echo $nb_resultats; 
        $res = $nb_resultats>1 ? 's': '';
        echo 'résultat'.$res. ' trouvé'.$res;
        echo "<br><br>";
        foreach($resultat as $donnees){
            echo '<a href="fonction.php?id='.$donnees['id'].'">'.$donnees['nom_fonction'].'</a><br/>';
        }
        ?>
         
        <br/>
        <br/>
        <a href="rechercher.php">Nouvelle recherche</a></p>
     <?php
      } else {
     ?>
        <h3>Pas de résultats</h3>
        <p>Nous n'avons trouvé aucun résultat pour votre requête "<?php echo $requete]; ?>". <a href="rechercher.php">Réessayez</a> avec autre chose.</p>
     <?php
      }
    
    } else {
      ?>
      <p>rechercher</p>
      <form action="deconnexion.php" method="Post">
      <input type="text" name="requete" size="10">
      <input type="submit" value="Ok">
      </form>
    <?php
    }
    ?>
    


    Au passage... je t'invite à lire et à appliquer ceci :
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
    et ceci :
    https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

    0
    1. fareohh Messages postés 65 Statut Membre
       
      Parse error: syntax error, unexpected end of file in /var/www/wzh1cj/www/news/recherche.php on line 60

      :'(
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Je n'avais pas vu...
      mais il semble que tu aies utilisé des balises
      <?
      

      au lieu de
      <?php
      
      

      Commence par les remplacer correctement.

      Ensuite, si le souci persiste, assure toi de :
      - Toutes les accolades sont correctement fermées.
      - Ton fichier en encodé en utf8 sans bom (voir chapitre 1 de ce lien : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8 )
      0
    3. fareohh Messages postés 65 Statut Membre
       
      Oui j'ai vu ça, j'ai remplacé mais rien ne change..
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Ton fichier est en UTF8 sans BOM ?
      Il n'y a pas d'accolades manquantes ?
      Toutes les balises <? ont été remplacées par <?php ??

      Peux tu nous poster ton code modifié et une capture écran de ta vérification de l'encodage ?
      0
    5. fareohh Messages postés 65 Statut Membre
       
      Je fait ça se soir en retenant du taff
      0
  2. Lord Zero Messages postés 487 Statut Membre 115
     
    Bonjour,

    Juste 2 choses :
    $bdd = new PDO('mysql:host=host=web2.pulseheberg.net;dbname=wkmfc8_osudl', 'wkmfc8_osudl','macle', $pdo_options);


    1- Il y a un host= de trop.
    2- Ce sont tes vrais accès ? Dans ce cas, modifie vite ton post.

    0
    1. fareohh Messages postés 65 Statut Membre
       
      Ah autant pour moi ! Et non c'est pas la bonne clé ^^
      0
  3. fareohh Messages postés 65 Statut Membre
     
    Problème résolu ! Merci pour tout ! (comme je sus pas très doué il est fort probable que je revienne d'ici 10 min car j'ai de nouveau un problème mais je vais essayer de rechercher de moi même.
    0