Comunidad PHPeros

Lenguajes => PHP => Mensaje iniciado por: Ishamato en 15 de Octubre de 2006, 19:25:07 pm

Título: Modificación del pfusers 3.2
Publicado por: Ishamato en 15 de Octubre de 2006, 19:25:07 pm
Como muchos sabrán, el sistema de usuarios pfusers 3.2 no brilla por su comodidad y su clase pero para los programadores que estamos empezando, va bastante bien ^^

Me gustaría añadirle:

- Envio de puntos a usuarios desde el panel de administrador
- Mostrar todos los usuarios conectados en una tabla (Como la gran mayoría de membresías)

¿Podrían ayudarme a crear un código para hacer lo que me gustaría añadir?
Título: Re: Modificación del pfusers 3.2
Publicado por: Raken en 15 de Octubre de 2006, 19:32:42 pm
Claro, pregunta.  ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: Pc-Admin en 15 de Octubre de 2006, 20:06:22 pm
Raken te a respondido perfectamente
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 16 de Octubre de 2006, 00:01:38 am
Pues veamos..
¿Como debería empezar?  :-\

Es decir primero tengo que saber hacer en español para traducirlo al php..
Quiero que envie puntos des de la página enviar_puntos.php (Será este el nombre que le pondré)
Tengo que hacer que compruebe que soy el admin, así que le haré pedir mi nombre y contraseña.
Que se conecte a la base de datos y que compruebe que existo y que soy el administrador.

¿Como podríamos empezar? ::)
Título: Re: Modificación del pfusers 3.2
Publicado por: Raken en 16 de Octubre de 2006, 00:25:06 am
Pero... el pfUsers no tiene ya lo de los puntos?

Empieza por crear una tabla llamada admin y guarda los dos valores (admin y contraseña)
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 16 de Octubre de 2006, 00:35:51 am
Ok y sí que tenía un Addon que enviaba los puntos pero no lo encuentro por ningún lugar :S
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 18:02:42 pm
A ver, primero de todo tengo que conectar con la base.. como ya la tengo instalada no me hace falta crear una tabla

Citar

<?php
include("config.php");
//Le decimos a la base de datos que solo entre el administrador
$query = mysql_query("SELECT * FROM usuarios WHERE id='$administrador'");
$datos = mysql_fetch_array($query);

if($datos[contrasena] == $_COOKIE[contrasena]){

?>
<title>Enviar Puntos</title>
//¿Que debería poner en la variable enviar_puntos?
$enviar_puntos =
//Aquí supongo que debería ir una función que me diese a elegir el usuario
//Y aquí debería ir la cantidad de puntos que me gustaría enviarle
<?
} else {

error("Solo el administrador puede acceder a esta sección","1");

}
?>

Dudo que lo haya echo bien pero bueno.. díganme como seguir y corrijanme si me equivoco plz
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:06:08 pm
Can you help me? ???

Esque no se si hize bien el código y no se como contiunuar :-\
Título: Re: Modificación del pfusers 3.2
Publicado por: naveda en 17 de Octubre de 2006, 19:09:26 pm
¿Que es lo que quieres que haga tu codigo?, explicanoslo ya que no somos adivinos.. Al menos, yo no lo soy xD.
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:13:16 pm
Pues bien, quiero que mi código envie puntos a los usuarios registrados.

Que cuando abra el enviar_puntos.php

Me salga una tabla que ponga Usuario: y que tenga que escribir su nombre y otra tabla que ponga Puntos: para poner la cantidad de puntos que quiero mandarle ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: naveda en 17 de Octubre de 2006, 19:22:28 pm
El formulario sería tal que...:
Código: [Seleccionar]
<form method="POST" action="enviar_puntos.php">
Nombre de Usuario: <input type="text" name="usuario"><br>
Puntos para Enviar: <input type="text" name="puntos"><br>
<input type="submit" name="puntuar" "Enviar Puntos">

