Mon header(location:index.php) ne marche pas !

Résolu/Fermé
MrAkiroKun Messages postés 29 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 22 janvier 2016 - 2 sept. 2014 à 21:00
 benoit - 8 janv. 2017 à 12:38
Bonjour,

Je suis Développeur Web depuis un ans, et j'ai voulu me lancer dans la création d'un réseau social (gros projet je sais) mais j'ai un problème avec le script d'inscription :


<?php
include('includes/config.php');
if(isset($_SESSION['pseudo'])){
header('Location:index.php');
}
if(isset($_POST['envoyer'])){
if(isset($_POST['pseudo']) AND !empty($_POST['pseudo']) AND isset($_POST['email']) AND !empty($_POST['email']) AND isset($_POST['password']) AND !empty($_POST['password']) AND isset($_POST['password2']) AND !empty($_POST['password2']))
{
//Tous les champs ont été remplis
$pseudo = $_POST['pseudo'];
$email = strtolower($_POST['email']);
$link_img = "http://www.gravatar.com/avatar/" . md5($email);
$password = md5($_POST['password']);
$password2 = md5($_POST['password2']);
$longueur_pseudo = strlen($pseudo);

if($longueur_pseudo<=30)
{
//Le pseudo respecte le format
if($password == $password2)
{
//Les mots de passe sont identique
$query = $DB->prepare('INSERT INTO membres(pseudo, email, password, link_img) VALUES (:pseudo, :email, :password, :link_img)');
$query->execute(array(
'pseudo' => $pseudo,
'email' => $email,
'password' => $password,
'link_img' => $link_img
));
$dir = strtolower("../users/".$pseudo);
$content = "<p>Page personnel</p>";
if($pseudo)
{
mkdir($dir);
$open = fopen($dir."/index.php", "w"); // tu as plusieurs mode d'ouverture regarde sur internet (W write, R read)

fwrite($open, $content);
fclose($open);
}
else
{
header('location:index.php');
}
header('location:index.php');
}
else
{
$erreur = "Les mots de passe ne correspondent pas !";
}
}
else
{
$erreur = "Le pseudo ne doit contenir que 30 caractère maximum !";
}
}
}
else
{
$erreur = "Tous les champs sont obligatoire !";
}
?>

A voir également:

2 réponses

Utilisateur anonyme
2 sept. 2014 à 22:24
Bonjour

Lequel de tes headers ne marche pas ?
As-tu un message d'erreur ?
Es-tu sûr de ne rien envoyer avant le premier <?php ? Pas le moindre espace, passage à la ligne ? Pas de BOM ? Le BOM est un caractère invisible que certains éditeurs ajoutent en début des fichiers en UTF8, il faut alors enregistrer son fichier en précisant l'option "sans BOM".
Je te remercie mais tellement ! Je galérais depuis plusieurs heures sur ça et tout marche enfin!! Merci!
0
Merci, j'avais le même problème. C'était mon fichier 'connectDb.php' que j'incluais au début du script qui était en UTF8 normal, il a fallu le mettre sans BOM.
0