Bueno, cuando dije que no me funcionaba if(!$result), me refería a que ya había corregido lo de la falta del $, y seguía sin funcionar. cuando lo pongo así, actúa como si siempre fuera correcto el login, es decir, siempre va al else.
Twonex, tu código presenta exáctamente el mismo problema que el mío, es decir, ejecuta bien el if, pero no presenta los valores del nick y la contraseña.
Nonpublic, lo mismo.
No entiendo cómo al poner el mismo código del ejemplo no me funciona.
estoy haciendo pruebas y me pasan cosas más raras. Por ejemplo, para simplificar pongo este código:
Código:
<?php
$link = mysql_connect ("localhost", "root", "");
mysql_select_db ("dbimagenes", $link);
$result = mysql_query ("select nick, contraseña from autores WHERE nick='pacoruiz' AND contraseña='fulanito'");
$fila = mysql_fetch_assoc($result);
$valor=$fila["nick"] ;
echo " $valor";
?>
Y me escribe pacoruiz, lo que hace pensar que el $fila = mysql_fetch_assoc($result);
está bien y el problema está en el select, pero ahora pongo este código:
Código:
<?php
$lognick=$_POST['usuario'];
$logpass=$_POST['contrasena'];
$link=mysql_connect("localhost","root","");
mysql_select_db(dbimagenes,$link);
$result = mysql_query ("select nick, contraseña from autores WHERE nick='pacoruiz' AND contraseña='fulanito'");
if (mysql_num_rows($result) == '0'){
echo "sin resultado";
}
else{
$fila = mysql_fetch_assoc($result);
$valor=$fila["nick"] ;
echo "$valor";
echo "aqui estoy";
}
?>
Y me escribe sin resultado. No tiene sentido porque la consulta es la misma, la que sí encontraba el registro en el código anterior, y similar a la que funcionaba bien en el if en el código inicial. Parece que las cosas funcionan cuando les da la gana.