brsastre Posted December 3, 2015 Share Posted December 3, 2015 Hi. I am relatively new to PHP. I'm trying to make a user authentication, and sending the user to another page if succeeded, with the following code: <?php include ('../conexion.php'); $nombreUsuario = $_POST['nombreusuario']; $password = $_POST['password']; var_dump($nombreUsuario); var_dump($password); $consultaAdmin= "SELECT * FROM usuarios WHERE nombre_usuario = '$nombreUsuario' AND password = '$password' AND tipo = 'admin'"; $resultadoAdmin = mysqli_query($conn , $consultaAdmin); $cantidad= mysqli_num_rows($resultadoAdmin); if($cantidad==1) { header("location:listado_recetas.php?bienvenida=si"); }else { header("location:index.php?error=si"); } ?> I am getting this error: string( "brsastre" string(10) "igor123123" Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/recetario/admin/validar.php:7)... If I remove var_dump's it works just fine. Why is this happening? Quote Link to comment Share on other sites More sharing options...
NotionCommotion Posted December 3, 2015 Share Posted December 3, 2015 Once you echo anything, you cannot set any headers or sessions. Do all your work first, and then display content. Even a simple empty space is too much. PS. You are not escaping your SQL. Recommend using prepared statements all the time until you know when you can do differently Quote Link to comment Share on other sites More sharing options...
mikesta707 Posted December 3, 2015 Share Posted December 3, 2015 Try removing/commenting out the vardumps. As Notion said, you can't send headers after you have output something to the page. Also make sure there isn't even a space before your PHP tags, or any HTML tags above it. Those vardumps look like the culprits though. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.