PHP header()不起作用

I'm trying to redirect the user if their input is not in the database

$checkid = $_POST["id"];

$query = "SELECT id, Status FROM profileinfo WHERE id=$checkid";

$res = mysqli_query($link, $query);

$nres = mysqli_num_rows($res);

if ($nres == 0) {
    header( "Location: login.php"));
    exit();
}

And it doesn't redirect .. it just gives a blank page. There aren't any HTML tags before or after, nor any echo's.

You have one ) too many in header( "Location: login.php"));

Use:

header("Location: login.php");

Plus I believe the space between ( and " could also have an effect. I've seen it happen before.

Sidenote: Using an absolute URL (http://) over a relative one is recommended, as Dagon noted and is also mentioned in the manual on PHP.net

Edit: I must admit, I made a slight mistake about the space between ( and " however there is some truth to this as I got mixed up with having a space between " and Location should that ever happen (to anyone reading this); the header will not redirect. I.e.: header(" Location: login.php"); would be invalid. This has been tested.

There is an extra ), have you checked the syntax error?

header( "Location: login.php"));
                              ^

I got fed up typing in a comment box, so here's an alternative answer :)

The root problem is the unhelpful blank screen, while you are developing you want to see any errors that come up.

I'd recommend you set the following PHP options:

display_errors On
error_reporting -1
html_errors On

How to add these settings? Depends on your exact system... but if you have an apache server the easiest way is probably to add a file named .htaccess in the same folder as your PHP files. In that case your file will look like this:

# this is your .htaccess file
php_flag display_errors On
php_value error_reporting -1
php_flag html_errors On

Apache will read this file and pass the runtime settings to PHP. More info here:

http://uk1.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

and here:

http://www.php.net/manual/en/configuration.changes.php

One extra piece of advice - when you launch your site change display_errors to Off so you don't give hackers a helping hand.