Afficher les erreurs en en tête de pages

bitta Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
bitta Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   - 17 févr. 2010 à 10:42
Bonjour,
1)
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,...).
2)2eme probleme plutot un truc que je ne comprend pas du tout pourkoi??????!!!
a partir de la ligne : if(isset($passe_enc)) { ..........

je test si le client veut modifier le mot de passe: il faut qu'il rentre l'ancien mot de passe et puis il compose le nouveau, sinon on garde l'ancien mais il peut toujours modifier les autres champs sans modifier son mot de passe==>c'est ce que j'ai programmé normalement, mais quand j'execute il m'affiche toujurs l'erreur dans la boucle if(isset($passe_enc)) {....} si je ne remplit pas le champs mot de passe ancien!!!! et je ne comprend pas pourquoi????!!!!!

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('config.php');
require_once('verifications.php');
$titre_page='Modification du profil';
include_once('haut.php');
echo"<form action='profil2.php' method='post' enctype='multipart/form-data' name='form1'>
<table width='400' border='0' align='center'>
<tr>
<td colspan='2'class='menu'><div align=center>Gestion des données personnelles</div></td>
</tr>
<tr>
<td><label for='email'>Modification de l'e-mail</label></td>
<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>

<tr>
<td><label for="mdp">Ancien mot de passe(pour pas changer, ne pas remplir)</label></td>
<td><input name="passe_enc" type="password" id="mdp"></td>
</tr>
<tr>
<td><label for="mdp2">Nouveau mot de passe</label></td>
<td><input name="nouv_passe" type="password" id="mdp2"></td>
</tr>
<tr>
<td><label for="mdp3">Confirmation du nouveau mot de passe</label></td>
<td><input name="nouv_passe2" type="password" id="mdp3"></td>
</tr>
<tr>
<td><p align="left"><strong>Adresse de facturation</strong></p>
</tr>
.
........ pareil pour la suite

<?php
echo"<form action='profil2.php' method='post' enctype='multipart/form-data' name='form1'>
<tr>
<td><label for='fax'>Fax</label></td>
<td><input name='fax' type='text' id='fax' value='". $fax ."'></td>";?>
</tr>

<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
?>


ensuite code: profil2.php

<?php
session_start();
require_once('config.php');
require_once('verifications.php');
$titre_page='Modification du profil';
include_once('haut_color.php');

//récupération du formulaire
$passe_enc=formulaires($_POST['passe_enc']);
$nouv_passe=formulaires($_POST['nouv_passe']);
$nouv_passe2=formulaires($_POST['nouv_passe2']);
$email=formulaires($_POST['email']);
$pseudo=formulaires($_POST['pseudo']);
$societe=formulaires($_POST['societe']);
$siret=formulaires($_POST['siret']);
$adresse=formulaires($_POST['adresse']);
$ville=formulaires($_POST['ville']);
$code_postale=formulaires($_POST['code_postale']);
$pays=formulaires($_POST['pays']);
$nom=formulaires($_POST['nom']);
$prenom=formulaires($_POST['prenom']);
$mobile=formulaires($_POST['mobile']);
$telephone=formulaires($_POST['telephone']);
$fax=formulaires($_POST['fax']);
/**********************/
$societe_livraison=formulaires($_POST['societe_livraison']);
$adresse_livraison=formulaires($_POST['adresse_livraison']);
$ville_livraison=formulaires($_POST['ville_livraison']);
$code_postale_livraison=formulaires($_POST['code_postale_livraison']);
$pays_livraison=formulaires($_POST['pays_livraison']);


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;
}

if($pseudo)
{
if(strlen($pseudo) < 5 || strlen($pseudo) > 15)
{
echo'<div align="center" ><p><strong>Votre pseudo n\'est pas compris entre 5 et 15 carractères</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;
}

if($nouv_passe!=$nouv_passe2)
{
echo'<div align="center" ><p><strong>Votre mot de passe n\'est pas le meme que sa confirmation</strong></p><br /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

$passe_enc=md5($passe_enc);
$reponse_passe=mysql_query("SELECT passe FROM membres WHERE passe='$passe_enc' AND session='$session'") or die ('Erreur : '.mysql_error()); //verification si mdp valide
$count_passe=mysql_num_rows($reponse_passe);

if($count_passe == 0)
{
echo'<div align="center" ><p><strong>L\'ancien mot de passe n\'est pas correct </strong></p><br /><br /><a href="profil.php" onClick="history.back()">Retour</a>';
include_once('bas.php');
return FALSE;
}

$nouv_passe=md5($nouv_passe);
mysql_query("UPDATE membres SET passe='$nouv_passe' WHERE session='$session'") or die ('Erreur : '.mysql_error());
}

mysql_query("UPDATE membres SET email='$email',pseudo='$pseudo',siret='$siret',societe='$societe',adresse='$adresse',code_postale='$code_postale',ville='$ville',pays='$pays',nom='$nom',prenom='$prenom',telephone='$telephone',mobile='$mobile',fax='$fax',societe_livraison='$societe_livraison',adresse_livraison='$adresse_livraison',ville_livraison='$ville_livraison',code_postale_livraison='$code_postale_livraison',pays_livraison='$pays_livraison' WHERE session='$session'") or die ('Erreur : '.mysql_error());

echo"<div align=center><strong>Vos données personnelles ont été bien modifié</strong><br /><br /><a href='profil.php' onClick='history.back()'>Retour</a></div>";
include_once('bas.php');
?>

1 réponse

bitta Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
alors personne ne compte m'aider???
0