Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2016, 04:08
Avatar de majete
majete
 
Fecha de Ingreso: noviembre-2007
Mensajes: 96
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Condicional para crear un código aleatorio

Hola a todos,
Me estoy pegando con un código que he modificado y no consigo hacer que entre en un condicional no sé porqué.

La página revisa si se ha recibido por POST un código de tres cifras (mediante un formulario en la página anterior), si es así, le añade un aleatorio de 4 cifras, si no, el código que pone de tres cifras antes del aleatorio es WEB para identificar la gente que no tiene código.

Código PHP:
<?php
session_start
(); //iniciamos el manejo de sesiones
  
  // Creamos un alfanumerico de 4 cifras
  
$caracteres 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
  
$randomear str_shuffle($caracteres);
  
$el_id substr($randomear14);

if(isset(
$_POST['codigo'])) //si se ha introducido un código, entonces...
{
  
$_SESSION['idCuestionario'] = $_POST['codigo']. $el_id;
  unset(
$_POST['codigo']);
  
} else 
//en caso que la variable de sesion no exista es que es usuario de web
{
  
// Usuario de web. 
  
$_SESSION['idCuestionario'] = "WEB"$el_id;
}
?>
El tema es que en la página anterior si pongo un código de tres cifras, todo funciona perfectamente, pero si no lo pongo, no me pone la letras WEB delante y tan sólo me genera el código aleatorio.

Resultado de ejemplos con introduciendo código
ANA3673
PED9871
TRE8761
...
Si no me pone
3567
2497
1087

es decir que no añade delante "WEB" para crear el código WEB3567, WEB2497, etc.

Lo curioso es que no tengo ni idea de dónde coge el dato para sólo mostrar el código sin el WEB deltante!

Lo imprimo con
Código PHP:
<?php
print_r 
($_SESSION);
?>
Muchas gracias por la ayuda!
Juan Carlos