Hola que tal, tengo el siguiente problema:
Tengo este enlace en mi archivo php
<a href="operacionales.php?name=<?php echo base64_encode('name'); ?>
Recibo el valor name de un input de texto hasta ahora todo bien el valor llega cifrado a la url, ok el problema es el siguiente tengo otra pagina php donde de la url que me entrega muestro el valor en la pagina nueva deberia funcionar asi pero no me sirve me muestra
Ok amigo <?php echo base64_decode('name');?> recibimos tu reporte
No se que estoy haciendo mal solo lo que quiero es que me muestre la variable descifrada
Citarla pagina nueva deberia funcionar asi pero no me sirve me muestra
Ok amigo <?php echo base64_decode('name');?> recibimos tu reporte
es decir, te muestra literalmente ese texto?
Me sale esto: Notice: Undefined variable: name
Por ejemplo yo recibo desde el input esto: name=CARLOS y con lo de el base64_encode me llegaria algo asi a la URL name=bmFtZQ==
entonces yo en el nuevo php quiero que me muestre un texto que contenga la misma variable que se envio pero decodificada que diga por ejemplo "Ok CARLOS perfecto recibimos tu reporte y utilizo este codigo
<?php echo base64_decode($name); ?>
y me marca error
ahí tienes tu error
Notice: Undefined variable: name
porque $name no está definida... seguramente no estás leyendo el $_GET
Como haria en este caso? he colocado asi y me marca error
<?php
echo base64_decode $_GET($name);
?>
pero si lo coloco de esta manera
<?php echo $_GET['name'];?>
me muestra la variable cifrada y lo que quiero es que me salga descifrada con el base64_decode, gracais amigo lo que pasa es que soy nuevo como puedo hacer? gracias
creo que antes de tirarte a hacer cosas, deberías aprender lo basico de la programación en php, si no, vas a pasar más tiempo intentando resolver errores tontos que realmente aprendiendo... en este punto veo que careces incluso del conocimiento basico de las estructuras de control :s
malo
<?php
echo base64_decode $_GET($name);
?>
incorrecto
<?php echo $_GET['name'];?>
echo base64_decode($_GET['name']);
Lo he colocado de esta forma
<?php echo base64_decode $_GET['name'];?>
y me marca el siguiente error:
Parse error: syntax error, unexpected '$_GET' (T_VARIABLE), expecting ',' or ';' in acional.php on line 539
Cita de: Alarkon_88 en 19 Julio 2018, 19:35 PM
Lo he colocado de esta forma
<?php echo base64_decode $_GET['name'];?>
y me marca el siguiente error:
Parse error: syntax error, unexpected '$_GET' (T_VARIABLE), expecting ',' or ';' in acional.php on line 539
y por qué la pusiste así? te acabo de dar la solución...
lo he colocado como me has dicho de esta forma
<?php echo base64_decode($_GET['name']); ?>
y solo me sale Ok name, tu reporte fue enviado.
me atengo a mi anterior comentario :s
Citarcreo que antes de tirarte a hacer cosas, deberías aprender lo basico de la programación en php, si no, vas a pasar más tiempo intentando resolver errores tontos que realmente aprendiendo... en este punto veo que careces incluso del conocimiento basico de las estructuras de control :s
http://php.net/manual/es/function.base64-decode.php (http://php.net/manual/es/function.base64-decode.php)
CitarValores devueltos
Devuelve los datos originales o FALSE en caso de error. ...
es decir, lo que ves no es un error
Entiendo amigo estoy muy agradecido por tu ayuda, se que no se casi nada de esto pero estoy intentando hacerlo solo me faltaria esto para finalizar lo que estoy haciendo :-( que podria hacer para que me muestre el nombre exacto como lo ingreso en el input
No entiendo porque solo dice name si en la url sale asi
acional.php?name=bmFtZQ
Cita de: Alarkon_88 en 19 Julio 2018, 19:44 PM
Entiendo amigo estoy muy agradecido por tu ayuda, se que no se casi nada de esto pero estoy intentando hacerlo solo me faltaria esto para finalizar lo que estoy haciendo :-( que podria hacer para que me muestre el nombre exacto como lo ingreso en el input
te digo.. bmFtZQ== es el base64 de la palabra 'name', Q0FSTE9T es 'CARLOS'...
y tu codigo nunca envía CARLOS
Citar<a href="operacionales.php?name=<?php echo base64_encode('name'); ?>
No hagas doble post (dos respuestas seguidas)... si quieres agregar algo, usa el botón modificar
Listo amigo gracais eso era todo excelente eres genial. ;-)
Porque pasar el dato en base64?
Mucho ojo, vas a tener problemas en la url ya que base64 por estandar también hace uso del caracter plus "+" y este mismo valor también es utilizado en el estandar del formato de url, ya que plus significa espacio en blanco, asi que puede que en algunos casos el valor no sea correctamente interpretado. Para prevenir este problema debes incluir en el enlace un urlencode() para que plus se transforme en %2b. también en algunos casos los sistemas de protección como un waf te pueden arrojar falsos positivos y denegar el acceso legítimo a personas debido a que el base64 puede contener caracteres como / + y = los cuales tambien se pueden usar para ataques de tipo directory traversal.
Te recomiendo que te replantees el uso de base64 para el traspaso de datos.
Saludos.