¿Cómo validar para que solo acepte mayúsculas?

Mi duda es saber como puedo validar mayúsculas, eso con el fin de tener un solo formato en mi base de datos; es decir que el usuario al momento de escribir cambien a mayúsculas sin importar que tenga activada la tecla bloq mayus y que esos mismos datos se envíen en mayúsculas a la base, desde ya muchas garcías.
Respuesta
1
<?php
<span style="white-space: pre;"> </span>$cadena_origen = "hola mundo";
<span style="white-space: pre;"> </span>$cadena_en_mayuscula = strtoupper(cadena_origen);
<span style="white-space: pre;"> </span>echo $cadena_en_mayuscula; 
<span style="white-space: pre;"> </span>// Imprimira: HOLA MUNDO
?>
Haz exactamente lo mismo para cualquier cadena que desees convertir, aquí un ejemplo común:
<span style="white-space: pre;"> </span>strtoupper($_POST['nombre']);
Hola muchas gracias por la respuesta, te comento que no he podido ver si guarda los cambios en la base ya que al momento de enviar el registro al checarlo en la base tengo el registro pero me sale en blanco, ¿no se a que se deba? También te comento que utilce este código, con el veo el cambio directamente en la caja de texto al momento de escribir, me gustaría que me puedas explicar un poco en que consiste tu código y en que parte del código se puede meter, obviamente si es para validar el registro en el php y que lo mande en mayúsculas a la base no puedo verlo por lo que te comento que se guardan en blanco mis registros.
<input style="text-transform:uppercase" type="text"name="Nombre>"
En realidad el código debe ser este, no se porque se formateo así como te aparece:
<?php
  $cadena_origen = "hola mundo"; // Se asigna la cadena a la variable
  $cadena_en_mayuscula = strtoupper(cadena_origen); // Aqui se convierte la cadena origen en MAYUSCULAS
  echo $cadena_en_mayuscula; // Esta linea imprimira: HOLA MUNDO
?>
Hola disculparas mi ignorancia pero no comprendo muy bien, podrías explicarme por ejemplo digamos que mi cadena origen es un <imput type="text"name="Nombre"> voy a poner el código como lo entiendo con este ejemplo, espero me tengas paciencia vale.
<?php
  $cad_or = "Nombre"; // Se asigna la cadena a la variable
  $cad_may = strtoupper(cad_or); // Aqui se convierte la cadena origen en MAYUSCULAS
  echo $cad_may; // Esta linea imprimira: NOMBRE
?>
¿Esto es correcto? ¿O bien este código toma lo que contena la caja nombre y lo cambia? Esa es mi duda
Obtiene lo que tengas en tu caja de texto y realiza un cambio de carácter por ejemplo la 'a' que representa al carácter 97 en el código ASCII la reemplaza por la 'A' que representa al 65 en el la misma codificación.
Hola experto te comento que ya me queda más claro para que funciona el código, pero eh intentado meterlo y no veo cambio alguno, lo que si ya puede hacer es que al momento de escribir se convierta a mayúsculas con el style="text-transform:uppercase" pero de ahí a que me lo guarde como mayúsculas en la base no he tenido suerte, pongo mi código para ver en que estoy mal, de ante mano gracias!
pagina1.php
<HTML>
<HEAD>
<TITLE>Insertar.html</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Insertar un registro</h1>
<br>
<form action="pagina2.php" method="post">
Nombre<br>
<INPUT style="text-transform:uppercase" TYPE="TEXT" name="nombre">
<br>
<br>
<INPUT TYPE="SUBMIT" value="Insertar">
</FORM>
</div>
</BODY>
</HTML>
pagina2.php
<html>
<head>
<title>insertar</title>
</head>
<body>
<?php
$nombre=$_POST[nombre];
$conexion=mysql_connect("localhost","root","")
   or die("Problemas de conexion");
mysql_select_db("prueba",$conexion)
 or die("Problemas en la seleccion de la base de datos");
mysql_query ("insert into datos(nombre) values ('$nombre')",$conexion)
 or die("Problemas en el registro".mysql_error());
mysql_close($conexion);
echo "El nombre fue dado de alta.";
?>
</body>
</html>
Solo agrega la función strtoupper en la linea marcada en negrita
pagina2.php
<html>
<head>
<title>insertar</title>
</head>
<body>
<?php 
$nombre=strtoupper($_POST[nombre]); 
$conexion=mysql_connect("localhost","root","") 
   or die("Problemas de conexion"); 
mysql_select_db("prueba",$conexion) 
 or die("Problemas en la seleccion de la base de datos"); 
mysql_query ("insert into datos(nombre) values ('$nombre')",$conexion) 
 or die("Problemas en el registro".mysql_error()); 
mysql_close($conexion); 
echo "El nombre fue dado de alta."; 
?> 
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas