Erreurs sur un script de forum
Posté : 23 août 2005, 17:04
Bonjour,
Je suis débutant en php et je suis en train de créer un petit script de forum très simple sur une seule page
.
La base de donnée contient les champs suivants :
|ID|sujet|resujet|pseudo|timestamp|
Voici le code de la page :
: Il ne fonctionne pas et affiche l'erreur suivante :
Parse error: parse error in /data/members/free/multimania/fr/p/r/o/progphp/htdocs/forum.php on line 30
L'erreur est peut être toute bête mais je ne la vois pas
!
Pouvez vous m'aider, m'indiquer ou se trouve l'erreur ou les autres si il y en a
?
Merci d'avance.
Je suis débutant en php et je suis en train de créer un petit script de forum très simple sur une seule page
La base de donnée contient les champs suivants :
|ID|sujet|resujet|pseudo|timestamp|
Voici le code de la page :
<?
mysql_connect("localhost", "monsite" ,"");//Connection à MySQL
mysql_select_db("progphp_db");//Selection de la base
$retour=mysql_query('SELECT * FROM forum');//$retour contient les information en vrac de la table forum
if(isset($_POST['sujet']) AND $_POST['action'] == nouveau)//Si $_POST['sujet'] existe...
{
$_POST['sujet'] = htmlentities($_POST['sujet'], ENT_QUOTES);//On sécurise les variables
$_POST['sujet'] = nl2br($_POST['sujet']);
$_POST['pseudo'] = htmlentities($_POST['pseudo'], ENT_QUOTES);
$_POST['pseudo'] = nl2br($_POST['pseudo']);
$_POST['post'] = htmlentities($_POST['post'], ENT_QUOTES);
$_POST['post'] = nl2br($_POST['sujet']);
mysql_query("INSERT INTO forum VALUES ('', '". $_POST['sujet'] ."', '". $_POST['sujet'] ."', '". $_POST['pseudo'] ."', '". $_POST['post'] ."', '". time() ."')");
}
if(isset($_POST['sujet']) AND $_POST['action'] == reponse)//Si $_POST['sujet'] existe...
{
$_POST['sujet'] = htmlentities($_POST['sujet'], ENT_QUOTES);//On sécurise les variables
$_POST['sujet'] = nl2br($_POST['sujet']);
$_POST['pseudo'] = htmlentities($_POST['pseudo'], ENT_QUOTES);
$_POST['pseudo'] = nl2br($_POST['pseudo']);
$_POST['post'] = htmlentities($_POST['post'], ENT_QUOTES);
$_POST['post'] = nl2br($_POST['sujet']);
mysql_query("INSERT INTO forum VALUES ('', 'rien', '". $_POST['sujet'] ."', '". $_POST['pseudo'] ."', '". $_POST['post'] ."', '". time() ."')");
}
if(isset($_GET['resujet']))//Si $_GET['resujet'] existe...
{
$retour2 = mysql_query('SELECT * FROM forum WHERE resujet=$_GET['resujet'] ORDER BY timestamp');//voici la ligne concernée par l'erreur
$donnees = mysql_fetch_array($retour2);
?>
<table width="600" border="1" cellspacing="0" bordercolor="#000000" align="center"><!--Tableau de titre-->
<tr bgcolor="#0099FF">
<td><b>Sujet : </b><? echo $donnees['sujet']; ?></td>
</tr>
</table>
<br><center><a href=forum.php>Retourner aux sujets</a></center>
<br>
<?
while($donnees2 = mysql_fetch_array($retour2))
{
?>
<table width="600" border="1" align="center" cellspacing="0" bordercolor="#000000"><!--Tableau affichant les posts-->
<tr>
<td colspan="2" bgcolor="#00CCCC"><b>Ecrit par :</b> <? echo $donnees2['pseudo']; ?></td>
<td width="168" bgcolor="#00FFFF"><b>Le</b> <? echo date('d/m/Y \à H\hi', $donnees2['timestamp']); ?></td>
</tr>
<tr>
<td colspan="3" bgcolor="#0099FF"><? echo $donnees2['post']; ?></td>
</tr>
</table>
<?
}
<form method="post" action="index.php?pageaf=forum" name="formulaire_nouveau_post">
<table width="600" border="1" align="center" cellspacing="0" bordercolor="#000000">
<tr bgcolor="#00CCCC">
<td colspan="3">
<p align="center"><b>Indiquez ici votre pseudo (limité à
15 caractère) :</b></p>
<p align="center">
<input type="text" name="pseudo" maxlength="15">
</p>
</td>
</tr>
<tr bgcolor="#0099FF">
<td colspan="3" width="600">
<div align="center">
<p align="left"><b><font face="Arial, Helvetica, sans-serif" size="2">Ecrivez
ici votre post (<font color="#FFFFFF">Attention : les balises html
ne sont pas autorisées mais vous pouvez passer à la
ligne normalement grâce à la touche entrer de votre clavier.</font>)
:</font></b></p>
<p align="center">
<textarea name="post" cols="110" rows="10"></textarea>
</p>
</div>
</td>
</tr>
<tr bgcolor="#00FFFF">
<td colspan="3">
<div align="center"><b><font face="Arial, Helvetica, sans-serif" color="#FF0000">Attention
:</font><font face="Arial, Helvetica, sans-serif"> Tout Post ne respectant
pas la <a href="charteforum.htm" target="_blank"><font color="#CC3300">charte</font></a>
sera effacé ! ! !<input type="hidden" name="action" value="reponse"></font></b></div>
</td>
</tr>
</table>
</form>
}
else
{
$retour3 = mysql_query('SELECT * FROM forum WHERE resujet=$_GET['sujet'] AND $_GET['sujet']!=rien ORDER BY timestamp');
while(donnees3 = mysql_fetch_array($retour3))
{
$retour4 = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM forum WHERE resujet=$donnees3['sujet']");
$donnees4 = mysql_fetch_array($retour4);
&donnees4['nbre_entrees'] = &donnees4['nbre_entrees']-1
?>
<table width="600" border="1" cellspacing="0" bordercolor="#000000" align="center">
<tr bgcolor="#0099FF">
<td colspan="4"><a href="index.php?pageaf=forum&resujet=<? echo &donnees3['sujet']; ?>><? echo &donnees3['sujet']; ?></a></td>
</tr>
<tr>
<td rowspan="3" width="33%" bgcolor="#00CCCC"><b>Posté par : </b><? echo &donnees3['pseudo']; ?></td>
<td rowspan="3" width="33%" bgcolor="#00FFFF"><b>Le </b><? echo date('d/m/Y \à H\hi', $donnees3['timestamp']); ?></td>
<td rowspan="3" width="36%" colspan="2" bgcolor="#00CCCC"><b>Nombre de réponses
: </b><? echo &donnees4['nbre_entrees']; ?></td>
</tr>
<tr> </tr>
<tr> </tr>
</table>
<?
}
?>
<form method="post" action="index.php?pageaf=forum" name="formulaire_nouveau_sujet">
<table width="600" border="1" align="center" cellspacing="0" bordercolor="#000000">
<tr bgcolor="#0099FF">
<td colspan="3">
<p align="center"><b>Entrez ici le titre votre nouveau sujet (limité
à 100 caractères) :</b></p>
<p align="center">
<input type="text" name="sujet" size="100" value="" maxlength="100">
</p>
</td>
</tr>
<tr bgcolor="#00CCCC">
<td colspan="3">
<p align="center"><b>Indiquez ici votre pseudo (limité à
15 caractère) :</b></p>
<p align="center">
<input type="text" name="pseudo" maxlength="15">
</p>
</td>
</tr>
<tr bgcolor="#0099FF">
<td colspan="3" width="600">
<div align="center">
<p align="left"><b><font face="Arial, Helvetica, sans-serif" size="2">Ecrivez
ici votre post (<font color="#FFFFFF">Attention : les balises html
ne sont pas autorisées mais vous pouvez passer à la
ligne normalement grâce à la touche entrer de votre clavier.</font>)
:</font></b></p>
<p align="center">
<textarea name="post" cols="110" rows="10"></textarea>
</p>
</div>
</td>
</tr>
<tr bgcolor="#00FFFF">
<td colspan="3">
<div align="center"><b><font face="Arial, Helvetica, sans-serif" color="#FF0000">Attention
:</font><font face="Arial, Helvetica, sans-serif"> Tout Post ne respectant
pas la <a href="charteforum.htm"><font color="#CC3300">charte</font></a>
sera effacé ! ! !
<input type="hidden" name="action" value="nouveau">
</font></b></div>
</td>
</tr>
</table>
</form>
<?
}
?>
Mais j'ai un souci avec ce code Parse error: parse error in /data/members/free/multimania/fr/p/r/o/progphp/htdocs/forum.php on line 30
L'erreur est peut être toute bête mais je ne la vois pas
Pouvez vous m'aider, m'indiquer ou se trouve l'erreur ou les autres si il y en a
Merci d'avance.