Page 1 sur 1
erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 12:05
par sharigan
salut a tous!suis debutant en php et je veux faire une page pour qfficher les données recuperées dans la base afin de les afficher.je me coince a un message d'erreur qui dit: Parse error: syntax error, unexpected '}' in C:\wamp\www\uba projet\detaildemande.php on line 43.si quelqu'un a une idée sur d'ou provient cet erreur
voici mon code
<?php
require_once 'connexionbdd.php';
// Récupération des variables
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$typecarte = $_POST['typecarte'];
$prenom = htmlspecialchars($_POST['prenom']);
$adresse = htmlspecialchars($_POST['adresse']);
$telephone = htmlspecialchars($_POST['telephone']);
$email = htmlspecialchars($_POST['email']);
$numcompte = htmlspecialchars($_POST['numcompte']);
$agence = htmlspecialchars($_POST['agence']);
$typecarte = htmlspecialchars($_POST['typecarte']);
$typecompte = htmlspecialchars($_POST['typecompte']);
$date = htmlspecialchars($_POST['date']);
$iddemande=$_GET["iddemande"] ;
$requete = "SELECT * FROM demande WHERE iddemande=".$iddemande ;
$pdo = connexion();
$resultat = $pdo->query($requete);
if(!$resultat)
{
echo "Lecture impossible";
}
else
{
$nbcol = $resultat->columnCount();
$nbuser = $resultat->rowCount();
$ligne = $resultat->fetch(PDO::FETCH_ASSOC); // Tableau associatif
$titres = array_keys($ligne);
$ligne = array_values($ligne);
foreach($titres as $valeur)
}
?>
Re: erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 12:11
par kevin254kl
Bonjour, il manque les accolades de ton foreach même si il est vide, format ton code pour voir ces erreur plus facilement
http://beta.phpformatter.com/.
Re: erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 13:52
par sharigan
suis debutant en php.accolades a mettre ou?
Re: erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 14:34
par Ascla
En gros à la fin de ton code, le foreach doit contenir des accolades :
if(!$resultat)
{
echo "Lecture impossible";
}
else
{
$nbcol = $resultat->columnCount();
$nbuser = $resultat->rowCount();
$ligne = $resultat->fetch(PDO::FETCH_ASSOC); // Tableau associatif
$titres = array_keys($ligne);
$ligne = array_values($ligne);
foreach($titres as $valeur)
{
}
}
Mais bon, dans ce cas là il ne sert à rien, donc autant le supprimer.
Re: erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 15:26
par sharigan
ok ce probleme de syntaxe est resolu merci,meme si y a d'autres erreurs je m y attendais
Re: erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line 43
Posté : 22 déc. 2015, 16:07
par Ascla
Si y'a encore d'autres erreurs, il faudra nous donner plus de détails.
- Ce que tu cherches à faire
Ce qui se passe
Dans le cas où le problème est résolu, un bouton du même nom est placé tout en haut !

Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 16:43
par sharigan
merci de prendre votre temps precieux pour m'aider.en fait jai un page rechercherdemande.php dont le code source ci dessous affiche quelques information sur une demande de carte enregistrée dans la base de donnée et les liens modifier,suprimer et detail(pour plus d' information)qui renvoient respectivement vers une page de modification,de suppression et de details traiter par d'autre fichier php,ici detaildemande.php qui est censé m'afficher toutes les information de la table concernée mais au lieu de ça plutot le message d'erreur: Undefined index: iddemande in C:\wamp\www\ projet\detaildemande.php on line 7
code soure rechercherdemande.php
<?php
require_once 'connexionbdd.php';
if (isset($_POST['rechercher']))
{
// Vérification de la saisie du mot-clef
if(!empty($_POST['nom']))
{
// Récupération des variables
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$typecarte = $_POST['typecarte'];
// Création des requêtes de selection
$requete = "SELECT nom AS 'nom', prenom AS 'prenom', typecarte AS 'type carte' FROM demande WHERE nom LIKE '%$nom%' AND prenom LIKE '%$prenom%' AND typecarte LIKE '%$typecarte%' ";
$pdo = connexion();
$resultat = $pdo->query($requete);
if(!$resultat)
{
echo "Lecture impossible";
}
else{
$nbcol = $resultat->columnCount();
$nbuser = $resultat->rowCount();
if($nbuser == 0)
{
echo "<h3>Il n'y a aucune demande de ce type de carte enregistrée au nom ce client<h3>";
}
else{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC); // Tableau associatif
$titres = array_keys($ligne);
$ligne = array_values($ligne);
echo "<h3> Resultat de la recherche :<h3> ";
// Affichage des titres du tableau
echo "<table class=\"resultat\" border=\"1\"><tr>";
foreach($titres as $valeur)
{
echo "<th class=\"th\">".$valeur."</th>";
}
echo "<th class=\"th\"><img class=\"image\" src=\"modif.PNG\" alt=\"modifier\" /></th>
<th class=\"th\"><img class=\"image\" src=\"sup.PNG\" alt=\"supprimer\" /></th>
<th class=\"th\"><img class=\"image\" src=\"detail.png\" id=\"détail\" /></th></tr>";
// Affichage des valeurs du tableau
do
{
echo "<tr>";
foreach($ligne as $donnees)
{
echo "<td>".$donnees."</td>";
}
echo "<td class=\"bouton\"><a href=\"modifierdemande.php?id=".$valeur['iddemande']."\">Modifier</a></td>
<td class=\"bouton\"><a href=\"supprimerdemande.php?id=".$valeur['iddemande']."\">Supprimer</a></td>
<td class=\"bouton\"><a href=\"detaildemande.php?id=".$valeur['iddemande']."\">Details</a></tr>";
}
while($ligne = $resultat->fetch(PDO::FETCH_NUM));
echo "</table>";
}
$resultat->closeCursor();
$pdo = null;
}
}
}
?>
code source detaildemande.php
<?php
require_once 'connexionbdd.php';
// Récupération des variables
$iddemande=$_GET["iddemande"];
$requete = "SELECT * FROM demande WHERE iddemande=".$iddemande ;
$pdo = connexion();
$resultat = $pdo->query($requete);
if(!$resultat)
{
echo "Lecture impossible";
}
else
{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC); // Tableau associatif
}
?>
je crois que l'erreur est dans le second traitement
cordialement
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 16:54
par sharigan
si je me suis fai comprendre
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 17:08
par Spols
dans cette partie ci :
echo "<td class=\"bouton\"><a href=\"modifierdemande.php?id=".$valeur['iddemande']."\">Modifier</a></td>
<td class=\"bouton\"><a href=\"supprimerdemande.php?id=".$valeur['iddemande']."\">Supprimer</a></td>
<td class=\"bouton\"><a href=\"detaildemande.php?id=".$valeur['iddemande']."\">Details</a></tr>";
D'où viens ta variable $valeur['iddemande'] ?? car à mon avis elle n'est pas définie.
Ensuite, tu fabrique tes liens avec un attribut "id" et tu tente de récupèrer un attribut iddemande dans $_GET['iddemande']
ca ne colle pas.
Soit au moins 2 erreurs à corriger
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 17:40
par sharigan
merci pour ton aide.la seconde erreur est rectifiée.en ce qui concerne la premiére,la variable $iddemande=$_GET["id"] est recuperée je crois depuis la premiére page grace a GET?
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 17:45
par Spols
Dans ce cas, il te faut utiliser $iddemande plutot que $valeur['iddemande']
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 17:59
par sharigan
en fait la variable $valeur['iddemande']. vient de la premiére page ici
foreach($titres as $valeur)
{
echo "<th class=\"th\">".$valeur."</th>";
}
echo
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 18:07
par sharigan
ca m'affiche l'erreur Notice: Undefined index: id in C:\wamp\www\ projet\detaildemande.php on line 7
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 22 déc. 2015, 19:17
par sharigan
aprés modification voici mon code
detaildemande.php
<?php
require_once 'connexionbdd.php';
// Récupération des variables
$iddemande=$_GET["id"];
$requete = "SELECT * FROM demande WHERE iddemande=".$iddemande ;
$pdo = connexion();
$resultat = $pdo->query($requete);
if(!$resultat)
{
echo "Lecture impossible";
}
else
{
$ligne = $resultat->fetch(PDO::FETCH_ASSOC); // Tableau associatif
}
?>
et le message d'erreur: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 't' in 'where clause'' in C:\wamp\www\ projet\detaildemande.php on line 10
Re: [RESOLU] erreur de syntaxe Parse error: syntax error, unexpected '}' in C:\wamp\www\projet\detaildemande.php on line
Posté : 23 déc. 2015, 08:45
par Spols
en fait la variable $valeur['iddemande']. vient de la premiére page ici
foreach($titres as $valeur)
{
echo "<th class=\"th\">".$valeur."</th>";
}
echo
Si cela vient de là tu as un gros problème de compréhension.
Car soit $valeur est un tableau et peut-être que $valeur['iddemande'] est défini mais alors echo "<th class=\"th\">".$valeur."</th>"; t'affichera "<th class="th">array</th>"
Soit $valeur est un String( ou int ou float) et ton echo est correct mais tu n'obtiendra rien de bon avec $valeur['iddemande']
Dans tous les cas, lorsque tu veux récupèrer des variables GET, tu dois penser à la possibilité que l'on aile sur la page sans ces paramètres. et donc prévoir une exception dans le cas où $_GET['id'] est indéfini. soit une valeur par défaut soit une redirection, soit un message d'erreur.
$iddemande=(empty($_GET["id"]) ? 'valeur par défaut' : $_GET["id"];