Como hacer sistema de puntos por php y mysql?

Iniciado por Brian1511, 22 Julio 2013, 22:24 PM

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

Brian1511

hola a todos bueno he tenido este problema durante un par de meses , no lo gro encontrar un sistema sencillo que me haga unas funciones basicas en lo que es un sistema de puntos , tengo una web en php con dreamweaver y pues quisiera agregarle este sistema a mi web ...

Solo quiero que se puedan tranferir puntos y que en el perfil se vea los puntos del usuario, me encantaria agregarlo a una mini red social que voy a hacer y pues si alguien sabe como hacerlo pofa cualquier cosa que me pueda ayudar solo diganmelo. por ahora solo he visto algunos sistemas que fallan como por ejemplo!:


Este es el formulario Index.html



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
body p {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
body p {
text-align: center;
font-size: larger;
}
</style>
</head>

<body>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>

<title>Sistema De Envio De Puntos</title><form method=post action="send_points.php">

  <p><strong> Tu Usuario
    </input>
    </strong><strong>
    <input type=text name="tu_id" />
    </strong></p>
  <p><strong>Usuario a enviar puntos.
    <input type=text name="otro_id"></input>
  </strong></p>
  <p><strong>Puntos que deseeas dar
    <input type=text name="puntos_a_dar"></input>
  </strong></p>
  <p><strong>
    <input type=submit value="Enviar puntos">
  </strong></p>
</input>

</form>


</body>
</html>




y este es el PHP:



$con = mysql_connect("servidor","usuario","contraseña");

$db = "nombre de la base de datos";

$sql = "select * from puntos where user_id='" . $_POST["tu_id"] . "'";

$res = mysql_db_query($db,$sql,$con);

if ($user_1 = mysql_fetch_array($res))

{

    $puntos_user_1 = $user_1[puntos];

}

$sql = "select * from puntos where user_id='" . $_POST["otro_id"] . "'";

$res = mysql_db_query($db,$sql,$con);

if ($user_2 = mysql_fetch_array($res))

{

    $puntos_user_2 = $user_2[puntos];

}

if ($puntos_user_1

{

    echo "Puntos insuficientes";

}else{

$puntos_user_2 = $puntos_user_2 + $_POST["puntos_a_dar"];

$puntos_user_1 = $puntos_user_1 - $_POST["puntos_a_dar"];

$sql = "update puntos set puntos='" . $puntos_user_2 . "' where user_id='" . $_POST["otro_id"] . "'";

mysql_db_query($db,$sql,$con);

$sql = "update puntos set puntos='" . $puntos_user_1 . "' where user_id='" . $_POST["tu_id"] . "'";

mysql_db_query($db,$sql,$con);

echo "Se suman " . $_POST["puntos_a_dar"] . " al usuario con id " . $_POST["otro_id"];

echo "";

echo "Tus puntos quedan ahora asi: " . $puntos_user_1;

}

?>




No se porque este me falla pero asi es...


Gracias de antemano!



Creador de BrainMind

1mpuls0

A qué te refieres con "falla"?

Se más explicito.
abc

Brian1511

bueno que a la hora de canjear los puntos me sale el el codigo php como un texto , siendo los usuarios y las cantidades correotas o falsas.

como por ejemplo:

Tu nick : "ADMIN"
Nick del beneficiado: "ejemplo"
Cantidad : 1


digamos que admin si es un usuario y ejemplo tambie , que los puntos que tiene admin son 1, pues se supone que deberia de funcionar y salir el texto que dice :"Tus puntos quedan ahora asi: " . $puntos_user_1;

Pero lo que hace es que me hace esto :

$con = mysql_connect("servidor","usuario","contraseña");$db = "nombre de la base de datos";$sql = "select * from puntos where user_id='" . $_POST["tu_id"] . "'";$res = mysql_db_query($db,$sql,$con);
if ($user_1 = mysql_fetch_array($res)){$puntos_user_1 = $user_1[puntos];}$sql = "select * from puntos where user_id='" . $_POST["otro_id"] . "'";$res = mysql_db_query($db,$sql,$con);if ($user_2 = mysql_fetch_array($res)){$puntos_user_2 = $user_2[puntos];}if ($puntos_user_1{echo "Puntos insuficientes";}else{$puntos_user_2 = $puntos_user_2 + $_POST["puntos_a_dar"];$puntos_user_1 = $puntos_user_1 - $_POST["puntos_a_dar"];$sql = "update puntos set puntos='" . $puntos_user_2 . "' where user_id='" . $_POST["otro_id"] . "'";mysql_db_query($db,$sql,$con);$sql = "update puntos set puntos='" . $puntos_user_1 . "' where user_id='" . $_POST["tu_id"] . "'";mysql_db_query($db,$sql,$con);
echo "Se suman " . $_POST["puntos_a_dar"] . " al usuario con id " . $_POST["otro_id"];echo "";echo "Tus puntos quedan ahora asi: " . $puntos_user_1;}?>

El codigo php pero haci todo junto?



Creador de BrainMind

1mpuls0

1. Por lo que veo debes ingresar los dos id para este ejemplo, que en todo caso serían dos números enteros.

2. En la tabla puntos ya deben existir los usuarios y sus puntos, desde antes de utilizar este ejemplo.

3. Falto algo en el siguiente parte del código.
Citar
if ($puntos_user_1

{

    echo "Puntos insuficientes";

}else{

Debe ser:
Citar
if ($puntos_user_1<$_POST["puntos_a_dar"])

{

    echo "Puntos insuficientes";

}else{

4. Utiliza las etiquetas GeSHi

Saludos.
abc

Brian1511

no amIGO sigue el error , que tAl si lo ves por ti mismo este es el link http://quelok.netne.net/

hay 3 Usuarios



[b]ID    Puntos

-1        100
-2        100
-3          0[/b]




Creador de BrainMind


Brian1511

http://quelok.netne.net/

bueno los id y valores son :

1,  2,  3 osea eso fue lo que yo agregue y los puntos e 1 y el 2 tienen 100 y el 3 tiene 0

mira esta imagen




Creador de BrainMind

1mpuls0

Lo siento estoy en el trabajo y ya sabes luego bloquean algunas páginas o servicios, así que no puedo ver tu imagen :/

Ya intenté colocando los valores que dices pero te menciono que me envia a otra pagina.

No tengo que estar logueado o algo?

Saludos.
abc

Brian1511

No realmente no ya que esto no tiene logue simplemente entras escribes los id lo que quieres pasar y listo te tiene que aparecer el mensaje de correcto que hace el funciones.php!.

Aun asi ya que eres tan bueno con el PHP amigo no sabes acer algo como esto o parecido? es que lo necesito para un foro php que estoy creando esta de maravilla y pues te lo mnado cuando lo termine y pues este sistema de puntos se lo quiero agregar a este foor! :D



Creador de BrainMind

1mpuls0

#9
Precisamente por eso te menciono en donde están los fallos.

Los corregí y funciona:





abc