Header location ne fonctionne pas

Par Mathious Guiguen, il y a 10 ans


Bonjour,
petit soucis avec mon header location qui ne redirige pas vers ma page index.php

code :
<?php

$errors = array(); 

if(!array_key_exists('name', $_POST) || $_POST['name'] == '')
{
    $errors['name'] = "Vous n'avez pas renseigné votre nom !";
}
if(!array_key_exists('email', $_POST) || $_POST['email'] == '' || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))  
{
    $errors['email'] = "Vous n'avez pas renseigné un email valide !";
}
if(!array_key_exists('message', $_POST) || $_POST['message'] == '')
{
    $errors['message'] = "Vous n'avez pas renseigné votre message !";
}

session_start();

if(!empty($errors))
{
    $_SESSION['errors'] = $errors;
    $_SESSION['inputs'] = $_POST; 

    header('Location: index.php');
}
else
{
    $_SESSION['success'] = 1;
    $message = $_POST['message'];
    $headers = 'from : test@local.dev'; 
    mail('mathias.guiguen@gmail.com', 'formulaire de contact', $message, $headers); 

    header('Location: index.php');
}   

?>

Sauriez vous pourquoi ?
PS: je ne travaille pas en local.

Cordialement,

4 réponses

Lartak, il y a 10 ans

Bonsoir.

Sauriez vous pourquoi ?

Que disent tes logs ?

PS: je ne travaille pas en local.

À principe, il ne faut mettre un site en production où des modifications apportées, qu'une fois que celui-ci où celles-ci soi(en)t fonctionnel(les).

Mathious Guiguen, il y a 10 ans

Mes logs ?
Le code que j'ai copié est ma page contact-form qui recoit mes données via le formulaire (index.php).
tout fonctionne parfaitement sauf que je devrais rester sur ma page index.php et non me diriger vers la contact-form qui reçoit les données de mon formulaire.

Lartak, il y a 10 ans

Mes logs ?

Oui, les fichiers de logs d'erreur par exemple.
Soit tu t'es fait un script afin de répertorier les erreurs que tu peux rencontrer niveau php/mysql (par exemple).
Ou alors, dans le dossier log(s) de ton serveur distant.
Le fait de lire les logs permet de savoir directement quelles sont les erreurs qui ont été retournées sur le serveur.
Ce n'est pas juste avec le code que tu nous donnes là, que nous pourrons t'aider.

antho07, il y a 10 ans

Bonjour,

vérifier également si il n'y a pas d'espace avant les balises <?php précedent le session_start et le header location.
Dans ce fichier ou dans tout autre fichier importé en amont de celui-ci.

Et également d'espace après la fermeture ?> dans un fichier en amont.