Crear un juego en php

El juego esta compuesto de:

config.ini.php
inst.php
log.php
logoup.php
perfil.php
preg.php
reg.php
RES.php
ver_user.php
install.php


En el archivo config.ini.php :

1. <?
2. $info['host']='localhost';
3. $info['user']='root';
4. $info['pass']='';
5. $info['bd']='bd';
6. $info['table']='preguntas';
7. $info['table2']='user';
8. $info['link_preg']='preg.php';
9. //////////////////////////////
10. $ad[]="Legoh"; // Para agregar pron: $ad[]="usuario";
11. ?>


En el archivo inst.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="209" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. @session_start();
23. include('config.ini.php');
24. foreach($ad as $adm){
25. if($_SESSION['login'] != $adm) exit();
26. }
27.
28. if($_POST){
29.
30. /////////////////////////////////////////////
31. $conn=mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error3:<br>".mysql_error());
32. mysql_select_db($info['bd'],$conn)or die("Error1:<br>".mysql_error());
33. /////////////////////////////////////////////
34. echo '<tr><td width="1329" height="2">';
35. $p=$_POST['p'];
36. $r=$_POST['r'];
37. $pma=$_POST['p+'];
38. $pme=$_POST['p-'];
39. if(empty($p) || empty($r) || empty($pma) || empty($pme)){
40. echo "Un campo esta vacio.";
41. }
42. else
43. {
44. $insertSQL="INSERT INTO ".$info['table']." (pregunta,respuesta,puntosmas,puntosmenos) VALUES ('$p','$r','$pma','$pme')";
45. $insert=mysql_query($insertSQL) or die(mysql_error());
46. if($insert){
47. echo "pregunta colocada correctamente.";
48. }
49. else
50. {
51. echo "Errpr ".mysql_error();
52. }
53. echo '</td></tr>';
54. }
55. }
56. ?><tr><td width="1329" height="2">
57. <form name="form1" method="post" action="">
58. Pregunta:<br>
59. <label for="textfield"></label>
60. <input name="p" type="text" id="p" value="<?=$p?>">
61. <br>
62. Respuesta:<br>
63. <input name="r" type="text" id="r" value="<?=$r?>">
64. <br>
65. Punto si asierta: <br>
66. <input name="p+" type="text" id="p+" value="<?=$pma?>" />
67. <br>
68. Puntos que se le restaran si no asierta: <br>
69. <input name="p-" type="text" id="p-" value="">
70. <br>
71. <input type="submit" name="Submit" value="Agregar">
72. </form></td></tr>
73. <tr>
74. <td height="2"><a href="logoup.php">Salir</a> | <a href="perfil.php">Perfil</a></td>
75. </tr>
76. </table>


En el archivo log.php :
1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="209" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. echo '<tr><td width="1329" height="2">';
23. @session_start();
24. session_register();
25. include('config.ini.php');
26. /////////////////////////////////////////////
27. $conn=mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error3:<br>".mysql_error());
28. mysql_select_db($info['bd'],$conn)or die("Error1:<br>".mysql_error());
29. /////////////////////////////////////////////
30.
31.
32. if ($_POST) {
33. //Comprobacion del envio del nombre de usuario y password
34. $username=$_POST['nick'];
35. $password=$_POST['clave'];
36. if($username==NULL){
37. echo "Nick vacio";
38. }elseif ($password==NULL) {
39. echo "Clave vacia.";
40. }else{
41. $query = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '$username'" or die(mysql_error());
42. $data = mysql_fetch_array($query);
43. if($data['nick'] != $username) {
44. echo "Nick mal.";
45. }elseif($data['clave'] != $password){
46. echo "Clave mal.";
47. }else{
48. $query = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '$username'" or die(mysql_error());
49. $row = mysql_fetch_array($query);
50. $_SESSION['login']=$row['nick'];
51. $_SESSION['id']=$row['nivel'];
52. echo "<script>location='preg.php'</script>";
53. }
54. }
55. echo '</td></tr>';
56. }
57.
58. ?>
59. <?
60. if(!isset($_SESSION['login'])){
61. ?>
62. <tr><td width="197" height="2" align="center">
63. <form name="form2" method="post" action="">Nick:<br>
64. <input name="nick" type="text" id="nick" value="<?=$_POST['nick'];?>">
65. <br>Clave:<br>
66. <input name="clave" type="password" id="clave"><br>
67. <input type="submit" name="Submit" value="-- Entrar --">
68. </form></td></tr>
69. <tr>
70. <td height="2" align="center"><a href="reg.php">REGISTRAR</a></td>
71. </tr>
72. <?
73. }
74. else
75. {
76. echo "Logeado";
77. }
78.
79. ?>
80. </table>


