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


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).

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.

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.

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.