Code qui ne veut pas marcher

Fermé
serious miss - 9 déc. 2013 à 20:33
MisterPoZZi Messages postés 26 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 25 janvier 2015 - 10 déc. 2013 à 13:20
Bonsoir à tous,
Au fait j'ai un problème avec mon codé qui ne veut pas marcher et qui m'affiche ce message d'erreur:
( ! ) Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp\www\ProjetPHP\rechercher.php on line 35
Je ne vois vraiment pas ce qui ne va pas avec ce code.
Je vous prie de bien vouloir m'éclairsir sur la chose .
Voici le code de moteur de recherche en question:
<html>
<body background="bg.jpg">
</body>
</html>
<?php
if(isset($_POST['requete']) && $_POST['requete'] != NULL) // on vérifie d'abord l'existence du POST et aussi si la requete n'est pas vide.
{
mysql_connect('localhost','root','');
mysql_select_db('hitmusic'); // on se connecte à MySQL.
$requete = htmlspecialchars($_POST['requete']); // on crée une variable $requete pour faciliter l'écriture de la requête SQL, mais aussi pour empêcher les éventuels malins qui utiliseraient du PHP ou du JS, avec la fonction htmlspecialchars().
$query = mysql_query("SELECT * FROM chanson WHERE 'Titre' LIKE '%$requete%' ORDER BY ID DESC") or die (mysql_error());
$nb_resultats = mysql_num_rows($query); // on utilise la fonction mysql_num_rows pour compter les résultats pour vérifier par après
if($nb_resultats != 0) // si le nombre de résultats est supérieur à 0, on continue
{
// maintenant, on va afficher les résultats et la page qui les donne ainsi que leur nombre, avec un peu de code HTML pour faciliter la tâche.
?>
<h3>Résultats de votre recherche.</h3>
<p>Nous avons trouvé <? echo $nb_resultats; // on affiche le nombre de résultats
if($nb_resultats > 1) { echo 'résultats'; } else { echo 'résultat'; } // on vérifie le nombre de résultats pour orthographier correctement.
?>
Voici les chansons que nous avons trouvé :<br/>
<br/>
<?php
while($donnees = mysql_fetch_array($query)) // on fait un while pour afficher la liste des chansons trouvées, ainsi que l'id qui permettra de faire le lien vers la page de la chanson
{
?>
<a href="ecouter.php?id=<? echo $donnees['ID']; ?>"><? echo $donnees['Titre']; ?></a><br/>
<?php
} // fin de la boucle
?><br/>
<br/>
<a href="rechercher.php">Faire une nouvelle recherche</a></p>
<?php
// Maintenant, nous allons afficher l'éventuelle erreur en cas d'échec de recherche et le formulaire.
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>
<?php
}
mysql_close(); // on ferme mysql
}
else
{
?>
<p>Vous allez faire une recherche dans notre base de données concernant les chansons. Tapez une requête pour réaliser une recherche.</p>
<form action="rechercher.php" method="Post">
<input type="text" name="requete" size="10">
<input type="submit" value="Ok">
</form>
<?
}
?>
A voir également:

2 réponses

MisterPoZZi Messages postés 26 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 25 janvier 2015 3
9 déc. 2013 à 23:22
Tu as oublié de refermer ton IF, on passe directement à ELSE sans qu'il y ait l'accolade fermante de ta condition :
On devrait avoir ça :
if()
{

}
else
{

}


au lieu de ça :
if()
{

else
{

}
1
MisterPoZZi Messages postés 26 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 25 janvier 2015 3
9 déc. 2013 à 23:28
Je te laisse chercher où placer cette accolade fermante ;)
0
MisterPoZZi Messages postés 26 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 25 janvier 2015 3
10 déc. 2013 à 13:20
Quelle est le message d'erreur que tu as après avoir corrigé ton code ?

J'ai pour ma part un joli "Parse error: syntax error, unexpected $end in C:\wamp\www\hitmusic\parse_rech.php on line 55" mais qui est dû au short open tag qui n'est pas activé sur ma config.

As-tu au moins placé correctement l'accolade ? :)
0