Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: uluigi en 11 Julio 2015, 22:20 PM

Título: Aporte de login + dudas generales que tengo
Publicado por: uluigi en 11 Julio 2015, 22:20 PM
Hola a todos, veréis, estoy empezando con PHP y he creado este login con session_start() y os lo dejo aquí:

<?php
session_start();
$passwd '1234';

if($_POST['passwd']) {
if($_POST['passwd'] == $passwd) { $_SESSION['passwd'] = 'session'; }
else { "<span>Contrase&ntilde;a incorrecta."; }
}
if(!$_SESSION['passwd']) {
?>

<h2>Inicio de sesi&oacute;n</h2><hr>
<form method="post" action="">
<input type="password" name="passwd">
<input type="submit" name="login" value="Iniciar sesión">
</form>
<?php
} else {
if($_GET['exit']) {
session_destroy();
exit("Desconectado correctamente.");
}
?>

<a href="?exit=true">Cerrar sesi&oacute;n</a>
<?php ?>

Me gustaría que opinaseis sobre qué os parece el código, si está bien estructurado, si necesita algo más o sobra algo. Porque hay gente que dice que mientras que funcione está bien, pero a mí eso no me cunde, tiene que funcionar y con el mínimo código posible pero con sus líneas necesarias de seguridad, ya me entendéis.
Mi cuestión para los avanzados en PHP es:
Cómo definir las Undefined index de otra forma que no sea:

if(empty($_POST['passwd'])) {
$_POST['passwd'] = '';
}

Saludos a todos.
Título: Re: Aporte de login + dudas generales que tengo
Publicado por: engel lex en 12 Julio 2015, 02:34 AM
Código (php) [Seleccionar]
if($_POST['passwd'])

debería ser

Código (php) [Seleccionar]
if(isset($_POST['passwd']))