Buenas.
Tengo un form donde los usuarios pueden loguearse:
<form action="" method="post">
<fieldset>
<div class="form-group">
<input style="width:300px;height:32px;float:center;font-size:13px;margin-left:150px;" class="form-control" placeholder="Nombre de usuario" name="username" type="text">
</div>
<div class="form-group">
<input style="width:300px;height:32px;float:center;font-size:13px;margin-left:150px;" class="form-control" placeholder="Contraseña" name="password" type="password">
</div>
<div style="width:300px;height:32px;float:center;font-size:13px;margin-left:150px;" class="checkbox">
<label>
<input name="remember" type="checkbox" value="Recordar sesión.">Recordar sesión.
</label>
</div>
<center><input type="submit" id="BotonEntrar" name="userlogin" class="BotonEntrar" value=""></center>
</fieldset>
</form>
El nombre de los usuarios YA ESTÁ FIJADO, y SIEMPRE sigue el siguiente formato en la base de datos: Nombre_Apellido. Por ejemplo: Juan_Carlos.
El problema es que, si en el input del login los usuarios ponen noMBre_ApeLlido (sin seguir el formato de mayúsculas en las iniciales) después en el $_SESSION['USER:NAME'] = $_POST['username']; se verá mal el nombre cuando lo inserte en la web. Dirán, ¿por qué no insertas el de la base de datos que arriba mencionaste que ya estaba formateado? Necesito ingresar sí o sí el de la sesión.
<?php
if( isset( $_POST['userlogin'] ) )
{
if( $player = GetVarPlayer( $_POST['username'] ) )
{
if( $_POST['password'] == $player['password'] )
{
if( isset( $_POST['nologout'] ) ) {setcookie("NOLOG:USER", $_POST['username'], time()+3600*24);}
function protege($texto)
{
$texto = str_replace("'", "\'", $texto);
$texto = htmlspecialchars($texto);
$texto = htmlentities($texto);
$texto = trim($texto);
return $texto;
}
$user=protege($_POST['username']);
$pass=protege($_POST['password']);
$sql_check = mysql_query("SELECT * FROM smf_members WHERE member_name='".$_POST['username']."'");
$user_temp = mysql_fetch_array($sql_check);
$contrasena=sha1(strtolower($user).$pass);
if($user_temp['passwd'] != $contrasena) {$sql_update = mysql_query("UPDATE smf_members SET passwd='".$contrasena."' WHERE member_name='".$_POST['username']."'");}
$_SESSION['USER:NAME'] = $_POST['username'];
?>
¿Puedo darle una restricción más estricta al input en cuanto al formato que elegí o puedo formatearlo yo al hacer el $_SESSION['USER:NAME'] = $_POST['username']; para que quede bien (Nombre_Apellido)? ¿Qué me aconsejarían y cómo podría hacerlo?