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.