Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/06/2008, 15:48
sub7
 
Fecha de Ingreso: junio-2008
Mensajes: 34
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ¿Como hago un formulario con USUARIO Y PASSWORD?

Buenas, te copio aqui mi dos paginas para el login, una un formulario en html y la otra la validacion en php.
Espero que te sirva, ami me va de arte.

LOGIN.HTML
Código HTML:
<form name="formu" action="login.php" method="post">
<table bgcolor="#DADADA" border="0" cellpadding="1" cellspacing="1" align="center">
	<tr>
		<td bgcolor="#CCCCCC" align="center" colspan="2">
			<b>LOGIN</b>
		</td>
	</tr>
	<tr>
		<td align="right">
			<b>Usuario:</b>&nbsp;
		</td>
		<td align="left">
		<input type="text" maxlength="10" name="usu_form">&nbsp;
		</td>
	</tr>
	<tr>
		<td align="right">
			&nbsp;<b>Pasword:</b>&nbsp;
		</td>
		<td align="left">
		<input type="password" maxlength="10" name="pass_form">&nbsp;
		</td>
	</tr>
	<tr>
		<td colspan="2" align="center">
		<input type="submit" value="L O G I N">
		</td>
	</tr>
	<tr>
		<td align="center" colspan="2">
			&nbsp;¿No estas registrado? <a href="registro.html"><font color="#000000"><b>REGISTRATE</b></font></a>&nbsp;
		</td>
	</tr>
</form>
</table> 
LOGIN.PHP
Código HTML:
<?
# INICIAMOS LA SESSION
session_start();
session_name('permiso');
# NOS CONECTAMOS AL SERVIDOR
$conexion=mysql_connect("localhost","root","")
					or die("Error en la lina: ".__LINE__." de tu codigo.<br>El motivo del error es: ".mysql_error()."<br>En conclusion: No se ha podido conectar al servidor.");

# USAMOS LA BDD
$use = mysql_select_db("free",$conexion)
	or die("Error en la linea: ".__LINE__." de tu codigo.<br>El motivo del error es: ".mysql_error()."<br>En conclusion: No se ha podidos usar la BDD free.");	

# HACEMOS LA CONSULTA
$sql = "SELECT permiso, alias, passwd, permitido
		FROM usuario
		WHERE alias = '".$_POST['usu_form']."'";

$valores=mysql_query($sql)
	or die("Error en la linea: ".__LINE__." de tu codigo.<br>El motivo del error es: ".mysql_error()."<br>En conclusion: No se ha realizado la consulta");			

$registro=mysql_fetch_array($valores);

# COMPROBAMOS DATOS
$nick=$registro['alias'];
$passwd=$registro['passwd'];
$nick_form=$_POST['usu_form'];
$passwd_form=$_POST['pass_form'];
$permitido=$registro['permitido'];

# SESSION
$_SESSION["permiso_s"] = $registro['permiso'];

if ($nick_form==$nick && $passwd_form==$passwd){
	if ($_SESSION["permiso_s"]=="1"){
?>
	<script language="JavaScript">
		location.href="zona2.php";
	</script>
<?
}
	if ($_SESSION["permiso_s"]=="3"){
?>
	<script language="JavaScript">
		location.href="zona2.php";
	</script>
<?
}
	if ($_SESSION["permiso_s"]=="2" && $permitido=="2"){
?>
	<script language="JavaScript">
		alert('A espensas de permisos del administrador')
		location.href="home.html";
	</script>
<?
	}
	if ($_SESSION["permiso_s"]=="2"){
	?>
	<script language="JavaScript">
		location.href="zona.php";
	</script>
<?
	}
}
if ($nick_form!=$nick || $passwd_form!=$passwd){
session_destroy();
$url="Location:login.html";
header($url);	
?>
	<script language="JavaScript">
		location.href="login.html";
	</script>
<?
}
if ($nick_form=="" || $passwd_form==""){
?>
	<script language="JavaScript">
		location.href="login.html";
	</script>
<?
}
?> 
Por cierto, tambien te dejo el LOGOUT.PHP
Código HTML:
<?
session_start();
$_SESSION["permiso_s"];
$_SESSION=array();
session_destroy();
$url="Location:home.html";
header($url);
?> 
PD: Con el maxlength="10" no sirve la inyeccion SQL, ya que son 11 caracteres.

Un saludo.

Última edición por sub7; 09/06/2008 a las 15:54