En el archivo logoup.php :

1. <?
2. session_start();
3. session_unset();
4. session_destroy();
5. header("location: log.php";
6. ?>



En el archivo perfil.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="909" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. @session_start();
23. if(!isset($_SESSION['login']))exit('Mal');
24. include('config.ini.php');
25. /////////////////////////////////////////////
26. mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error:<br>".mysql_error());
27. mysql_select_db($info['bd'])or die("Error:<br>".mysql_error());
28. /////////////////////////////////////////////
29. $query2 = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$_SESSION['login']."'" or die(mysql_error());
30. $row = mysql_fetch_array($query2);
31. ?>
32. <tr>
33. <td height="2"><strong>Nick:</strong>
34. <?=$row['nick'];?>
35. <br>
36. <strong>Puntos:</strong>
37. <?=$row['puntos'];?>
38. <br>
39. <strong>Nivel:</strong>
40. <?=$row['nivel'];?>
41. <br>
42. <strong>Email:</strong>
43. <?=$row['email'];?></td>
44. </tr>
45. <tr>
46. <td height="2"><a href="preg.php">&lt;&lt; Atras </a></td>
47. </tr>
48. </table>


En el archivo preg.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="909" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. @session_start();
23. if(!isset($_SESSION['login']))exit('Mal');
24. include('config.ini.php');
25. /////////////////////////////////////////////
26. mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error:<br>".mysql_error());
27. mysql_select_db($info['bd'])or die("Error:<br>".mysql_error());
28. /////////////////////////////////////////////
29. echo '<tr><td width="1329" height="2">';
30. $query = mysql_query("SELECT * FROM ".$info['table']." WHERE id = '".$_SESSION['id']."'" or die(mysql_error());
31. $data = mysql_fetch_array($query);
32.
33. $query2 = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$_SESSION['login']."'" or die(mysql_error());
34. $row = mysql_fetch_array($query2);
35.
36. $aas = mysql_db_query($info['bd'],"SELECT count(*) FROM ".$info['table']) or die(mysql_error());
37. $cont=mysql_fetch_row($aas);
38.
39. echo $data['pregunta'];
40. echo '</td></tr>';
41. ?>
42. <tr>
43. <td height="2">
44. <?php
45. if($row['nivel'] > $cont[0]){
46. echo "Fin del juego";
47. }else{
48. ?>
49. <form name="form1" method="post" action="RES.php">
50. <label for="textfield"></label>
51. <input type="text" name="res" id="res">
52. <label for="Submit"></label>
53. <input type="submit" name="Submit" value="Contestar" id="Submit">
54. </form><? }?></td>
55. </tr>
56. <tr>
57. <td height="1">Puntos: <?=$row['puntos']." | Nivel: ".$row['nivel'];?> | <a href="logoup.php">Salir</a> | <a href="perfil.php">Perfil</a> | Total de niveles: <?=$cont[0];?><?php
58. foreach($ad as $adm){
59. if($_SESSION['login'] == $adm) echo ' | <a href="inst.php">Administrar</a>';
60. }
61. ?> </td> </tr>
62. </table>


En el archivo reg.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="273" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. // Preguntaremos si se han enviado ya las variables necesarias
23. if ($_POST) {
24. include('config.ini.php');
25. echo '<tr><td width="1329" height="2">';
26. /////////////////////////////////////////////
27. $conn=mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error3:<br>".mysql_error());
28. mysql_select_db($info['bd'],$conn)or die("Error1:<br>".mysql_error());
29. /////////////////////////////////////////////
30. $username = $_POST["nick"];
31. $password = $_POST["clave"];
32. $cpassword = $_POST["cpclave"];
33. $email = $_POST["email"];
34. // Hay campos en blanco
35. if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
36. echo "Un campo está vacio.";
37. }else{
38. // ¿Coinciden las contraseñas?
39. if($password!=$cpassword) {
40. echo "Las clave no coinciden";
41. }else{
42. // Comprobamos si el nombre de usuario o la cuenta de correo ya existían
43. $checkuser = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick='$username'";
44. $username_exist = mysql_num_rows($checkuser);
45.
46. $checkemail = mysql_query("SELECT * FROM ".$info['table2']." WHERE email='$email'";
47. $email_exist = mysql_num_rows($checkemail);
48.
49. if ($email_exist>0|$username_exist>0) {
50. echo "EL nombre de usuario o la cuenta de correo estan ya en uso";
51. }else{
52. //Todo parece correcto procedemos con la inserccion
53. $query = "INSERT INTO ".$info['table2']." (nick, clave, email, nivel, puntos) VALUES('$username','$password','$email', '1','0')";
54. mysql_query($query) or die(mysql_error());
55. echo "El usuario $username ha sido registrado de manera satisfactoria.";
56. }
57. }
58. }
59. echo '</td></tr>';
60. }
61. ?>
62. <tr><td width="1329" height="2">
63. <form name="form1" method="post" action="">
64. Nick<br>
65. <INPUT maxLength="25" size="15" name="nick"><br>
66. Clave:<br>
67. <INPUT type="password" maxLength="25" size="15" value="" name="clave"><br>
68. Repita la clave:<br>
69. <INPUT type="password" maxLength="25" size="15" value="" name="cpclave"><br>
70. Email:<br>
71. <INPUT maxLength="25" size="15" name="email"><br>
72. <INPUT name="submit" type="submit" value="Registro">
73. </form>
74.
75. </td></tr>
76. <tr>
77. <td height="2"><a href="log.php">LOGIN</a></td>
78. </tr>
79. </table>


En el archivo RES.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="909" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. @session_start();
23. if(!isset($_SESSION['login']))exit();
24. include('config.ini.php');
25. if(!$_POST) exit();
26. echo '<tr><td width="1329" height="2">';
27. /////////////////////////////////////////////
28. $conn=mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error3:<br>".mysql_error());
29. mysql_select_db($info['bd'],$conn)or die("Error1:<br>".mysql_error());
30. /////////////////////////////////////////////
31. $res=$_POST['res'];
32. if($res == NULL){
33. echo "La respuesta esta vacia.";
34. echo "<br><a href='".$info['link_preg']."'>.Regresar.</a>";
35. }
36. else
37. {
38. $query = mysql_query("SELECT * FROM ".$info['table']." WHERE id = '".$_SESSION['id']."'" or die(mysql_error());
39. $data = mysql_fetch_array($query);
40.
41. $query2 = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$_SESSION['login']."'" or die(mysql_error());
42. $data2 = mysql_fetch_array($query2);
43.
44. if($data['respuesta'] == $res){
45. echo "Bien, ganaste ".$data['puntosmas'];
46. $puntos_total=$data['puntosmas'] + $data2['puntos'];
47. $sql = "UPDATE ".$info['table2']." SET puntos='$puntos_total' Where nick = '".$_SESSION['login']."'";
48. $result2 = mysql_query($sql);
49. $id2=$_SESSION['id']+1;
50. $_SESSION['id']=$id2;
51. $sql = "UPDATE ".$info['table2']." SET nivel='$id2' Where nick = '".$_SESSION['login']."'";
52. $result2 = mysql_query($sql);
53. echo "<br><a href='".$info['link_preg']."'>.Proxima pregunta.</a>";
54. }
55. else
56. {
57. echo "Mal,perdiste ".$data['puntosmenos']." por equivocarte";
58. $puntos_total=$data2['puntos'] - $data['puntosmenos'];
59. $sql = "UPDATE ".$info['table2']." SET puntos='$puntos_total' Where nick = '".$_SESSION['login']."'";
60. $result2 = mysql_query($sql);
61. echo "<br><a href='".$info['link_preg']."'>.Regresar.</a>";
62. }
63. echo '</td></tr>';
64. }
65. $query2 = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$_SESSION['login']."'" or die(mysql_error());
66. $row = mysql_fetch_array($query2);
67. $aas = mysql_db_query($info['bd'],"SELECT count(*) FROM ".$info['table']) or die(mysql_error());
68. $cont=mysql_fetch_row($aas);
69.
70. ?>
71. <tr>
72. <td height="2">Puntos: <?=$row['puntos']." | Nivel: ".$row['nivel'];?> | <a href="logoup.php">Salir</a> | <a href="perfil.php">Perfil</a> | Total de niveles: <?=$cont[0];?><?php
73. foreach($ad as $adm){
74. if($_SESSION['login'] == $adm) echo ' | <a href="inst.php">Administrar</a>';
75. }
76. ?> </td> </tr>
77. </table>


En el archivo ver_user.php :

1. <style type="text/css">
2. <!--
3. body {
4. background-color: #F0F0F0;
5. }
6. a:link {
7. color: #000000;
8. }
9. a:visited {
10. color: #000000;
11. }
12. a:hover {
13. color: #333333;
14. }
15. a:active {
16. color: #FF0000;
17. }
18. -->
19. </style>
20. <table width="909" border="2" align="center" cellpadding="2" cellspacing="1" bordercolor="#000000" bgcolor="#FFFFFF">
21. <?php
22. @session_start();
23. if(!$_GET) exit('Error');
24. if(!isset($_SESSION['login']))exit();
25. include('config.ini.php');
26. echo '<tr><td width="1329" height="2">';
27. /////////////////////////////////////////////
28. $conn=mysql_connect ($info['host'],$info['user'],$info['pass'])or die("Error3:<br>".mysql_error());
29. mysql_select_db($info['bd'],$conn)or die("Error1:<br>".mysql_error());
30. /////////////////////////////////////////////
31. $user=$_GET['user'];
32. $checkuser = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick='$user'";
33. $username_exist = mysql_num_rows($checkuser);
34. if ($email_exist>0) {
35. echo "El usuario no existe";
36. echo '</td></tr>';
37. }
38. else
39. {
40. $query2 = mysql_query("SELECT * FROM ".$info['table2']." WHERE nick = '".$user."'" or die(mysql_error());
41. $row = mysql_fetch_array($query2);
42. ?>
43. <tr>
44. <td height="2"><strong>Nick:</strong>
45. <?=$row['nick'];?>
46. <br>
47. <strong>Puntos:</strong>
48. <?=$row['puntos'];?>
49. <br>
50. <strong>Nivel:</strong>
51. <?=$row['nivel'];?></td>
52. </tr>
53. <tr>
54. <td height="2"><a href="preg.php">&lt;&lt; Atras </a></td>
55. </tr>
56. </table>
57. <?php
58. }
59. ?>


En el archivo install.php :

1. <?
2. if($_POST){
3. // Configura los datos de tu cuenta
4. $dbhost=$_POST['ser'];
5. $dbusername=$_POST['us'];
6. $dbuserpass=$_POST['pass'];
7. $dbname=$_POST['bd'];
8. // Conexión a la base de datos
9. mysql_connect ($dbhost, $dbusername, $dbuserpass);
10. // Seleccion de la base de datos
11. mysql_select_db($dbname) or die('Cannot select database');
12.
13. // Creacion de la tabla (puedes elegir otros nombres para los campos)
14. $query = 'CREATE TABLE `preguntas` (
15. `id` int(4) NOT NULL auto_increment,
16. `pregunta` varchar(300) NOT NULL,
17. `respuesta` varchar(30) NOT NULL,
18. `puntosmas` varchar(30) NOT NULL,
19. `puntosmenos` varchar(30) NOT NULL,
20. PRIMARY KEY (`id`)
21. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;';
22. $result = @mysql_query($query);
23. if($result){
24. echo "Tabal de preguntas creada correctamente.";
25. }else{
26. echo "Error al crear tabla de preguntas.";
27. }
28. $query2='CREATE TABLE `user` (
29. `id` int(4) NOT NULL auto_increment,
30. `nick` varchar(30) NOT NULL,
31. `clave` varchar(30) NOT NULL,
32. `email` varchar(30) NOT NULL,
33. `site` varchar(30) NOT NULL,
34. `puntos` varchar(30) NOT NULL,
35. `nivel` int(4) NOT NULL,
36. PRIMARY KEY (`id`)
37. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;';
38. $result2 = @mysql_query($query2);
39. if($result2){
40. echo "<br>Tabal de user creada correctamente.";
41. }else{
42. echo "<br>Error al crear tabla de user.";
43. }
44. }
45. ?><br>
46. <form name="form1" method="post" action="">
47. Servidor:<br>
48. <input name="ser" type="text" id="ser" value="localhost">
49. <br>
50. Usuario:<br>
51. <input name="us" type="text" id="us">
52. <br>
53. Clave:<br>
54. <input name="pass" type="password" id="pass">
55. <br>
56. Base de datos: <br>
57. <input name="bd" type="text" id="bd">
58. <br>
59. <input type="submit" name="Submit" value="Submit">
60. </form>



By NegroCacuija

3 comentarios - Crear un juego en php

@jackd28 +1
y una muestra del resultado final?
@Bibiki
Gracias por el tuto, me ayudará a hacer mi login