j'ai un code qui marche bien mais dès que je met un: location: header... ça me met un message d'erreur:
Warning: Cannot modify header information - headers already sent by(output started at /var/www/vhost/xxxxx/home/html/haut_color.php:4) in /var/www/vhost/xxxxxx/home/html/verification.php on line 257
aidez moi SVP
je vous remercie d'avance
inscription.php
verification.php
mail_validate.php
Warning: Cannot modify header information - headers already sent by(output started at /var/www/vhost/xxxxx/home/html/haut_color.php:4) in /var/www/vhost/xxxxxx/home/html/verification.php on line 257
aidez moi SVP
je vous remercie d'avance
inscription.php
<?php
session_start();
require_once('config.php');
require_once "verification.php";
$titre_page='Inscription';
include_once('haut_color.php');
?>
<form method='post' action='inscription.php' enctype='multipart/form-data'>
<?php
/**************************VALIDATION*********************************/
if (isset($_POST["email"]))
{
//echo'inscription';
// Verification et envoi du mail de confirmation
inscription();
}
else if(isset($_GET["code"]))
{
echo'code_check';
// Verification du code et blacklistage si besoin
code_check($_GET["code"],$_GET["BL"]);
}
/************************************************************/
?>
<table width="520" border="0" align="center">
<tr>
<td colspan="2" class="menu">Formulaire d'Inscription</td>
</tr>
<tr>
<td><label for="pseudo">
<div align="left">Pseudo (5 à 15 caractères)* </div>
</label></td>
<td><input name="pseudo" type="text" id="pseudo" value="<?php if(isset($_POST['pseudo'])) echo $_POST['pseudo']; ?>"/></td>
</tr>
<tr>
.....................
</table></td>
</tr>
<tr>
<td><div align="left"><font face="Arial"><font size="-1">Adresse* </font></font></div></td>
<td><div align="left">
<input type="text" name="adresse_livraison" id="adresse_livraison" size="25" value="<?php if(isset($_POST['adresse_livraison'])) echo $_POST['adresse_livraison']; ?>"/>
</div></td>
</tr>
<tr>
<td><div align="left"><font face="Arial"><font size="-1">Ville* </font></font></div></td>
<td><table border="0" cellspacing="0" cellpadding="0" width="400" >
<tr>
<td nowrap="nowrap" width="95"><input type="text" name="ville_livraison" id="ville_livraison" size="12" value="<?php if(isset($_POST['ville_livraison'])) echo $_POST['ville_livraison']; ?>"/></td>
<td nowrap="nowrap" width="10"> </td>
<td nowrap="nowrap" width="106"><div align="left"><font face="Arial"><font size="-1"> Code postal*: </font></font></div></td>
...................... align="left">
<input name="submit2" type="submit" value="Valider" />
</div>
<div align="right"><a href="connexion.php"></a> <a href="connexion.php">Retour</a></div>
</div></td>
</tr>
</table>
</div>
</form>
<!-- <center><a href="connexion.php"></a>
</center>-->
<?php
include_once('bas.php');
?>
verification.php
<?php
session_start();
function inscription()
{
require_once('config.php');
//$titre_page='Verification';
//include_once('haut_color.php');
$email=formulaires($_POST['email']);//$email=htmlentities($_POST['email']);
$pseudo=formulaires($_POST['pseudo']);
............
$pays_livraison=formulaires($_POST['pays_livraison']);
/**************************************/
$page=$serveur.$_SERVER["PHP_SELF"];
/***************************************/
$IP=$_SERVER['REMOTE_ADDR'];
$heure=time();
/*************************************************/
// Attendre qu'il n'y ait pas d'autres user avec le même numéro de session.
do
{
$cle_activation=md5(time());
$resultat = mysql_query("SELECT * FROM membres WHERE cle_activation='$cle_activation'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));
/**************************************************************/
//// VERIFICATIONS BANALES ////
if(!$mdp || !$mdp2 || strlen($mdp) < 5 || strlen($mdp) > 15)
{
echo'<div align="center" ><p><strong>Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe n\'est pas compris entre 5 à 15 carractères</strong></p><br />';
echo"<script>alert(\"Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe n\'est pas compris entre 5 à 15 carractères ! \")</script>";
include_once('bas.php');
return FALSE;
}
if($mdp!=$mdp2)
{
echo'<div align="center" ><p><strong>Votre mot de passe n\'est pas le meme que sa confirmation</strong></p><br />';
echo"<script>alert(\"Votre mot de passe n\'est pas le meme que sa confirmation ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$pseudo || strlen($pseudo) < 5 || strlen($pseudo) > 15)
{
echo'<div align="center" ><p><strong>Votre pseudo est inexisant ou n\'est pas compris entre 5 et 15 carractères</strong></p><br />';
echo"<script>alert(\"Votre pseudo est inexisant ou n\'est pas compris entre 5 et 15 carractères ! \")</script>";
include_once('bas.php');
return FALSE;
/*header('Location:inscription.php?eerror=ee_pseudo');
return FALSE;*/
}
if(!$email || !VerifierAdresseMail($email))
{
echo'<div align="center" ><p><strong>Veuillez entrer ou vérifier votre adresse e-mail</strong></p><br />';
if(!$ville)
{
echo'<div align="center" ><p><strong>Veuillez entrer le nom de votre VILLE</strong></p><br />';
echo"<script>alert(\"Veuillez entrer le nom de votre VILLE ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$pays)
{
echo'<div align="center" ><p><strong>Veuillez entrer votre PAYS</strong></p><br />';
echo"<script>alert(\"Veuillez entrer votre PAYS ! \")</script>";
include_once('bas.php');
return FALSE;
}
if(!$titre)
{
echo'<div align="center" ><p><strong>Veuillez indiquer votre civilité</strong></p><br />';
echo"<script>alert(\"Veuillez indiquer votre civilité ! \")</script>";
include_once('bas.php');
return FALSE;
}
....................
/*************************/
if($code_postale_livraison){
if(strlen($code_postale_livraison )!= 5 || !is_numeric($code_postale_livraison))
{
echo'<div align="center" ><p><strong>Veuillez vérifier votre CODE POSTALE de livraison</strong></p><br />';
echo"<script>alert(\"Veuillez vérifier votre CODE POSTALE de livraison ! \")</script>";
include_once('bas.php');
return FALSE;
}
}
/************************************/
//// VERIFICATIONS DES EXISTANCES ////
$reponse_mail=mysql_query("SELECT email FROM membres WHERE email='$email'") or die ('Erreur : '.mysql_error()); //verification si e-mail existe déjà
$count_mail=mysql_num_rows($reponse_mail);
if($count_mail == 1)
{
echo'<div align="center" ><p><strong>Cet E-mail existe déjà</strong></p><br />';
echo"<script>alert(\"Cet E-mail existe déjà ! \")</script>";
include_once('bas.php');
return FALSE;
}
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error()); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 1)
{
echo '<div align="center" ><p><strong>Ce Pseudo existe déjà</strong></p><br />';
echo"<script>alert(\"Ce Pseudo existe déjà ! \")</script>";
include_once('bas.php');
return FALSE;
}
//verification si le numéro de cleint existe déjà
do
{
for ($ligne=0;$ligne<30;$ligne++) //Création d'un identifiant aléatoire
{
@$session.=substr('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN',(rand()%(strlen('0123456789AZERTYUIOPMLKJHGFDSQWXCVBN'))),1);
}
/***************************************************/
$resultat = mysql_query("SELECT * FROM membres WHERE session='$session'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));
$mdp=md5($mdp); //Codage du mot de passe
/*************************************************************/
//$cle_activation=md5(time());
$resultat = mysql_query("SELECT * FROM membres WHERE email='$email' AND level='blacklist'");
if(false!=($ligne = mysql_fetch_array ($resultat))){
echo '<div align="center" ><p><strong>L\'adresse e-mail (".$email.") est dans la liste noire. Utilisez une autre adresse mail.</strong></p><br />';die('Erreur : '.mysql_error());} // Si l'e-mail est dans la blacklist
$subject = "Veuillez confirmer votre inscription";
$headers = "From: bitta@hotmail.fr\n";
$message = "Veuillez confirmer votre inscription\n";
$message .= "Bonjour ".$nom."\n\n";
$message .= "Vous avez reçu ce mail parce que vous ou quelqu'un d'autre utilisant votre adresse mail s'est enregistré sur le site ".$site_name.".\n";
$message .= "Pour valider cet inscription, cliquez sur ce lien :\n http://edgepcb.com/".$page."?code=".$cle_activation."&BL=0 \n";
$message .= "Si vous vous n'êtes pas inscrit sur ".$site_name.", veuillez ignorer ce message et accepter nos excuses.\n";
$message .= "Vous pouvez aussi choisir d'ajouter votre mail à notre blacklist pour ne plus recevoir de mail d'inscription de notre part en cliquant sur ce lien :\nhttp://edgepcb.com/".$page."?code=".$cle_activation."&BL=1 \n";
$message .= "Votre e-mail a été envoyé de l'IP ".$IP.".\n\n";
$message .= "Cordialement,\n";
$message .= "Le Webmaster";
// Envoi du mail
/**************/
/*****************************/
if(@mail($email, $subject, $message, $headers))
{
mysql_query("INSERT INTO membres VALUES ('', '$session', '$pseudo', '$mdp', '$email', '$societe','$siret','$adresse','$code_postale', '$ville', '$pays', '$titre','$nom', '$prenom', '$telephone', '$mobile', '$fax','$cle_activation','en_attente','$IP','$heure','$societe_livraison','$adresse_livraison','$ville_livraison','$code_postale_livraison','$pays_livraison')") or die ('Erreur : '.mysql_error());//insertion dans la bdd
/**************/
mysql_close();
/*****************************/
//mysql_query($query);
// mysql_close();
/*$page_confirmation = "<div align='center' >Merci pour votre inscription !<br />Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".";
$page_confirmation .= '<div align="center" >Veuillez confirmer l\'inscription en cliquant sur le lien se trouvant sur le mail.<br />';
echo $page_confirmation;*/
header('Location:mail_validate.php?ok=i_email');
return false;
}
else
{
header('Location:mail_validate.php?ok=in_email');
return false;
/*echo '<div align="center" ><p><strong>Le mail de confirmation n\'a pu être envoyé. Peut-être que l\'adresse n\'est pas valide. Veuillez contacter le webmaster s\'il vous plait</strong></p><br /><a href="inscription.php" onClick="history.back()">Retour</a>';
//include_once('bas.php');
//return FALSE;*/
}
}
//-------------------------------------------------------------------------------
// Fonction de vérification de l'adresse de confirmation
// - Suppression des utilisateurs n'ayant pas confirmer avant la durée impartie
// - Extraction de la personne concernée
// - Validation de son enregistrement
// - Si l'on veut être blacklisté, après confirmation on effectue le blacklistage
// - Le webmaster recoit un mail lorsque l'inscription est validé
//-------------------------------------------------------------------------------
function code_check($code="",$BL="")
{
require "config.php";
$heure=time();
// On profite de l'occasion pour supprimer les users n'ayant pas confirmé dans la durée impartie
$heure2=$heure-$validite;
mysql_query("DELETE FROM membres WHERE heure<$heure2AND level='en_attente'");
// On extrait la personne qui souhaite valider son inscription
$cle_activation=$code;
$resultat = mysql_query("SELECT * FROM membres WHERE cle_activation ='$cle_activation' AND level='en_attente'");
if(false==($ligne = mysql_fetch_array ($resultat)))
{
mysql_close();
$page_validation = "Ce code n'existe pas, est expiré ou à déjà été validé, veuillez remplir à nouveau le formaulaire : <a href=\"".$_SERVER["PHP_SELF"]."\">here</a>.";
}
else
{
// Si l'utilisateur vient pour confirmer, on passe son level de "en_attente" à "registered"
if($BL==0)
{
mysql_query("UPDATE membres SET level='registered' WHERE cle_activation ='$cle_activation' AND level='en_attente'");
$page_validation = "Merci, vous êtes maintenant enregistré ! Vous pouvez maintenant vous connectez librement <a href='connexion.php'>Identifiez vous !</a>'";
if ($mail_controle==1)
{
$subject="Nouvelle inscription sur$site_name";
$message="Bonjour,\n\n";
$message.="Un nouveau membre vient de s'inscrire :\n";
$message.="Nom : ".$ligne["nom"]."\n";
$message.="E-Mail : ".$ligne["email"]."\n";
$headers="From: mohaalba1@hotmail.fr\n";
@mail($votre_email, $subject, $message, $headers);
}
}
// Si l'utilisateur vient pour être blacklisté, on passe son level de "en_attente" à "blacklist"
// Mais avant une petite confirmation
if($BL==1)
{
$page_validation = "Vous souhaitez ajouter votre adresse mail à notre blackliste. Cliquez <a href=\"".$_SERVER["PHP_SELF"]."?code=".$code."&BL=2\">ici</a> pour que vous puissiez confirmer.";
}
// Si l'utilisateur a confirmé qu'il veut être dans la liste noire, on l'y met
if($BL==2)
{
mysql_query("UPDATE membres SET level='blacklist' WHERE cle_activation ='$cle_activation' AND level='en_attente'");
$page_validation = 'Votre e-mail a été blacklisté. Vous ne receverez plus aucun e-mail de notre part.';
}
mysql_close();
}
echo "<p>".$page_validation."</p>";
}
?>
mail_validate.php
<?php
session_start();
if(isset($_GET['ok']))
{
$ok=$_GET['ok'];
if($ok=="i_email")
{
$page_confirmation = "<div align='center' >Merci pour votre inscription !<br />Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".";
$page_confirmation .= '<div align="center" >Veuillez confirmer l\'inscription en cliquant sur le lien se trouvant sur le mail.<br />';
echo $page_confirmation;
}
if($ok=="in_email")
{
echo '<div align="center" ><p><strong>Le mail de confirmation n\'a pu être envoyé. Peut-être que l\'adresse n\'est pas valide. Veuillez contacter le webmaster s\'il vous plait</strong></p><br /><a href="inscription.php" onClick="history.back()">Retour</a>';
}
?>