Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: kosis157 en 12 Julio 2007, 21:06 PM

Título: problema con el siwtch
Publicado por: kosis157 en 12 Julio 2007, 21:06 PM
Mira he empezado hacer un registro de personas para mi web pero nose que pasa que cuando pongo registrar o entro en registro no me hace nada a lo mejor es algun problema con el switch o si teneis alguna idea mejor la comenteis  :xD. os dejo aquí el código:

<?php
switch($opcion){
  case 
1:
    echo
'Estas en el registro';
    break;
  case 
2:
    echo
'as entrado en el ingresar';
    break;
  default:
?>

<form action="user.php?opcion=2" method="post" name="registro">
  <table width="30%" border="0" cellpadding="0" cellspacing="0" class="table">
    <tr>
      <td>Usuario:</td>
      <td><input name="textfield" type="text" class="formtexto" /></td>
      <td><a href="user.php?opcion=1">Registrar</a></td>
    </tr>
    <tr>
      <td>Contrase&ntilde;a</td>
      <td><input name="textfield2" type="password" class="formtexto" /></td>
      <td><input name="Submit" type="submit" class="formbutton" value="Ingresar" /></td>
    </tr>
  </table>
</form>
<?php
}
?>
Título: Re: problema con el siwtch
Publicado por: Ertai en 12 Julio 2007, 21:52 PM
Que vale la variable $opcion?

Saludos.
Título: Re: problema con el siwtch
Publicado por: kosis157 en 12 Julio 2007, 23:05 PM
Pero no creo que influya :huh: Mira añadí $opcion=4 del mismo código anterior que dando asi:
<?php
$opcion
=4;
switch(
$opcion){
  case 
1:
    echo
'Estas en el registro';
    break;
  case 
2:
    echo
'as entrado en el ingresar';
    break;
  default:
?>

<form action="user.php?opcion=2" method="post" name="registro">
  <table width="30%" border="0" cellpadding="0" cellspacing="0" class="table">
    <tr>
      <td>Usuario:</td>
      <td><input name="textfield" type="text" class="formtexto" /></td>
      <td><a href="user.php?opcion=1">Registrar</a></td>
    </tr>
    <tr>
      <td>Contrase&ntilde;a</td>
      <td><input name="textfield2" type="password" class="formtexto" /></td>
      <td><input name="Submit" type="submit" class="formbutton" value="Ingresar" /></td>
    </tr>
  </table>
</form>
<?php
}
?>

lo prove pulsando en registrar pero no me hace nada no va al link, lo único que desaparecó fue un error:
Notice: Undefined variable: opcion in d:\wwwroot\web\usuarios\user.php on line 3
Título: Re: problema con el siwtch
Publicado por: Ertai en 12 Julio 2007, 23:15 PM
Pero que es lo que te sale al ejecutar ese código?

Saludos.
Título: Re: problema con el siwtch
Publicado por: kosis157 en 12 Julio 2007, 23:18 PM
Me sale el formulario pero al clicar en registrate me sigue saliendo el formulario y me tendría que salir "estas en el registro" pero a lo mejor no se puede hacer eso con el siwtch  :xD
Título: Re: problema con el siwtch
Publicado por: Azielito en 13 Julio 2007, 00:28 AM
es que tienes que capturar primero el valor de $opcion y entonces lo trabajas con swtich
Código (php) [Seleccionar]
<?php
$opcion 
$_GET['opcion'];
switch(
$opcion){
case 
1:
   echo 
"Opcion uno";
break;
}

y asi cada opcion que pongas
Título: Re: problema con el siwtch
Publicado por: Ertai en 13 Julio 2007, 00:31 AM
Por eso te preguntava yo lo que valia $opcion
Título: Re: problema con el siwtch
Publicado por: kosis157 en 13 Julio 2007, 12:25 PM
Sips funciona entonces para ahcer webs modulars también es necesario recoger su valor  ::)
Yo pensaba que con eso del link user.php?opcion=1 ya era suficiente  :xD

Bueno muchas gracias  ;D
Título: Re: problema con el siwtch
Publicado por: Ertai en 13 Julio 2007, 13:34 PM
Seria suficiente si estuvieran las register_globals en on.
Título: Re: problema con el siwtch
Publicado por: Sanjuu en 13 Julio 2007, 13:41 PM
Cita de: Ertai en 13 Julio 2007, 13:34 PM
Seria suficiente si estuvieran las register_globals en on.

Pero eso no es recomendable, mejor sigue con tu $_GET
Título: Re: problema con el siwtch
Publicado por: vicmarcal en 19 Julio 2007, 10:15 AM
Es mas seguro como te dicen que no tengas los globales en ON....y de hecho he leido por ahi algo sobre seguridad y recomiendan que antes de hacer el GET pongas:

$opcion=0;

Para poner aun mas complicado el que te entren con algo parecido a esto:

user.php?opcion=1

Ya que en cuanto accedan a user.php el script le asigna un 0 a opcion...lo que complica que se salten el script de validacion...

No hay mucho mas que agregar  ;)