Authentificación de usuarios para foros

DeVoN

hola,
habe en mi web el sistema de authentificacion funciona correctamente. Y lo que quiero es usar el mismo sistema que uso para postear comentarios de noticias (que identifica al usuario registrado y al postear el comentario introduce su nick)
Pues lo mismo para postear en foros (que requiera estar authentificado) este es el codigo que he probado:

<?
echo '<div class="verdananormal"><a href="foro.php">
Categor&iacute;as</a> &#x9B;&#x9B; <a href="foro.php?categoria=1">Counter-Strike</a> &#x9B;&#x9B; Nuevo Tema<br>';
{
$qry = "SELECT * FROM users WHERE nick = '$datos[autor]'";
$rsp = mysql_query($qry);
while ($data = mysql_fetch_array($rsp))

echo "<form name=\"insertar_msg\" action=\"foro.php?categoria=insertar_msg\" method=\"post\">
<div class=\"verdananormal\"> ID: <I>
<I><br>
<I><br>
<textarea rows=\"5\" name=\"mensaje\" cols=\"48\"></textarea><br>
<I></div>
</form>";
}
?>

Pues no funciona, ayudarme para ver como puedo hacer que identifique el usuario y eso...Y que puedan postear.

Quizas sea cutre el codigo y eso...Pero es lo que hay, mucha idea de php no tengo xD Pero que sin esto:

<? {
$qry = "SELECT * FROM users WHERE nick = '$datos[autor]'";
$rsp = mysql_query($qry);
while ($data = mysql_fetch_array($rsp)) } ?>

El foro funciona perfectamente, nada mas que se puede ingresar cualquier nick y no requiere estar identificado. thx ! y habe si me podeis ayudar :D

cabron
  • No compruebas el resultado de la consulta a la base de datos, tanto si devuelve 1 registro como 0, el código que muestra el formulario para postear se muestra. (de echo creo que si no devuelve ningun resultado te peta si usas el identificador del resutado con las funciones fetch pero de esto no estoy seguro). Añade un "if" y comprueba cuantos registros a devuelto la consulta y que solo se ejecute el código del formulario si la consulta ha devuelto un registro (suponiendo que no permitas nicks repetidos).

  • Otro error que tienes es que solo compruebas el nombre de usuario, pero no ninguna contraseña, asi que cualquiera puede postear en nombre de otra persona.

Abreu

Yo tambien pondria un IF en lugar de WHILE, y cuidado con lo de la contraseña, aunque parece que eso lo compruebas antes, no?

Usuarios habituales

  • Abreu
  • cabron
  • DeVoN