[Tutorial] Utilizar el método GET para simplificar páginas [Xt3mP]

Iniciado por Xt3mP, Marzo 19, 2010, 01:15:53 AM

Tema anterior - Siguiente tema

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

#########################################################################

Esta vez les diré un tip que aprendi no hace mucho, se trata del método get. Les daré un ejemplo sencillo:

Suponiendo que tenemos 3 páginas web (Index.php , Login.php , Registrar.php) y los links para cada sección serían:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A simple vista pues no nota tanto trabajo ya que pues son tres archivos .PHP.
Lo que nosotros aprenderémos con el tip que les daré es como en un solo .PHP poner las tres partes.

Ejemplo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y todo en un solo archivo .PHP.

Es sumamente sencillo, utilizarémos el método GET, les daré el código y despúes explico:

Código: php

<?php
$medio = "Escojer seccion";
if ($_GET['modo']== "index"){
$medio = "Escojiste index";
}
if ($_GET['modo']== "login"){
$medio = "Escojiste login";
}
if ($_GET['modo']== "registrar"){
$medio = "Escojiste registrar";
}
echo $medio;
?>


Indicamos que se trata de código PHP mediante las etiquetas <? y ?> (Esta última es para cerrar el código PHP).

Despúes le decimos de la manera práctica: Si modo es igual a index asignale un valor a la variable medio, si modo es igual a login asignale un valor a la variable medio, si modo es igual a registrar asignale un valor a la variable medio.

Al final mostramos el valor de la variable medio con "echo".

Asi de sencillo se evitan tener 3 archivos .PHP, y en vez de eso solo tienen 1.

Ya para entrar sería: Digamos que quieren entrar con un link, sería así:

Código: html

<a href="www.xt3mp.me/?modo=registrar">Registrate</a>.


Y así sucesivamente, si son muchas partes no usen IF usen elseif ó breake.

Sobre el otro código sería así:

Les daré un ejemplo:

Código: php

