Problema con el login en php

Muy buenas llevo varios dias buscando sobre el problema que yo tengo y nada no consigo solución.

Decir que el sistema lo he hecho yo y seguramente tenga algun fallo el caso esq no consigo saber cual, puesto que parece que funciona pero no hace lo que yo quiero.

Resulta que cuando la persona esta logueada una vez le de a loguear en el formulario, le deberia salir el mensaje de Bienvenido: el nombre del usuario en la db y algo mas de texto.

El bienvenido lo pone pero no pone el nombre de usuario al que hace referencia.

pongo el codigo tanto del formulario como el php que valida todo y loguea.


HTML:
<form action="login/validar_usuario.php" method="post">
<p>Usuario:
<input type="text" name="usuario" size="20" maxlength="20" /> <br />  
Password:
<input type="password" name="password" size="10" maxlength="10" /><br />
<input type="submit" value="Iniciar sesión" />
</p>
  <p><a href="registrar.php">Registrate</a> </p>
  <p><a href="index.php">Inicio</a></p>
</form>

PHP para el login:

<?php
session_start();

//conexion a la base de datos.
include("../conexion.php");

if($_POST['usuario']){
	//conprovacion del envio del usuario y pass.
	$user=$_POST['usuario'];
	$contra=$_POST['password'];
	if($contra!=null){
		echo 'Por favor introduzca una contraseña';
		}else {
			$consu= mysql_query('SELECT * FROM usuarios WHERE usuario="$user"')or die(mysql_error());
			$data= mysql_fetch_array($consu);
		if($data['password'] != $contra){
			echo 'Contraseña invalida';
			}else{
			$consu= mysql_query('SELECT * FROM usuarios WHERE usuario="$user"')or die(mysql_error());
			$row= mysql_fetch_array($consu);
			$_SESSION['s_usuario'] = $row['usuario'];
			echo 'Bienvenido:'.$_SESSION['s_usuario'].' ya tienes acceso';	}
			}
	}
?>
Para poder comprobar el problema que tengo os dejo el link para que lo probeis, el user el mecanico y no tiene pass.
http://smr1gmjesuitas.16mb.com/index.php?a=login
Gracias de ante mano, y espero que hayais podido entender mi problema.
Hola no soy un experto pero creo que estas pasando una variable que no es $_usuario podria ser esta $user para que te salga el nombre y demas pruebalo podria ser pero no estoy seguro un saludo
$_SESSION['s_usuario'] = $row['usuario'];
echo 'Bienvenido:'.$_SESSION['s_usuario'].' ya tienes acceso';
en realidad la de $user solo seria para lo que recibe del formulario
el resto lo cogeria de la base de datos,

$consu= mysql_query('SELECT * FROM usuarios WHERE usuario="$user"')or die(mysql_error());
aqui estoy seleccionando toda la tabla usuarios pero filtrandolo por usuario.

$row= mysql_fetch_array($consu);
en esta otra guardo los resultados de $consu en un array dentro de $row.

osea que creo que estaria bien mi forma, lo que no se es porq no sale nada
ya que dentro de la base de datos si tengo el nombre de usuario puesto.

de todas maneras gracias por tu respuesta [:o]
como te dije no soy un experto pero me gustan los codigos y asi tambien aprendo pero no quiero liar la madeja por eso digo que no estoy seguro


FROM usuarios WHERE usuario="$user"')or die(mysql_error()); $row= mysql_fetch_array($consu);
aqui le estas dando el $user y lo pasas al array entonces no deverias presentarlo al final con el $user no se digo
esto no se usa para recivir los resultados de un formulario se hace con variables esto es para recivir de la base de datos
FROM usuarios WHERE usuario="$user"')or die(mysql_error()); $row= mysql_fetch_array($consu);
lo que estoy haciendo al meter el $user dentro de la query, es filtrar los resultados a ese nombre de usuario una vez los tenga, lo que hago es introducir todos los datos que hay en esa fila a la variable $row.

Y asi sacar el nombre de usuario de la tabla de la DB.

espero que me ayas entendido :confused:
pero no te sale el nombre creo porque tu teoria y practica no esta bien
usando esa forma de filtrar espera que te lo aclare alguien y te lo solucionara los hay muy buenos en este foro un saludo
Prueba este codigo modificado del que posteaste, en teoria deberia funcionar.

<?php
session_start();

//conexion a la base de datos.
include("../conexion.php");

if($_POST['usuario']){
	//conprovacion del envio del usuario y pass.
	$user=$_POST['usuario'];
	$contra=$_POST['password'];
	if(empty($contra) or empty($user)){   // Verifica que las variables no esten vacias
		echo 'Por favor introduzca una contraseña';
		}else {
		// Se busca en la base de datos todos los usuarios en los que el usuario y el password sean los indicados, en teoria solo uno
			$consu= mysql_query("SELECT * FROM usuarios WHERE usuario='$user' AND password='$contra'")or die(mysql_error());
		if(mysql_num_rows($consu)!=1){  // Se comprueba que solo se aya encontrado una coincidencia usuario<=>Password
			echo 'Contraseña invalida';
			}else{
            $data= mysql_fetch_array($consu);
            // Las siguientes dos lineas son inecesarias
			//$consu= mysql_query('SELECT * FROM usuarios WHERE usuario="$user"')or die(mysql_error());
			//$row= mysql_fetch_array($consu);
			$_SESSION['s_usuario'] = $data['usuario'];
			echo 'Bienvenido:'.$_SESSION['s_usuario'].' ya tienes acceso';	}
			}
	}
?>