Ich versuche, ein Login und registrieren System in PHP zu machen, und ich halten einen Fehlercode erhalten, wenn i header("Location: index.php")
verwenden und dies ist der Fehler, den ich bekommen:Header Speicherort PHP funktioniert nicht?
Warnung: Header-Informationen ändern kann nicht - Header bereits gesendet (Die Ausgabe wurde unter C: \ Benutzer \ Omg \ Desktop \ XAMPP \ htdocs \ Webseiten \ Social-Network \ register.php: 43) unter C: \ Benutzer \ Omg \ Desktop \ XAMPP \ htdocs \ Webseiten \ Social-Network \ register gestartet .php on line 141 index.php
Hier ist meine PHP-Code:
if(!empty($_POST)) {
if(empty($_POST['username'])){
echo("Please enter a Display Name<br />");
}
if(empty($_POST['password'])){
echo("Please enter a password<br />");
}
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
echo("Please enter a valid email address<br />");
}
$query = "
SELECT
1
FROM users
WHERE
username = :username
";
$query_params = array(
':username' => $_POST['username']
);
try{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex) {
die("Failed to run query: ");
}
$row = $stmt->fetch();
if($row){
echo("This name is taken by another person<br />");
}
$query = "
SELECT
1
FROM users
WHERE
email = :email
";
$query_params = array(
':email' => $_POST['email']
);
try{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex) {
echo("Failed to run query: ");
}
$row = $stmt->fetch();
if($row){
echo("This email is already taken!<br />");
}
$query = "
INSERT INTO users (
username,
password,
salt,
email
) VALUES (
:username,
:password,
:salt,
:email
)
";
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
$password = hash('sha256', $_POST['password'] . $salt);
for($round = 0; $round < 65536; $round++) {
$password = hash('sha256', $password . $salt);
}
$query_params = array(
':username' => $_POST['username'],
':password' => $password,
':salt' => $salt,
':email' => $_POST['email']
);
try{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}catch(PDOException $ex) {
echo("Failed to run query: ");
}
header("Location: index.php");
die("index.php");
}
Ich benutze eine Website, um mir dabei zu helfen, ich habe auch eine Datenbankverbindung, aber das erwähnt es nicht. Jede Hilfe wäre willkommen.
gut - schauen Sie sich die Fehlermeldung an und was sie Ihnen zu sagen versucht: Sie ** können ** keine Header senden ** nachdem ** Sie Inhalte gesendet haben! –
Ich sende es sogar vor dem ganzen Code, aber immer noch mit einem Fehler –
Hier ist die Website: [http://forums.devshed.com/php-faqs-stickies-167/program-basic-secure-login-system- using-php-mysql-891201.html] (Link) –