<?php
session_start();
if ($_SESSION['logeado'] != "SI"){
$status = '<form name="form1" method="post" action="?modo=login">
    <label>
    <div align="center"><span class="Estilo2">Usuario: </span>
          <input name="usuario" type="text" class="Estilo2" id="usuario" size="15">
          <br>
        <span class="Estilo2">Clave:&nbsp;&nbsp;&nbsp;&nbsp;</span>
          <input name="password" type="password" class="Estilo2" id="password" size="15">
          <br>
          <input name="Submit" type="submit" class="Estilo2" value="Entrar" target="_blank">
      <br>
        </div>
    </label>
    <div align="center"><span class="Estilo2"><a href="?modo=login&proceso=recordar">Recordar clave</a>. <a href="?modo=registrar">Registrar</a>.     </span>           </div>
  </form>';
}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='?modo=salir'>Salir</a></span>";
}
?>
<html>
<head>
<title>You Can't Hack Me !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/style.css" rel="stylesheet" type="text/css" /><style type="text/css">
<!--
body {
background-image: url();
background-color: #000000;
}
.Estilo10 {color: #66FF00}
-->
</style></head>
<?
$medio = '<table width="534" height="294" border="0" align="center">
          <tr>
            <td height="21" colspan="2" class="Estilo1">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</td>
          </tr>
          <tr>
            <td width="139" height="21"><div align="left"><span class="Estilo1">Apertura No-Oficial:</span></div></td>
            <td width="385" class="Estilo2"><div align="left">Como todos sabran, este es un proyecto que recien esta tomando </div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">rumbo, todavia faltan terminar ciertos scripts, entre otras cosas, actualmente no estan </div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">disponibles los WarGames ya que nos estamos concentrando en lo que es el registro, etc. </div></td>
          </tr>
          <tr>
            <td height="14" colspan="2" class="Estilo2">Mientras tanto te invitamos a que pases por nuestra comunidad de Hacking Latina haciendo</td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="left">click aqui -------------&gt;:<a href="http://www.hack.cl" target="_blank">[url=http://www.Hack.cl]www.Hack.cl[/url] Mas que una comunidad. </a></div></td>
          </tr>
          <tr>
            <td height="21" class="Estilo2">&nbsp;</td>
            <td class="Estilo2"><div align="right"><span class="Estilo3">Fecha: Enero/28/2010 </span></div></td>
          </tr>
          <tr>
            <td height="21" colspan="2" class="Estilo2"><div align="right" class="Estilo3"><span class="Estilo1">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span></div></td>
          </tr>
          <tr>
            <td height="21" class="Estilo2">&nbsp;</td>
            <td class="Estilo2">&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="21">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
        </table>';
if ($_GET['modo']=="registrar"){
session_start();
if ($_SESSION['logeado'] != "SI"){
  $medio = '<form id="form1" name="form1" method="post" action="?modo=registrar2&proceso=comprobando"><table width="500" border="0" align="center">
            <tr>
              <td width="245" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Nickname:</div></td>
              <td width="245"><label>
                <input name="nick" type="text" class="Estilo2" id="nick" size="15">
              </label></td>
            </tr>
            <tr>
              <td class="Estilo2"><div align="right"><span class="Estilo3">*</span>Usuario:</div></td>
              <td><input name="user" type="text" class="Estilo2" id="user" size="15"></td>
            </tr>
            <tr>
              <td class="Estilo2"><div align="right"><span class="Estilo3">*</span>Clave:</div></td>
              <td><input name="passwd" type="password" class="Estilo2" id="passwd" size="15"></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Repetir Clave: </div></td>
              <td><input name="passwd2" type="password" class="Estilo2" id="passwd2" size="15" /></td>
            </tr>
            <tr>
              <td height="19" class="Estilo2"><label>
                <div align="right"><span class="Estilo3">*</span>Correo:</div></td>
              <td height="19" class="Estilo2"><input name="mail" type="text" class="Estilo2" id="mail" size="15" /></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Pais:</div></td>
              <td height="21" class="Estilo2"><label>
                <select name="country" id="country">
                  <option selected>Mexico</option>
                  <option>Argentina</option>
                  <option>Espa&ntilde;a</option>
                  <option>Chile</option>
                  <option>Panama</option>
                  <option>Colombia</option>
                  <option>Venezuela</option>
                  <option>Estados Unidos</option>
                  <option>Peru</option>
                  <option>Otro</option>
                </select>
              </label></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Pagina Web:</div></td>
              <td height="21" class="Estilo2"><input name="web" type="text" class="Estilo2" id="web" size="15" /></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3"></span>Edad:</div></td>
              <td height="21" class="Estilo2"><select name="age" id="select">
                <option>12</option>
                <option>13</option>
                <option>14</option>
                <option>15</option>
                <option>16</option>
                <option>17</option>
                <option> 18</option>
                            </select></td>
            </tr>
            <tr>
              <td height="21" class="Estilo2"><div align="right"><span class="Estilo3">*</span>Referido:</div></td>
              <td height="21" class="Estilo2"><input name="refer" type="text" class="Estilo2" id="refer" size="15" /></td>
            </tr>
            <tr>
              <td height="21" colspan="2" class="Estilo2"><div align="center">
                <input name="Submit" type="submit" class="Estilo2" value="Registrar" />
              </div></td>
            </tr>
           
          </table>
</form>';

}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='logout.php'>Salir</a></span>";
echo '<script language="JavaScript" type="text/javascript">
alert("Actualmente estas logeado por lo tanto no podras registrarte.");
</script>';
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
$medio = "<span class='Estilo3'>Estas actualmente logeado, por lo tanto no podras registrarte.</span>";
}
}

if ($_GET['modo']=="registrar2" && $_GET['proceso']=="comprobando"){
include('config.php');
if ($_SESSION['logeado'] != "SI"){
$country = $_POST['country'];
$age = $_POST['age'];
if(($_POST['nick'] == '') or ($_POST['user'] == '') or ($_POST['passwd'] == '') or ($_POST['mail'] == '' ) or ($_POST['refer'] == '') )
{
$medio = "<span class='Estilo3'>Te faltaron rellenar campos.</span>";
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
if($_POST['passwd'] != $_POST['passwd2'])
{
$medio = '<span class="Estilo3">La claves no coinciden.</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
$nick = stripslashes($_POST["nick"]);
$nick = strip_tags($nick);
$user = stripslashes($_POST["user"]);
$user = strip_tags($user);
$pass = stripslashes($_POST["passwd"]);
$pass = strip_tags($pass);
$passs = md5 ($pass);
$passss = crc32($passs);
$pass = crypt($passss, "xtemp");
$usuarios = mysql_query("SELECT user FROM cuentas WHERE user='$user' ");
if($user_ok = mysql_fetch_array($usuarios))
{
$medio = '<span class="Estilo3">El usuario '.$user.' ya esta registrado</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
mysql_free_result($usuarios);
}else{
$mail = $_POST["mail"];
$pais = $_POST['country'];
$web = $_POST['web'];
$web = strip_tags($web);
$age = $_POST['age'];
$refer = $_POST['refer'];

if (($refer == $nick) or ($refer == $user)){
$medio = '<span class="Estilo3">No te puedes poner como referido.</span>';
echo "<meta http-equiv='Refresh' content='2;url=?modo=registrar'>";
}else{
$refer = strip_tags($refer);
mysql_query("INSERT INTO users (nick,user,pass,email,country,web,age,refer) values ('$nick','$user','$pass','$mail','$pais','$web','$age','$refer')");
$medio = '<span class="Estilo3">El usuario '.$user.' ha sido registrado con éxito, en unos momentos sera redireccionado.</span>';
echo "<meta http-equiv='Refresh' content='3;url=index.php'>";
}
}
}
}
}else{
$status = "<span class='Estilo2'>Hola " . $_SESSION['nick'] ."<br><a href='logout.php'>Salir</a></span>";
echo '<script language="JavaScript" type="text/javascript">
alert("Actualmente estas logeado por lo tanto no podras registrarte.");
</script>';
$medio = "<span class='Estilo3'>Estas actualmente logeado, por lo tanto no podras registrarte.</span>";
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
}
}

if ($_GET['modo']=="donar"){
$medio = '<center><span class="Estilo3">El fin de sus donaciones no es con ningun fin de lucro si no<br>que gracias a ustedes este WarGame sera muy grande.<br>Tambien el dinero recolectado se usara para el mantenimiento del host y del dominio.</span><br><br><br><form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="F94V7UWAB8ZHG">
<input type="hidden" name="lc" value="MX">
<input type="hidden" name="button_subtype" value="products">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_paynow_SM.gif:NonHosted">
<table>
<tr><td><input type="hidden" name="on0" value="Donar"><span class="Estilo3">Donar</span></td></tr><tr><td><select name="os0">
<option value="1 Dolar">1 Dolar $1.00</option>
<option value="2 Dolares">2 Dolares $2.00</option>
<option value="5 Dolares">5 Dolares $5.00</option>
</select> </td></tr>
</table>
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="option_select0" value="1 Dolar">
<input type="hidden" name="option_amount0" value="1.00">
<input type="hidden" name="option_select1" value="2 Dolares">
<input type="hidden" name="option_amount1" value="2.00">
<input type="hidden" name="option_select2" value="5 Dolares">
<input type="hidden" name="option_amount2" value="5.00">
<input type="hidden" name="option_index" value="0">
<input type="image" src="https://www.paypal.com/es_XC/i/btn/btn_paynow_SM.gif" border="0" name="submit" alt="PayPal. La forma rápida y segura de pagar en Internet.">
<img alt="" border="0" src="https://www.paypal.com/es_XC/i/scr/pixel.gif" width="1" height="1">
</form></center>
';
}
if ($_GET['modo']=="salir"){
session_start();
session_destroy();
$medio = "<span class='Estilo3'>Te has desconectado correctamente.</span>";
$status = '<form name="form1" method="post" action="comprobando_login.php">
    <label>
    <div align="center"><span class="Estilo2">Usuario: </span>
          <input name="usuario" type="text" class="Estilo2" id="usuario" size="15">
          <br>
        <span class="Estilo2">Clave:&nbsp;&nbsp;&nbsp;&nbsp;</span>
          <input name="password" type="password" class="Estilo2" id="password" size="15">
          <br>
          <input name="Submit" type="submit" class="Estilo2" value="Entrar" target="_blank">
      <br>
        </div>
    </label>
    <div align="center"><span class="Estilo2"><a href="recordar.php">Recordar clave</a>. <a href="registrar.php">Registrar</a>.     </span>           </div>
  </form>';
}

if($_GET['modo']=="wargames"){
include('wargames.php');
}
if($_GET['modo']=="login"){
include('config.php');
if( ($_POST["usuario"] == '') or ($_POST["password"] == '') )
{
$medio = "<span class='Estilo7'>Necesitas introducir tus datos.</span>";
}else{
$user = $_POST['usuario'];
$passs = $_POST['password'];
$passss = md5 ($passs);
$passsss = crc32($passss);
$pass = crypt($passsss,"xtemp");
$usuarios = mysql_query("SELECT * FROM users WHERE user='$user' and pass='$pass'");
if($user_ok = mysql_fetch_array($usuarios))
{
session_register("logeado");
session_register("nick");
session_register("user");
$_SESSION['logeado'] = "SI";
$_SESSION['nick'] = $user_ok["nick"];
$_SESSION['user'] = $user_ok["user"];
$usuario = $_SESSION['nick'];
echo '<script language="JavaScript" type="text/javascript">
alert("Bienvenido, en unos momentos seras redirigido.");
</script>';
echo "<meta http-equiv='Refresh' content='2;url=index.php'>";
}else{
$medio = '<span class="Estilo7">Username y Password incorrecto.</span>';
}
}
}
?>


Un código mas práctico:

Código: php

<?php
$medio = "Selecciona seccion";
if ($_GET['parte']=="nosotros"){
$medio = "Nosotros somos una nueva comunidad de Hack que pretende ensenar a los demas";
}
if ($_GET['parte']=="contacto"){
$medio = "Agregame a [email protected] para aclarar sus dudas";
}
if ($_GET['parte']=="foro"){
$medio = "Ve a [url=http://www.antrax-labs.net]www.antrax-labs.net[/url] para ver el foro";
}
echo $medio
?>

Espero que les sirva para simplificar todo, asi solo tienen un solo un archivo .PHP.

Saludos.
Cada vez que me das Karma me motivas