ayuda con un script de usuarios en php

Iniciado por ahaugas, 10 Noviembre 2008, 13:20 PM

0 Miembros y 1 Visitante están viendo este tema.

ahaugas

hola buenas, mira estoy haciendo un script de usuarios

Caracteristicas:
- Pagina de registro
- Pagina de Login
- Editar perfil
- Mensajes privados
- Listado de usuarios
- Estadisticas de usuarios
- Usuarios on-line
- Recordatorio de contraseñas
- Sistema de puntos
- Mensaje a todos los usuarios o a usuarios con el boletin activado por mensaje privado o por e-mail
- Administrador
- Pack de idiomas (Catalan , Español, English)
- Estilos
pero tengo el siguiente problema al acceder como usuario o admin que sale esto
CitarWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhost/xxxxxxxxxx/home/html/usuarios/pfvariables.php on line 94
| admin |
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhost/xxxxxxxxxx/home/html/usuarios/pfvariables.php on line 92
y el codigo de esa pagina es:
Citar<?php

/* Funciones */
if(!function_exists("pf_Stats")){
function pf_Stats(){

global $pagina, $get;

echo STATS_."<br>";

$query_tot=mysql_query("SELECT * FROM usuarios");
$total = mysql_num_rows($query_tot);

echo _TOTAL_USUARIOS . " " . $total."<br>";

$query_ult=mysql_query("SELECT * FROM usuarios ORDER BY id DESC LIMIT 1");
$ultim=mysql_fetch_array($query_ult);
if(!$pagina or !$get){ echo"NO HAY VARS"; }
echo _ULTIMO_USUARIO . " <a href='" . $pagina . "?" . $get ."=registrados&u=".$ultim[id]."'>" . $ultim[nick] . "</a><br>";

}
}
/* La variable de pfUsers es $userinfo[ + nombre del campo + ]; */

if($_COOKIE[nick] && $_COOKIE[contrasena] && $_COOKIE[id]){

$query = mysql_query("SELECT * FROM usuarios WHERE nick='$_COOKIE[nick]' and contrasena='$_COOKIE[contrasena]' and id='$_COOKIE[id]'");
$count = mysql_num_rows($query);

if($count != 1){
   exit("Sesión erronea. Finalizando página...");
}

$userinfo = mysql_fetch_array($query);

$userinfo[ult_conexion] = $userinfo[conectado];
if($info[sexo] == 0){ $userinfo[sexo_txt] ="Masculino"; } else { $userinfo[sexo_txt]="Femenino"; }
$userinfo[contrasena] = "cifrada";
$userinfo[fecha_nac] = $info[n_dia] . "/" . $info[n_mes] . "/" . $info[n_ano];
$userinfo[fecha_txt] = date("d/m/y",$unserinfo[fecha]);
$userinfo[ult_conexion_txt] = date("d/m/y",$unserinfo[conectado]);

}

if(!function_exists("pf_Online")){
function pf_Online(){

global $pagina, $get;

$fecha = time() ;
$tiempo = 10 ;
$tiempo = $fecha-$tiempo*60 ;
$ip = $REMOTE_ADDR ;
$usuario = $_COOKIE[nick] ;
mysql_query("DELETE FROM enlinea WHERE fecha < $tiempo") ;

$query = mysql_query("SELECT ip FROM enlinea WHERE ip='$ip'") ;
if(mysql_num_rows($query) == 0) {
mysql_query("INSERT INTO enlinea VALUES ('$ip','anonimo','$fecha','anonimo')") ;
}
else {
mysql_query("UPDATE enlinea SET fecha='$fecha' WHERE ip='$ip'") ;
}

if($_COOKIE[nick]) {
$query = mysql_query("SELECT * FROM enlinea WHERE usuario='$usuario'") ;
if(mysql_num_rows($query) == 0) {
mysql_query("INSERT INTO enlinea VALUES ('$ip','$usuario','$fecha','usuario')") ;
}
else {
mysql_query("UPDATE enlinea SET fecha='$fecha' WHERE usuario='$usuario'") ;
}
}

/* Usuarios en linea */
$query=mysql_query("SELECT * FROM enlinea WHERE tipo = 'usuario'");
$usuarios =mysql_num_rows($query);
/* Anónimos */
$query = mysql_query("select * from enlinea where usuario = 'anonimo'") ;
$anonimos = mysql_num_rows($query) ;
/* total */
$query=mysql_query("select * from enlinea");
$total = mysql_num_rows($query);

echo ONLINE_."<br>";
echo TOTAL_ONLINE . " " . $total . "<br>";
echo TOTAL_ANONIMOS . " " . $anonimos . "<br>";
echo TOTAL_USUARIOS . " " . $usuarios;
echo"<br>";
echo"<marquee>";
$query=mysql_query("SELECT * FROM enlinea WHERE tipo = 'usuario'");
while($datos = mysql_fetch_array($query)){
$query=mysql_query("SELECT * FROM usuarios WHERE nick = '$datos[usuario]')");
$userdata = mysql_fetch_array($query);
   echo "| <a href='".$pagina."?".$get."=registrados&u=".$userdata[id]."'>".$datos[usuario]."</a> | ";

}
echo"</marquee>";
}
}

?>
la linea 92:
Citarwhile($datos = mysql_fetch_array($query)){
y la linea 94:
Citar$userdata = mysql_fetch_array($query);
y no tengo mucha idea de programacion pero si me podeis ayudar porfavor y cuando lo termine os puedo pasar el script si me lo pedis

no subestimar al mas debil ya que tendra otras experiencias

alone-in-the-chat

Revisa esta parte

Código (php) [Seleccionar]

while($datos = mysql_fetch_array($query)){
$query=mysql_query("SELECT * FROM usuarios WHERE nick = '$datos[usuario]')");
$userdata = mysql_fetch_array($query);
   echo "| <a href='".$pagina."?".$get."=registrados&u=".$userdata[id]."'>".$datos[usuario]."</a> | ";

}


El error es mas que claro , ademas estas sobreescribiendo el valor de $query dentro del array.
Haz un echo de esta parte ( "SELECT * FROM usuarios WHERE nick = '$datos[usuario]')" ),
para que veas que es lo que estas enviandole al mysql exactamente.


Saludos¡¡
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

ahaugas

a vale ya lo he encontrado era un parentesis de mas jejejeje gracaias pero ahora no puedo poner el <? include("config.php"); ?> bueno mejor dicho no se ve el login y el menu para ingresar la estructura es html pero he puesto eso <? include("config.php"); ?> y lo he convertido en php pero no me sale nada nuevo sino en blanco
no subestimar al mas debil ya que tendra otras experiencias