El codigo PHP sería..:
<?PHP
if (isset($_POST['puntuar'])) {
if (isset($_POST['usuario']) && isset($_POST['puntos'])) {
$query = mysql_query("SELECT * FROM `usuarios` WHERE nick = '".$_POST['usuario']."'");
if (mysql_num_rows($query)) {
mysql_query("UPDATE `usuarios` SET puntos = puntos+".$_POST['puntos']." WHERE nick = '".$_POST['usuario']."'");
echo "Se han añadido ".$_POST['puntos']." al usuario ".$_POST['usuario'];
} else {
echo "El usuario al que quiere enviar los puntos no existe";
}
} else {
echo "No has escrito el usuario o lo puntos que quieres enviar.";
}
} else {
?>
<form method="POST" action="enviar_puntos.php">
Nombre de Usuario: <input type="text" name="usuario"><br>
Puntos para Enviar: <input type="text" name="puntos"><br>
<input type="submit" name="puntuar" "Enviar Puntos">
<?
}
?>
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:31:19 pm
naveda te quiero! Eres la solución a mis quebraderos de cabeza ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:34:12 pm
ê_ê me da el siguiente error:

Citar
Warning: mysql_query(): Access denied for user 'admin109952'@'localhost' (using password: NO) in /home/virtual/sitio109952/www/enviar_puntos.php on line 4

Warning: mysql_query(): A link to the server could not be established in /home/virtual/sitio109952/www/enviar_puntos.php on line 4

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/virtual/sitio109952/www/enviar_puntos.php on line 5
El usuario al que quiere enviar los puntos no existe
What happends?
Título: Re: Modificación del pfusers 3.2
Publicado por: naveda en 17 de Octubre de 2006, 19:37:17 pm
...
por favor..., vosotros cuando veis un error no leeis?, aunque este en ingles... xD
Citar
Access denied for user 'admin109952'@'localhost'
A link to the server could not be established

Esto nos indica claramente que no se ha conectado a la base de datos..., incluye el archivo conectar.php o conexion o el que uses.

include("config.php"); Sacado de un codigo tuyo... -.-
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:38:52 pm
Citar
<include ("conectar.php")>
???
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 17 de Octubre de 2006, 19:40:51 pm
En este seria config.php  ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 17 de Octubre de 2006, 19:43:52 pm
El Código Sería
 <?PHP

include("config.php");

if (isset($_POST['puntuar'])) {
if (isset($_POST['usuario']) && isset($_POST['puntos'])) {
$query = mysql_query("SELECT * FROM `usuarios` WHERE nick = '".$_POST['usuario']."'");
if (mysql_num_rows($query)) {
mysql_query("UPDATE `usuarios` SET puntos = puntos+".$_POST['puntos']." WHERE nick = '".$_POST['usuario']."'");
echo "Se han añadido ".$_POST['puntos']." al usuario ".$_POST['usuario'];
} else {
echo "El usuario al que quiere enviar los puntos no existe";
}
} else {
echo "No has escrito el usuario o lo puntos que quieres enviar.";
}
} else {
?>
<form method="POST" action="enviar_puntos.php">
Nombre de Usuario: <input type="text" name="usuario"><br>
Puntos para Enviar: <input type="text" name="puntos"><br>
<input type="submit" name="puntuar" "Enviar Puntos">
<?
}
?>
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 17 de Octubre de 2006, 19:45:57 pm
Ya ya, ahora me di cuenta ;)

Gracias por vuestra ayuda :)
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 17 de Octubre de 2006, 19:48:03 pm
De nana  :P Pero creo que una gran parte se la lleva Naveda  :-* :-*  :D :D
Título: Re: Modificación del pfusers 3.2
Publicado por: Raken en 17 de Octubre de 2006, 20:30:41 pm
De nana  :P Pero creo que una gran parte se la lleva Naveda  :-* :-*  :D :D

Naveda?? Por??  xD
Título: Re: Modificación del pfusers 3.2
Publicado por: naveda en 17 de Octubre de 2006, 22:15:01 pm
Por que yo lo he hecho xD el solo ha dicho lo mismo que yo xDD
Título: Re: Modificación del pfusers 3.2
Publicado por: Raken en 18 de Octubre de 2006, 15:48:29 pm
Por que yo lo he hecho xD el solo ha dicho lo mismo que yo xDD

.......

Yo no sé qué ha pasado últimamente al visitar el foro, que no salía todo. Estuve como 5 minutos buscando tu aportación a este tema y no encontré nada. Ahora tal como lo dices ahí está. Igual con TLX, quien afirma que en su POST ya había explicado el código desde el principio (y yo repliqué diciendo que no pusiera códigos de otros sitios...). Ahora miro, y veo más del doble de lo que veía antes.  :o

