Advertisement
Pedro_Miranda

[PHP + MySQL] - User Control Panel (Base)

Jul 2nd, 2012
844
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.27 KB | None | 0 0
  1. Copyright (c) 2012 iPs Team
  2. Intelligent Programming Style
  3. Created by [iPs]Pedro or Pedro Miranda
  4.  
  5. Observação:
  6.  
  7. Cada comentário acima dos códigos é um arquivo, a postagem não deve ser salva em um único arquivo.
  8.  
  9.  
  10. // db.sql
  11. CREATE TABLE IF NOT EXISTS
  12. (
  13.     id INT(11) NOT NULL AUTO_INCREMENT,
  14.     name VARCHAR(24) NOT NULL,
  15.     password VARCHAR(32) NOT NULL,
  16.     kills INT(11) NOT NULL DEFAULT '0',
  17.     deaths INT(11) NOT NULL DEFAULT '0',
  18.     score INT(11) NOT NULL DEFAULT '0',
  19.     skin INT(11) NOT NULL,
  20.     money INT(11) NOT NULL DEFAULT '5000',
  21.     PRIMARY KEY(id),
  22.     UNIQUE KEY(id)
  23. ) COMMENT = 'Informações dos jogadores do servidor.';
  24.  
  25. // index.php
  26. <?php
  27.  
  28. $page =
  29. "
  30. <html>
  31. <title>User Control Panel</title>
  32. <body>
  33. <font face = 'Verdana'>
  34. <h2>User Control Panel - Pedro Miranda</h2>
  35. <h3>Design - Melhor impossível</h3>
  36. <ul>
  37. <li><a href = 'registro.php'>Registrar</a></li>
  38. <li><a href = 'login.php'>Login</a></li>
  39. </ul>
  40. </font>
  41. </body>
  42. </html>";
  43.  
  44. echo $page;
  45.  
  46. ?>
  47.  
  48. // registro.php
  49. <html>
  50. <title>User Control Panel</title>
  51. <body align = "center">
  52. <font face = "Verdana">
  53. <?php
  54. if(isset($_POST['registrar']))
  55. {
  56.     if(IsValidName($_POST['nome']))
  57.     {
  58.         if(strlen($_POST['senha']) >= 5 && strlen($_POST['senha']) <= 24)
  59.         {
  60.             if($_POST['senha'] == $_POST['senha2'])
  61.             {
  62.                 if(IsValidSkin($_POST['skin']))
  63.                 {
  64.                     include('config.php');
  65.                     $nome = mysql_real_escape_string($_POST['nome']);
  66.                     $query = mysql_query("SELECT * FROM player_info WHERE name = '$nome'") or die(mysql_error());
  67.                     $rows = mysql_num_rows($query);
  68.                     if(!$rows)
  69.                     {
  70.                         $senha = mysql_real_escape_string($_POST['senha']);
  71.                         $skin = $_POST['skin'];
  72.                        
  73.                         mysql_query("INSERT INTO player_info (name, password, skin) VALUES ('$nome','$senha',$skin)") or die(mysql_error());
  74.                         $id = mysql_insert_id($conectar);
  75.                        
  76.                         echo "Parabéns $nome, você se registrou com sucesso em nosso site.<br>";
  77.                         echo "Seu id de registro é: $id.<br>";
  78.                         header('location: login.php');
  79.                     }
  80.                     else
  81.                     {
  82.                         echo "Já há um usuário registrado com este nome.<br>";
  83.                         echo "Caso seja você, faça login clicando <a href = 'login.php'>aqui</a>.<br>";
  84.                     }
  85.                 }
  86.                 else echo "Erro: Skin entre 0 e 299.<br>";
  87.             }
  88.             else echo "Erro: Sua senha deve conter entre 5 e 32 caracteres.<br>";
  89.         }
  90.         else echo "Erro: Senha e confirmação diferentes.<br>";
  91.     }
  92.     else
  93.     {
  94.         echo "Erro: Seu nome está em formato inválido.<br>";
  95.         echo "O nome deve conter entre 5 e 24 caracteres.<br>";
  96.         echo "Ele deve estar no formato Nome_Sobrenome.<br>";
  97.         echo "Por exemplo: Pedro_Miranda<br>";
  98.         echo "Por favor, digite um nome válido.<br>";
  99.     }
  100. }
  101.  
  102. function IsValidName($n)
  103. {
  104.     $len = strlen($n);
  105.     if($len < 5 || $len > 24)
  106.         return 0;
  107.        
  108.     if($n[$len - 1] == '_' || $n[0] == '_')
  109.         return 0;
  110.    
  111.     $underlines = 0;
  112.     for($i = 0; $i != $len; ++$i)
  113.     {
  114.         if($n[$i] == '_')
  115.         {
  116.             ++$underlines;
  117.         }
  118.     }
  119.     return $underlines == 1;
  120. }
  121.  
  122. function IsValidSkin($s)
  123. {
  124.     return $s >= 0 && $s <= 299;
  125. }
  126. ?>
  127. <form method = "post" action = "">
  128.     Nome:<br><input type = "text" name = "nome"><br>
  129.     Senha:<br><input type = "password" name = "senha"><br>
  130.     Confirmar senha:<br><input type = "password" name = "senha2"><br>
  131.     Skin:<br><input type = "text" name = "skin"><br>
  132.     <input type = "submit" name = "registrar" value = "Registrar">
  133. </form>
  134. </font>
  135. </body>
  136. </html>
  137.  
  138.  
  139. // login.php
  140. <html>
  141. <title>User Control Panel</title>
  142. <body align = "center">
  143. <font face = "Verdana">
  144. <?php
  145. include('config.php');
  146. session_start();
  147. if(isset($_POST['login']))
  148. {
  149.     $nome = mysql_real_escape_string($_POST['nome']);
  150.    
  151.     $query = mysql_query("SELECT * FROM player_info WHERE name = '$nome'", $conectar) or die(mysql_error());
  152.     $rows = mysql_num_rows($query);
  153.     if($rows)
  154.     {
  155.         $senha = mysql_real_escape_string($_POST['senha']);
  156.         $query = mysql_query("SELECT * FROM player_info WHERE name = '$nome' AND password = '$senha'", $conectar) or die(mysql_error());
  157.         $rows = mysql_num_rows($query);
  158.         if($rows)
  159.         {
  160.             $dados = mysql_fetch_assoc($query);
  161.             $nome = $dados['name'];
  162.            
  163.             $_SESSION['username'] = $nome;
  164.             header('location: perfil.php');
  165.         }
  166.         else echo "Erro: Senha incorreta.<br>";
  167.     }
  168.     else
  169.     {
  170.         echo "Não há nenhum usuário registrado com este nome.<br>";
  171.         echo "Porém, você pode se registrar clicando <a href = 'registro.php'>aqui</a>.<br>";
  172.     }
  173. }
  174. ?>
  175. <form method = "post" action = "">
  176.     Nome:<br><input type = "text" name = "nome"><br>
  177.     Senha:<br><input type = "password" name = "senha"><br><br>
  178.     <input type = "submit" name = "login" value = "Login">
  179. </form>
  180. </font>
  181. </body>
  182. </html>
  183.  
  184. // mudarskin.php
  185. <html>
  186. <title>User Control Panel</title>
  187. <body align = "center">
  188. <font face = "Verdana">
  189. <?php
  190. include('config.php');
  191. session_start();
  192. if(isset($_SESSION['username']))
  193. {
  194.     if(isset($_POST['confirmar']))
  195.     {
  196.         if(IsValidSkin($_POST['novaskin']))
  197.         {
  198.             $nome = mysql_real_escape_string($_SESSION['username']);
  199.             $query = mysql_query("SELECT * FROM player_info WHERE name = '$nome'", $conectar) or die(mysql_error());
  200.            
  201.             $dado = mysql_fetch_assoc($query);
  202.             $skinAtual = $dado['skin'];
  203.             $skinNova  = $_POST['novaskin'];
  204.        
  205.             if($skinAtual != $skinNova)
  206.             {
  207.                 mysql_query("UPDATE player_info SET skin = '$skinNova' WHERE name = '$nome'", $conectar) or die(mysql_error());
  208.                 header('location: perfil.php');
  209.             }
  210.             else echo "Erro: Nova skin igual à atual.<br>";
  211.         }
  212.         else echo "Erro: Skin inválida.<br>";
  213.     }
  214.     else if(isset($_POST['cancelar']))
  215.     {
  216.         header('location: perfil.php');
  217.     }
  218.     $form =
  219.     "<form method = 'post' action = ''>
  220.         Nova Skin:<br><input type = 'text' name = 'novaskin'><br>
  221.         <input type = 'submit' name = 'confirmar' value = 'Alterar'><br>
  222.         <input type = 'submit' name = 'cancelar' value = 'Cancelar'>
  223.     </form>";
  224.     echo $form;
  225. }
  226. else header('location: login.php');
  227.  
  228. function IsValidSkin($s)
  229. {
  230.     return $s >= 0 && $s <= 299;
  231. }
  232. ?>
  233. </font>
  234. </body>
  235. </html>
  236.  
  237. // logout.php
  238. <?php
  239. session_start();
  240. session_destroy();
  241. header('location: index.php');
  242. ?>
  243.  
  244. // perfil.php
  245. <html>
  246. <title>User Control Panel</title>
  247. <body align = "center">
  248. <font face = "Verdana">
  249. <?php
  250. include('config.php');
  251. session_start();
  252. if(isset($_SESSION['username']))
  253. {
  254.     $username = mysql_real_escape_string($_SESSION['username']);
  255.     $query = mysql_query("SELECT * FROM player_info WHERE name = '$username'") or die(mysql_error());
  256.    
  257.     while($perfil = mysql_fetch_assoc($query))
  258.     {
  259.         $skin = $perfil['skin'];
  260.         $matou = $perfil['kills'];
  261.         $morreu = $perfil['kills'];
  262.         $score  = $perfil['score'];
  263.         $dinheiro = $perfil['money'];
  264.        
  265.         $html =
  266.         "<table border = '1' cellspacing = '0' align = 'center'>
  267.             <tr><td>$username</td></tr>
  268.             <tr><td>Matou: $matou</td></tr>
  269.             <tr><td>Morreu: $morreu</td></tr>
  270.             <tr><td>Nível: $score</td></tr>
  271.             <tr><td>Dinheiro: $dinheiro</td></tr>
  272.             <tr><td><img src = 'http://weedarr.wikidot.com/local--files/skinlistc/$skin.png'></img></td></tr>
  273.         </table>";
  274.         echo $html;
  275.     }
  276. }
  277. else header('location: login.php');
  278. ?>
  279. <br>
  280. <br>
  281. <br>
  282. <a href = 'mudarskin.php'>Trocar skin</a><br>
  283. <a href = 'logout.php'>Logout</a>
  284. </font>
  285. </body>
  286. </html>
  287.  
  288.  
  289. // config.php
  290.  
  291. <?php
  292. $conectar = mysql_connect('localhost', 'root', '') or die(mysql_error());
  293. mysql_select_db('rpg', $conectar) or die(mysql_error());
  294. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement