mohaalba

Inscris le 23/02/2010 à 09:55
  • Nombre de sujets
    9
  • Nombre de messages
    37
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

mohaalba
le 24/02/2010 à 17:46
Warning: Cannot modify header information - headers already sent by
je ne sais pas si vous avez regardé mon code mais il marche bien normalement.
j'affiche le formulaire, on le rempli, je le test et si c'est bon redirection vers une page(pour dire que vous êtes bien inscrit.... ) sinon je réaffiche le formulaire on conservant les donné tapès précédemment avec un message d'erreur.

si tu as des suggestions ou critique n'hésite pas car moi je suis débutant et je prend tout.

merci encore
mohaalba
le 24/02/2010 à 14:32
Warning: Cannot modify header information - headers already sent by
je m'excuse mais je crois que je mes uis mal exprimé donc:
j'ai des fonctions en javascript et feuilles styles dans la page:haut_color c'est pour ça que je le déclare dans ma page inscription et cette page j'affiche mon formulaire à remplir et à l'aide de 2 fonctions qui me permettent de tester les valeurs renter si elles sont juste ou non.donc si le formulaire à bien été rempli je fait un header vers une autre page(le header est dans l'une des 2 fonctions), sinon j'affiche un message d'erreur et surtout je reste sur la même page et je conserve les valeurs des champs saisies.
voici mes 3 fichiers php
merci beaucoup pour votre aide

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 &agrave; 15 caract&egrave;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">&nbsp;</td>
<td nowrap="nowrap" width="106"><div align="left"><font face="Arial"><font size="-1"> Code postal*:&nbsp;</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<$heure2 AND 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>';
}

?>





et merci encore

Merci surtout d'avoir utilisé le BB-Code comme expliqué dans les régles d'utilisations des forums
mohaalba
le 24/02/2010 à 10:32
Warning: Cannot modify header information - headers already sent by
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

en cherchant sur internet le pbm c'est que j'envoi une page html(haut_color.php) avant le header mais je ne vois pas d'autre solution et je suis dans l'obligation de faire ça.
aidez moi SVP

je vous remercie d'avance
mohaalba
le 23/02/2010 à 09:58
Conserver les valeurs de champs de formulaire
Bonjour,

je suis débutant en php et j'ai un souci que j'ai du mal à trouver la solution.
je suis en train de creer un espace membre, donc on peut modifier et gerer nos donnees personnelles(nom,prenom,pseudo,....) une fois c'est fait on valide et on se dirige vers la page de notre espace sinon s'il ya erreur dans un champ j'affiche l'erreur sur une nouvelle page, mais moi je voudrais rester sur la même page et afficher en entête l'erreur et entourer le champ en rouge et indiquer à coté l'erreur comme sur plusieurs site(cdiscount,...).

Aidez moi SVP car depuis des jours je tourne au rond sans trouver la solution

je vous remercie d'avance



voici mon code:(Note: j'ai pris un exemple sur internet et je l'ai adapter à mon probleme en rajoutant pas de choses)

profil.php
<?php

session_start();
require_once('verifications.php');
include_once('haut.php');
.......
<td><input name='email' type='text' id='email' value='". $email ."'></td>";
?>
</tr>

<?php
echo"<form action='profil2.php' method='post' enctype='multipart/form-data' name='form1'>
<tr>
<td><label for='pseudo'>Nouveau Pseudo(5 à 15 caractères)</label></td>
<td><input name='pseudo' type='text' id='pseudo' value='". $pseudo ."'></td>";?>
</tr>
........ pareil pour la suite

<tr>
<td> <input type="submit" name="Submit" value="Modifier"></td>
</tr>
</table>
</form>
<div align=center><a href="index.php" onClick="history.back()"> Retour</a></div>
<?php
include_once('bas.php');deconnexion
?>


profil2.php
<?php
session_start();
....
include_once('haut_color.php');

//récupération du formulaire
$passe_enc=formulaires($_POST['passe_enc']);
$nouv_passe=formulaires($_POST['nouv_passe']);

..................

if(!VerifierAdresseMail($email))
{

echo'<div align="center" ><p><strong>Veuillez entrer ou vérifier votre adresse e-mail</strong></p><br /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

.......................la meme chose pour le reste

if(isset($passe_enc)) {

if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5 || strlen($nouv_passe) > 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 /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

...........
include_once('bas.php');
?>
LoadingChargement en cours