T_LNUMB
Résolu
frans2526
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
frans2526 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
frans2526 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit probleme avec mon code, Parse error: syntax error, unexpected T_LNUMBER in liste_news.php on line 84
J'ai beau regardé pendant des minutes cherché sur internet ou j'ai lu que c'était un problème de virgule.Mais rien ne focntionne.Pouvez-vous m'aider ?
<?php
session_start() ;>
<?php include ('ad_titre.php');?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
include("connexion.php");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$sql = "SELECT valide FROM news";
$donnees['valide']=$sql;
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "','1')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
if (isset($_GET['validation_news']))
{
mysql_query("UPDATE news SET valide="1" WHERE id='" . $_POST['id_news'] . "'"); // le problème se situe ICI
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Validation</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php if ($donnees['valide'] == 1){
echo ("Cette news est validé"); }
else
{ ?><a href="liste_news.php?validation_news=' . $donnees['id'] . '"><?php echo ("Cette news n'est pas encore validé");?></a><?php } ?></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php include("bas.php"); ?>
j'ai un petit probleme avec mon code, Parse error: syntax error, unexpected T_LNUMBER in liste_news.php on line 84
J'ai beau regardé pendant des minutes cherché sur internet ou j'ai lu que c'était un problème de virgule.Mais rien ne focntionne.Pouvez-vous m'aider ?
<?php
session_start() ;>
<?php include ('ad_titre.php');?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
h2, th, td
{
text-align:center;
}
table
{
border-collapse:collapse;
border:2px solid black;
margin:auto;
}
th, td
{
border:1px solid black;
}
</style>
</head>
<h2><a href="rediger_news.php">Ajouter une news</a></h2>
<?php
include("connexion.php");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$sql = "SELECT valide FROM news";
$donnees['valide']=$sql;
// On vérifie si c'est une modification de news ou pas
if ($_POST['id_news'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "','1')");
}
else
{
// On protège la variable "id_news" pour éviter une faille SQL
$_POST['id_news'] = addslashes($_POST['id_news']);
// C'est une modification, on met juste à jour le titre et le contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
{
// Alors on supprime la news correspondante
// On protège la variable "id_news" pour éviter une faille SQL
$_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
}
if (isset($_GET['validation_news']))
{
mysql_query("UPDATE news SET valide="1" WHERE id='" . $_POST['id_news'] . "'"); // le problème se situe ICI
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Validation</th>
<th>Titre</th>
<th>Date</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
{
?>
<tr>
<td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php if ($donnees['valide'] == 1){
echo ("Cette news est validé"); }
else
{ ?><a href="liste_news.php?validation_news=' . $donnees['id'] . '"><?php echo ("Cette news n'est pas encore validé");?></a><?php } ?></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les news
?>
</table>
<?php include("bas.php"); ?>
3 réponses
Bonjour.
mysql_query("UPDATE news SET valide="1" WHERE id='" . $_POST['id_news'] . "'"); // le problème se situe ICI
Une petite remarque : c'est bien de mettre en commentaire où se trouve le problème, mais j'ai eu du mal à le trouver. Essaye de le mettre en avent (avec la balise gras, par exemple)...
Le problème est ici :
mysql_query("UPDATE news SET valide="1
Tu indiques à php que la chaine de caractères se finit, puis tu mets un 1...
Suivant le type de champ valide, s'il est numérique mets simplement
"UPDATE news SET valide=1 WHERE id='" . $_POST['id_news'] . "'"
Et s'il est alphanumérique, mets le entre simples quotes :
"UPDATE news SET valide='1' WHERE id='" . $_POST['id_news'] . "'"
Pour éviter ce genre de problèmes (ou en tout cas les voir plus facilement) utilise un éditeur de texte à coloration syntaxique. Avec Notepad++, par exemple, j'ai vu le prblème en quelques secondes...
mysql_query("UPDATE news SET valide="1" WHERE id='" . $_POST['id_news'] . "'"); // le problème se situe ICI
Une petite remarque : c'est bien de mettre en commentaire où se trouve le problème, mais j'ai eu du mal à le trouver. Essaye de le mettre en avent (avec la balise gras, par exemple)...
Le problème est ici :
mysql_query("UPDATE news SET valide="1
Tu indiques à php que la chaine de caractères se finit, puis tu mets un 1...
Suivant le type de champ valide, s'il est numérique mets simplement
"UPDATE news SET valide=1 WHERE id='" . $_POST['id_news'] . "'"
Et s'il est alphanumérique, mets le entre simples quotes :
"UPDATE news SET valide='1' WHERE id='" . $_POST['id_news'] . "'"
Pour éviter ce genre de problèmes (ou en tout cas les voir plus facilement) utilise un éditeur de texte à coloration syntaxique. Avec Notepad++, par exemple, j'ai vu le prblème en quelques secondes...
Désolé pour ce manque de rigeur je n'oublierais pas la prochaine fois.
Mais maintetant quand j'appuie sa ne fais plus rien.Avant sa me validais toutes mes news, c'est pour cela que j'ai mis le "WHERE".Mais sa ne fonctionne plus.
valide=1 est un nombre numérique vu que dans la table il est a zéro sauf si je valide.
Mais maintetant quand j'appuie sa ne fais plus rien.Avant sa me validais toutes mes news, c'est pour cela que j'ai mis le "WHERE".Mais sa ne fonctionne plus.
valide=1 est un nombre numérique vu que dans la table il est a zéro sauf si je valide.