Muy raro...
Título: Re: Modificación del pfusers 3.2
Publicado por: Keon en 18 de Octubre de 2006, 19:31:37 pm
Y esto donde lo poneis, xD no me entero de nada jejeje
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 18 de Octubre de 2006, 20:40:07 pm
Pues, cuando tienes instalado el pfusers 3.2 y quieres enviar puntos a los usuarios registrados, subes ese archivo donde tengas los archivos del pfusers 3.2 y cuando lo ejecutes podrás enviar puntos al usuario que le hayas indicado ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 19 de Octubre de 2006, 18:23:41 pm
El problema, esque al enviar los puntos, me sale la pagina de ERROR NO ENCONTRADO. He probado con un link a otra pagina, pero no completa la accion  ???
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 19 de Octubre de 2006, 18:43:45 pm
Posiblemente se deba porque tienes tu carpeta subida en registrousuarios/enviar_puntos.php
o algo parecido.
El registro de usuarios debe estar en la principal, que no vaya precedida por ninguna carpeta, es decir, que las carpetas admin, buttons etc se queden como carpetas pero todo lo que está dentro de la carpeta de registro vaya sin ninguna carpeta.
Si usas gratishost, debería ir en la carpeta www que es la predeterminada.
No se si me explico, donde cuelgues los ficheros pon ahí todos los archivos del registro (las carpetas como admin etc deben seguir estando en carpetas) ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 19 de Octubre de 2006, 18:47:51 pm
Lo tengo, en RegistroUsuarios32/enviar_puntos.php  xD Gracias
=)
Título: Re: Modificación del pfusers 3.2
Publicado por: RamFu en 19 de Octubre de 2006, 18:48:33 pm
Esque, a mi me interesan, los ADDONS, de Cambiar Estado, y Grupos de Usuarios
Título: Re: Modificación del pfusers 3.2
Publicado por: -RiPeRcOp- en 24 de Octubre de 2006, 17:11:20 pm
Muy Lindo EL Aporte lo pondre en practica, ahora yo tengo otra duda, en el sistema pfUser 3.2 hay un error cuando vos poner los users online, salta un error de comunicacion con la base de datos , especificamente en el $query y aun no descubro el error esta desde el principio es un error de fabrica xD
Título: Re: Modificación del pfusers 3.2
Publicado por: Ishamato en 24 de Octubre de 2006, 20:03:40 pm
-RiPeRcOp- aquí te mando el código correcto.
Debes borrar todo el código del archivo pfvariables.php y poner este:
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] = "encriptada";
$userinfo[fecha_nac] = $info[n_dia] . "/" . $info[n_mes] . "/" . $info[n_ano];
$userinfo[fecha_txt] = date("d/m/y",$userinfo[fecha]);
$userinfo[ult_conexion_txt] = date("d/m/y",$userinfo[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>";
}
}

?>
Espero que te sirva ;)
Título: Re: Modificación del pfusers 3.2
Publicado por: -RiPeRcOp- en 25 de Octubre de 2006, 03:37:23 am
Gracias lo probare
Título: Re: Modificación del pfusers 3.2
Publicado por: Pc-Admin en 25 de Octubre de 2006, 14:10:48 pm
Bueno, se que llego un poco tarde pero bueno....
Aqui PONGO y  EXPLICO un codigo mas sencillo para sumar fichas:


<?
include("config.php"); //incluimos config
include("login.php");  //incluimos el login
if($_POST[sumar]){  /comprovamos submit para la suma
$nick = $_POST[nick];  /comprovamos el nick
$cantidad = $_POST[cantidad];  //comprovamos la cantidad a sumar
// actualizamos la tabla puntos sumandole la cantidad al nick seleccionado
mysql_query("UPDATE usuarios SET puntos=puntos+$cantidad WHERE nick='$_POST[nick]'");
echo"<center><b>Los puntos se han sumado Correctamente.</b></center>";
} else {
echo"<center><b>No se han podido sumar los puntos.b></center>";
}
?>
Título: Re: Modificación del pfusers 3.2
Publicado por: naveda en 25 de Octubre de 2006, 15:02:47 pm
La respuesta fue dada cierro tema porque este es uno de esos que siguen y siguen...