entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Formato PHP a un echo

Buenas, quisiera saber cómo darle un formato a un echo:

<?php echo $player['name'];?>

Ese dato lo tengo almacenado en una tabla usuarios. Todos los usuarios tienen un nombre así: Nombre_Apellido (por ejemplo: Juan_Sanchez), el problema es que, al loguearse algunos ponen juan_sanchez, por lo que después en la web, al mostrar su nombre en algunos apartados, en lugar de mostrar bien Juan_Sanchez, muestra como él se logueó (juan_sanchez).

¿Puedo darle un formato a ese echo para cambiar esta cuestión?

2 Respuestas

4votos

Leonardo-Tadei Puntos227010

@KevinLeyes, tu pregunta no tiene sentido. echo() o print() son funciones que muestran su contenido tal cual está.

Si querés dar formato a la salida, lo que tenés que hacer es formatear el string antes de mostrarlo.

Adicionalmente, tu enfoque tiene muchos problemas: lo que tenés que hacer es formatear el nombre del usuario al momento de darse de alta, de forma tal de hacerlo una sola vez, y no tener que estar formateando cada vez que lo mostrás.

Formateá el nombre del usuario al darlo de alta y listo!

0voto

Leyes comentado

Mi problema es que el formato ya es otorgado a través de un medio externo, es en otro lenguaje de programación y se lo asigna directamente a la base de datos ya con las mayúsculas iniciales, por lo que, esa parte está bien y ya no puedo hacer más. Debo fijarme ahora cómo resolverlo directamente en PHP. En la base de datos está bien formateado (Nombre_Apellido), el problema es, como mencioné en la pregunta principal que, al loguearse, si un usuario pone nombre_apellido también se logueará. Lo que quiero hacer es, no restringir a un usuario que intenta loguearse sin el formato, si no que pueda continuar logueándose así y mejor yo formatear el nombre del usuario al momento de mostrarlo como indiqué en el echo.
Ahora mi pregunta sería, ¿hay manera de formatearlo con los datos que mencioné? ¿Cómo podría hacerlo?

Gracias @Leonardo-Tadei.

3votos

Leonardo-Tadei comentado

Hola @KevinLeyes ,

si el escenario es ese, la solución es más simple todavía: en vez de mostrar lo que el usuario escribe para loguearse, mostrá lo que tiene almacenado en la DB, que ya tiene el formato que te ahce falta!

Seguramente al loguear al usuario estás revisando contra la DB que sea un usuario válido, y luego, supongo, estás guardando el nombre de usuario en una variable de sesión para mostrarlo cada vez. De ser así, baastaría con que en la variable de sesión guardes el nombre de usuario que está en la DB en vez de guardar lo que viene del formulario de login.

3votos

1raziel1 Puntos2190

Puedes o utilizar el nombre de la base de datos en vez de utilizar el introducido, o modificar el string poniendo las primeras letras en mayuscula

echo ucfirst("nombre");
//resultado=Nombre, para todas las palabras ucwords("nombre apellido");

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta