haber amigo, te pongo los errores y el nuevo codigo para que lo reemplazes.
1. session_start() debe siempre estar al inicio.
2. en $dbusername no cerraste comillas.
3. cuando quieras preguntar por si existe una variable "if ($_POST['username'])", tienes que anteporner la clausula isset.
4. tampoco cerraste la comilla del valor de $_SESSION["s_username"].
5. no llames a bd si no es necesario, trata de utilizar menos lienas de codigo.
6. te falto el codigo para redireccionar a la pagina si es si o no segun la opcion.
7. ultimo, trata de tabular tus sentencias, maneja el orden.
codigo php:
Código PHP:
<?php
session_start();
// Configura los datos de tu cuenta
$dbhost='XXX';
$dbusername='XXX';
$dbuserpass='XXX';
$dbname='XXX';
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if (isset($username){
if ($password==NULL){
echo "<p>La password no fue enviada</p>";
}else{
$query = mysql_query("SELECT username,password,opcion FROM users WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
if($row['password'] != $password) {
echo "<p>Login incorrecto</p>";
}else{
$_SESSION["s_username"] = $row['username'];
if($row['opcion']=='si'){
header('location: pagina1.php');
}else{
header('location: pagina2.php');
}
}
}
}
?>
aunque dejame decirte que no es lo mas apropiado, sino te funciona, dime y te paso un codigo que yo utilizo para el logeo.
surte.