1. ¡Hey! :) Te invitamos a conocer DirectorioVPS, el nuevo proyecto hermano de ComunidadHosting.

problemas en php

Tema en 'Programación y Diseño Web' iniciado por sasuke_uchiha, 16 Ene 2009.

  1. sasuke_uchiha

    sasuke_uchiha New Member

    hola............
    alguien me puede decir como corrijo este error y como hago para redireccionar a una pag desde el login de un usuario.
    aqui les dejo el error que me aparce......

    Warning: Cannot modify header information - headers already sent by (output started at ..............

    este es el codigo que uso................
    <?
    // Configura los datos de tu cuenta
    $dbhost='localhost';
    $dbusername='alancein_alejo';
    $dbuserpass='alejob6005901';
    $dbname='alancein_usuarios';

    session_start();

    // Conectar a la base de datos
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    mysql_select_db($dbname) or die('Cannot select database');
    ?>
    <form action='login.php' method='POST'>
    <table style='border:1px solid #000000;'>
    <tr>
    <td align='right'>
    Nombre de usuario: <input type='text' size='15' maxlength='25' name='username'>
    </td>
    </tr>
    <tr>
    <td align='right'>
    Password: <input type='password' size='15' maxlength='25' name='password'>
    </td>
    </tr>
    <tr>
    <td align='center'>
    <input type="submit" value="Login">
    </td>
    </tr>
    </table>
    </form>
    <?
    if ($_POST['username']) {
    //Comprobacion del envio del nombre de usuario y password
    $username=$_POST['username'];
    $password=$_POST['password'];
    if ($password==NULL) {
    echo "La password no fue enviada";
    }else{
    $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
    $data = mysql_fetch_array($query);
    if($data['password'] != $password) {
    echo "Login Incorrect";
    }else{
    $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
    $row = mysql_fetch_array($query);
    $_SESSION["s_username"] = $row['username'];
    echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
    Header("Location: index.php");

    }
    }
    }
    ?>

    ayuda por favor urgente:eek:
  2. Apolo

    Apolo Administrator Miembro del Staff

    ¿Cuál es el mensaje de error completo?

    En el mensaje de error te van a aparecer los nombres de uno o dos archivos. Pega el código de ese o esos archivos y utiliza por favor las etiquetas [P H P] al hacerlo.

    Saludos,
  3. EmiSaez

    EmiSaez Member

    sasuke, te recomendaría no postear en foros públicos usuarios y (mas que nada) contraseñas. Y menos de bases de datos. No por que nosotros seamos malos y te vayamos a hacer algo, sino por que dicha información está mas que al alcance de todo el mundo... lo cual comprenderás que no es lo mas aconsejable.

    Respecto al error, y tal como te consulta Apolo, sin ver el error completo nos estás complicando la tarea. Pero, en principio, estoy seguro que te va a patalear el usar el "Header("Location:..." cuando ya enviaste información a la cabecera.
    Con esto te quiero decir que la redirección debes aplicarla antes de mostrar cualquier tag en HTML. Es decir, debería estar arriba de todo, antes del <head>...

    No te puedo asegurar que ese sea el error que te está trabando, ya que no posteaste el error completo; pero de seguro que así como está, no te va andar y te mostrará un error muy similar al que publicaste parcialmente.


    Saludos! :aprueba:
  4. rigoxls

    rigoxls New Member

    Buenos dias, alguna vez tuve un problema similar con las redirecciones, lo que yo use y que en mi caso a mi me funciono fue este codigo al inicio del tag php al inicio de pagina

    ob_start();

    Esta función habilitará el uso de búferes de salida. Mientras los búferes de salida están activos no se envía salida desde el script (más que las cabeceras), en su lugar la salida es almacenada en un búfer interno.
  5. 29a

    29a New Member

    el error se debe a que imprimes algo en la pantalla antes de enviar la cabecera..........




Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


Sitios amigos: GuiaHosting · Unidominios · Interalta · Forocreativo