Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado 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?
-
Claro, pregunta. ;)
-
Raken te a respondido perfectamente
-
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? ::)
-
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)
-
Ok y sí que tenía un Addon que enviaba los puntos pero no lo encuentro por ningún lugar :S
-
A ver, primero de todo tengo que conectar con la base.. como ya la tengo instalada no me hace falta crear una tabla
<?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
-
Can you help me? ???
Esque no se si hize bien el código y no se como contiunuar :-\
-
¿Que es lo que quieres que haga tu codigo?, explicanoslo ya que no somos adivinos.. Al menos, yo no lo soy xD.
-
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 ;)
-
El formulario sería tal que...:
<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">
<?
}
?>
-
naveda te quiero! Eres la solución a mis quebraderos de cabeza ;)
-
ê_ê me da el siguiente error:
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?
-
...
por favor..., vosotros cuando veis un error no leeis?, aunque este en ingles... xD
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... -.-
-
<include ("conectar.php")>
???
-
En este seria config.php ;)
-
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">
<?
}
?>
-
Ya ya, ahora me di cuenta ;)
Gracias por vuestra ayuda :)
-
De nana :P Pero creo que una gran parte se la lleva Naveda :-* :-* :D :D
-
De nana :P Pero creo que una gran parte se la lleva Naveda :-* :-* :D :D
Naveda?? Por?? xD
-
Por que yo lo he hecho xD el solo ha dicho lo mismo que yo xDD
-
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...
-
Y esto donde lo poneis, xD no me entero de nada jejeje
-
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 ;)
-
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 ???
-
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) ;)
-
Lo tengo, en RegistroUsuarios32/enviar_puntos.php xD Gracias
=)
-
Esque, a mi me interesan, los ADDONS, de Cambiar Estado, y Grupos de Usuarios
-
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
-
-RiPeRcOp- aquí te mando el código correcto.
Debes borrar todo el código del archivo pfvariables.php y poner este:
<?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 ;)
-
Gracias lo probare
-
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>";
}
?>
-
La respuesta fue dada cierro tema porque este es uno de esos que siguen y siguen...