Buenas a todos, y feliz año nuevo :D
Bueno he ehcho un foro en php pero tengo alguno problemas, primero os explico como funciona.
Base de datos llamada: Foro; una tabla que se llama queixes.
De acuerdo? Okah
Bueno ahora el funcionamento:
Desde un formulario recojo el usuario, la contraseña (que estan en otra base de datos), el titulo del mensaje y el mensaje .
Seguidamente dentro de de la tabla queixes, la relleno con la información referente al mensaje: Usuario, fecha,hay respuesta? y el titulo del mensaje. Y creo otra tabla, con el nombre del titulo del mensaje, en la base de datos foro
Asi creo un listado con todos los mensajes y su información. Y cuando kiero ver uno en concreto clica el titulo del mensaje, en el listado, y me muestra el contenido de la base de datos q tiene el mismo nombre que el mensaje.
Y para hacer el sistema de respuestas algo muy parecido, solo que lo voy insertando en la misma tabla.
Hasta ahí bien, no?
Bueno los problemas son dos:
El titulo del mensaje, no puede tener mas de una palabra, pq sino no me crea la tabla que permitira ver el contenido del mensaje.
Alguien sabe que puedo hacer?
El otro problema, es que cuando en el mensaje introduzco un salto de linea, me lo muestra con un espacio.
A no ser que haga servir html para escribir el mensaje y use <br></br>, pero convendreis conmigo que no queda nada estetico hacer escribir eso.
Alguien sabe como se puede solucionar todo eso?
En fin os pongo los scripts que uso, os pongo tb el de los formularios aunque tp haría falta.
FORMULARIO PARA CREAR UN MENSAJE:
<form method="post" action="insert2.php">
<font color="#FFFFFF"><b>USUARI</b></font><br>
<input type="text" name="nom" size="20"><br>
<font color="#FFFFFF"><b>CONTRASENYA</b></font><br>
<input type="password" name="password" size="20"><br>
<font color="#FFFFFF"><b>ASSUMPTE</b></font><br>
<input type="text" name="assumpte" size="20"><br>
<font color="#FFFFFF"><b>CONTINGUT</b></font><br>
<textarea name="contingut" rows="20" cols="40"></textarea><br><br>
<input type="submit" value="Entrar">
</form>
<body bgcolor="#003366">
SCRIPT PHP:
<?
$date=date("j/m/y");
mysql_connect("localhost","imladris","recerca");
$ssql="select *from alumnes where nom='$nom'";
$result= mysql_db_query("bosca",$ssql);
while($row=mysql_fetch_array($result))
{
if($row["password"]==$password)
{
$ssql="create table $assumpte(titol varchar(100),Autor varchar(100) ,data varchar(100) ,contingut longtext)";
mysql_db_query("foro","insert into queixes(Nom,Autor,data) values ('$assumpte','$nom','$date')");
mysql_db_query("foro",$ssql);
mysql_db_query("foro","insert into $assumpte(titol,Autor,data,contingut) values ('$assumpte','$nom','$date','$contingut')");
echo'<body bgcolor="#003366">';
echo'<palign="center"><font size="5" color="#FFFFFF"><b>
<a style="color: #FFFFFF" href="queixes.php">Veure els Missatges</a></b></font></p>';
}
else
{
echo "incorrecte";
}
}
?>
FORMULARIO DE RESPUESTA:
<?
echo'
<form method="post" action="resp2.php?missatge='.$missatge.'">
<font color="#FFFFFF"><b>USUARI</b></font><br>
<input type="text" name="nom" size="20"><br>
<font color="#FFFFFF"><b>CONTRASENYA</b></font><br>
<input type="password" name="password" size="20"><br>
<font color="#FFFFFF"><b>ASSUMPTE</b></font><br>
<input type="text" name="assumpte" size="20"><br>
<font color="#FFFFFF"><b>CONTINGUT</b></font><br>
<textarea name="contingut" rows="20" cols="40"></textarea><br><br>
<input type="submit" value="Entrar">
</form>
<body bgcolor="#003366">';
?>
SCRIPT PHP PARA INTRODUCIR EN LA BD La RESPUESTA:
<?
$date=date("j/m/y");
mysql_connect("localhost","imladris","recerca");
$ssql="select *from alumnes where nom='$nom'";
$result= mysql_db_query("bosca",$ssql);
while($row=mysql_fetch_array($result))
{
if($row["password"]==$password)
{
mysql_db_query("foro","insert into $missatge(titol,Autor,data,contingut) values ('$assumpte','$nom','$date','$contingut')");
}
else
{
echo "incorrecte";
}
}
?>
DONDE APARECEN EL LISTADO DE MENSAJES:
<?
mysql_connect("localhost","imladris","recerca");
$res=mysql_db_query("foro","select *from queixes");
echo'<body bgcolor="#003366">
<a style="color: #FFFFFF" href="insert.php">Nou missatge</a></font></b></p>
<table align="left" width="561" border="3" bordercolor="#FFFFFF" cellspacing="1" bordercolordark="#000066" bordercolorlight="#336699">
<tr>
<th width="86"><font color="#FFFFFF">Titol</font></th>
<th width="127"><font color="#FFFFFF">Autor</font></th>
<th width="115"><font color="#FFFFFF">Respostes</font></th>
<th width="215"><font color="#FFFFFF">Data</font></th>
</tr>';
while ($mec=mysql_fetch_array($res))
{
echo '<tr><td><font color="#FFFFFF"><a style="color: #FFFFFF" href="missatges.php?missatge='.$mec["Nom"].'">'.$mec["Nom"].'</a></font></td>';
echo '<td><font color="#FFFFFF">'.$mec["Autor"].'</font></td>';
echo '<td><font color="#FFFFFF">'.$mec["respostes"].'</font></td>';
echo '<td><font color="#FFFFFF">'.$mec["data"].'</font></td></tr>';
}
echo'</table>
</body>';
?>
PARA MOSTRAR UN MENSAJE EN CONCRETO:
<?
mysql_connect("localhost","imladris","recerca");
$res=mysql_db_query("foro","select *from $missatge");
echo' <body bgcolor="#003366">';
echo'
<table align="left" width="561" border="3" bordercolor="#FFFFFF" cellspacing="1" bordercolordark="#000066" bordercolorlight="#336699" height="24">
<tr>
<th width="86" height="19"><font color="#FFFFFF">Títol</font></th>
<th width="127" height="19"><font color="#FFFFFF">Autor</font></th>
<th width="115" height="19"><font color="#FFFFFF">data</font></th>
th width="86" height="19"><font color="#FFFFFF">Contingut</font></th>
</tr>';
while ($mec=mysql_fetch_array($res))
{
echo'<tr><td><font color="#FFFFFF">'.$mec["titol"].'</font></td>';
echo'<td><font color="#FFFFFF">'.$mec["Autor"].'</font></td>';
echo'<td><font color="#FFFFFF">'.$mec["data"].'</font></td>';
echo'<td><font color="#FFFFFF">'.$mec["contingut"].'</font></td>';
echo'</table><br><br><br><br><br><br><br><br><br>';
}
echo'<p><b><font color="#FFFFFF"><a style="color: #FFFFFF" href="resp.php?missatge='.$missatge.'">RESPONDRE</a></font></b></p>';
echo'</body>';
?>
Bueno espero que me podais ayudar, muchisimas gracias y feliz año nuevo, de nuevo
Joan