Afficher des données updatées dans un form pré-rempli [Résolu/Fermé]

- - Dernière réponse :  Minette - 30 sept. 2013 à 22:19
Bonsoir !!


Page mon_compte.php, j'ai mon formulaire qui est affiché avec les valeurs précédemment renseignées par l'utilisateur lors de son passage sur inscription.php.
Il peut au submit, modifier ses données grâce à un UPDATE.

Question 1 :
Mon $update_ok = 'Vos modifications ont bien été enregistrées. Merci '; ne s'affiche pas alors qu'il a son emplacement de prévu au tout début de mon <div class="enregistrement"> (juste en dessous du menu). Comment forcer l'affichage?


Question 2:
Après avoir updaté ses infos perso, le user redirigé sur "mon_compte_update_ok.php" (à défaut d'avoir son message $update_ok) qui retourne sur la page mon_compte.php a toute une série de warnings du type Notice: Undefined index: pseudo in C:\wamp\www\PivoineMercerie\mon_compte.php on line 270 pour chaque champ de mon form... alors que ces warnings ne s'affichaient pas avant le update... Why ?


Question 3:
Si le user veut modifier son pseudo, il faut obligatoirement que j'ajoute un champs invisible à mon form, nommé id ? c'est ça ? car si je tente de modifier mon pseudo avec ma requete update where pseudo='$pseudo', et que je me déconnecte, impossible de me reconnecter ni avec l'ancien pseudo ni avec le nouveau...


Merci pour vos lumières,

Bonne soirée :)
Cldt




<?php session_start();


if (isset($_SESSION['pseudo']) && isset($_SESSION['password']) )
{$pseudo=$_SESSION['pseudo']; $password=$_SESSION['password'];
$bienvenue_compte = " Bienvenue sur votre compte " .htmlspecialchars($_SESSION['pseudo']) . "! ";
}

else if (isset($_COOKIE['pseudo']) && isset($_COOKIE['password']))
{$pseudo=$_COOKIE['pseudo']; $password=$_COOKIE['password'];
$bienvenue_compte = " Bienvenue sur votre compte " .htmlspecialchars($_COOKIE['pseudo']). "! ";
}
else {header('Location:stop_connection-requise.php');}



if(isset($_COOKIE['pseudo']) || isset($_SESSION['pseudo']) )
{
include('mysql_connect_pivoine.php');

$requete=("SELECT * FROM users WHERE pseudo='$pseudo'");
$resultat = mysql_query($requete) or die("Query failed" );
while ($ligne = mysql_fetch_assoc($resultat))
{

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.10.2.min.js"> </script>
<script type="text/javascript" src="js/pivoine.js"> </script>
<link rel="stylesheet" href="PivoineMercerie.css" />


<title>Pivoine Mercerie en ligne Marmande </title>
</head>

<body class="body2">


<div class="conteneur_principal_index">
<div class="head"> Pivoine Mercerie </div>

<div id="menu">
<ul id="onglets">
<li><a href="index.php"> Accueil </a></li>
<li><a href="mercerie_boutique_en_ligne.php"> Boutique en ligne </a></li>
<li><a href="inscription.php"> Créer un compte </a></li>
<li><a href="connexion.php"> Se connecter </a></li>
<li class="active"><a href="mon_compte.php"> Mon compte </a></li>
<li><a href="panier.php"> Mon panier </a></li>
<li><a href="map.php"> Contact </a></li>
</ul>
</div>



<div class="enregistrement">

<p>
<span class="membre"> <?php if(isset($bienvenue_compte)) echo $bienvenue_compte; ?> </span> <br />
<span class="membre"> <?php if(isset($update_ok)) echo $update_ok; ?> </span>
</p>
<div class="enregistrement_compte">
<p class="mon_compte"> Mon compte </p>
<form name="registration_update" id="registration" action="" method="post">



<fieldset id="identifiants_registration">
<legend > Mes identifiants </legend>
<p >
<label for="pseudo" id="label_pseudo"> Pseudo : *</label><br />
<input type="text" name="pseudo" id="pseudo" class="field" placeholder=" 6 caractères minimum" size="30" maxlength="70" tabindex="10"
value="<?php echo $ligne['pseudo']; ?> " />

<br />
<br />

<script src="jquery.js" type="text/javascript"> </script>
<script src="js/verifpseudo_update.js" type="text/javascript"> </script>



<label for="password" id="label_pass"> Mot de passe : *</label> <br />
<input type="password" name="password" id="password_connexion" class="field" placeholder=" 6 caractères minimum" size="30" maxlength="70" tabindex="20"
value="<?php echo $ligne['password']; ?>"/>
<span class="error_message"> <?php if (isset($erreurpassword)) echo $erreurpassword; ?> </span>
<br />
<br />

<label for="password" id="label_pass2"> Retapez votre mot de passe : * </label> <br />
<input type="password" name="repeatpassword" id="password_connexion" class="field" size="30" maxlength="70" tabindex="30" value="<?php echo $ligne['password']; ?>"/>
<span class="error_message"> <?php if (isset($erreurpassword2)) echo $erreurpassword2; ?> </span>
<br /><br />

<label for="email" id="label_email"> Email : * </label> <br />
<input type="text" name="email" id="email" class="field" size="30" maxlength="70" tabindex="31" value="<?php echo $ligne['email']; if (isset($email)) echo $email; ?>" />
<span class="error_message_email"> </span>
<span class="error_message"> <?php if(isset($erreuremail)) echo $erreuremail;?> </span>



<script type="text/javascript" src="js/jquery-1.10.2.min.js" > </script>
<script src="js/verif_email.js" type="text/javascript"> </script>
<br /><br />
</p>
</fieldset>


<fieldset id="coordonnees_registration">
<legend> Mon adresse de livraison </legend>
<p>
<label for="civilite" id="label_civilite" > Civilité : * </label><br />
<select name="civilite" id="civilite" class="field" tabindex="40" />
<option value=" "> <?php echo $ligne['civilite']; ?> </option>
<?php
$selected = isset( $civilite ) ? $civilite : "" ;
$selectedValue = 'selected="selected"';
?>
<option value="Mlle" <?php if ($selected == "Mlle") echo $selectedValue ; ?>> Mlle </option>
<option value="Mme" <?php if ($selected == "Mme") echo $selectedValue ; ?>> Mme </option>
<option value="Mr" <?php if ($selected == "Mr") echo $selectedValue ; ?>> Mr </option>
</select>
<span class="error_message"> <?php if(isset($erreurcivilite)) echo $erreurcivilite ; ?> </span>
<br /><br />


<label for="nom" id="label_nom"> Nom : * </label><br />
<input type="text" name="nom" id="nom" class="field" size="30" maxlength="70" tabindex="60" value="<?php echo $ligne['nom']; if (isset($nom)) echo $nom; ?>"/>
<span class="error_message"> <?php if (isset($erreurnom)) echo $erreurnom ; ?> </span>
<br />
<br />
<label for="prenom" id="label_prenom"> Prénom : *</label> <br />
<input type="text" name="prenom" id="prenom" class="field" size="30" maxlength="70" tabindex="70" value="<?php echo $ligne['prenom']; if (isset($prenom)) echo $prenom; ?>"/>
<span class="error_message"> <?php if (isset($erreurprenom)) echo $erreurprenom ; ?> </span> <br /><br />

<label for="societe" id="label_societe"> Société :</label> <br />
<input type="text" name="societe" id="societe" class="field" size="30" maxlength="70" tabindex="75" value="<?php echo $ligne['societe']; if (isset($societe)) echo $societe; ?>"/>
<span class="error_message"> <?php if (isset($erreursociete)) echo $erreursociete ; ?> </span> <br /><br />

<label for="adresse" id="label_adresse"> Adresse : * </label> <br />
<input type="text" name="adresse" id="adresse" class="field" size="30" maxlength="100" tabindex="80" value="<?php echo $ligne['adresse']; if (isset($adresse)) echo $adresse; ?>"/>
<span class="error_message"> <?php if (isset($erreuradresse)) echo $erreuradresse ; ?> </span> <br /> <br />

<label for="adresse" id="label_adresse2"> Complément d'adresse : </label> <br />
<input type="text" name="adresse2" id="adresse2" class="field" size="30" maxlength="100" tabindex="90" value="<?php echo $ligne['adresse2']; if (isset($adresse2)) echo $adresse2; ?>"/> <br /><br />

<label for="cp" id="label_cp"> Code postal : * </label> <br />
<input type="text" name="cp" id="cp" class="field" size="20" maxlength="30" tabindex="100" value="<?php echo $ligne['cp']; if (isset($cp)) echo $cp ; ?>"/>
<span class="error_message"> <?php if (isset($erreurcp)) echo $erreurcp ; ?> </span> <br /><br />

<label for="ville" id="label_ville"> Ville : * </label> <br />
<input type="text" name="ville" id="ville" class="field" size="30" maxlength="100" tabindex="110" value="<?php echo $ligne['ville']; if (isset($ville)) echo $ville ; ?>" />
<span class="error_message"> <?php if(isset($erreurville)) echo $erreurville ; ?> </span> <br /><br />

<label for="cpays" id="label_pays"> Pays : * </label> <br />
<input type="text" name="pays" id="pays" class="field" size="30" maxlength="100" tabindex="120" value="<?php echo $ligne['pays']; if (isset($pays)) echo $pays; ?>" />
<span class="error_message"> <?php if(isset($erreurpays)) echo $erreurpays; ?> </span> <br /><br />

<label for="tel" id="label_tel"> Téléphone : *</label> <br />
<input type="text" name="tel" id="tel" class="field" placeholder=" 10 chiffres sans espace" size="30" maxlength="70" tabindex="140" value="<?php echo $ligne['tel']; if (isset($tel)) echo $tel; ?>" /> <span class="error_message"> <?php if (isset($erreurtel)) echo $erreurtel; ?></span>


<br /><br />
<input type="checkbox" name="check_livfact" id="check_livfact" tabindex="160" />
<label for="livraisonfacturation" id="label_livraisonfacturation"> Utiliser mon adresse de livraison comme adresse de facturation</label>
<br /><br />

<input type="submit" name="submit_update" id="submit" value="Modifier" tabindex="150" />


<br /><br /><br />
</p>

</fieldset>

<div id="div_coordonnees_facturation">
<fieldset id="coordonnees_facturation">
<legend> Mon adresse de facturation - si différente de l'adresse de livraison </legend>

<p>
<label for="civilite_facturation" id="label_civilite_facturation" > Civilité : * </label><br />
<select name="civilite_facturation" id="civilite_facturation" class="field" tabindex="40" />
<option selected="selected" value=""> <?php echo $ligne['civilite_facturation']; ?></option>
<?php
$selected_a = isset( $civilite_facturation ) ? $civilite_facturation : "" ;
$selectedValue_a = 'selected="selected"';
?>
<option value="Mlle" <?php if ($selected_a == "Mlle") echo $selectedValue_a ; ?>> Mlle </option>
<option value="Mme" <?php if ($selected_a == "Mme") echo $selectedValue_a ; ?>> Mme </option>
<option value="Mr" <?php if ($selected_a == "Mr") echo $selectedValue_a ; ?>> Mr </option>
</select>
<span class="error_message"> <?php if(isset($erreurcivilite)) echo $erreurcivilite; ?> </span>
<br /><br />

<label for="nom" id="label_nom_facturation"> Nom : * </label><br />
<input type="text" name="nom_facturation" id="nom" size="30" maxlength="70" tabindex="180"
value="<?php echo $ligne['nom_facturation']; if(isset($nom_facturation)) echo $nom_facturation; ?>" />
<br />
<br />
<label for="prenom" id="label_prenom_facturation"> Prénom : *</label> <br />
<input type="text" name="prenom_facturation" id="prenom" size="30" maxlength="70" tabindex="190"
value="<?php echo $ligne['prenom_facturation']; if(isset($prenom_facturation)) echo $prenom_facturation; ?>" /> <br /><br />

<label for="societe" id="label_societe_facturation"> Société :</label> <br />
<input type="text" name="societe_facturation" id="societe" size="30" maxlength="70" tabindex="200"
value="<?php echo $ligne['societe_facturation']; if(isset($societe_facturation)) echo $societe_facturation; ?>"/> <br /><br />

<label for="adresse" id="label_adresse_facturation"> Adresse : * </label> <br />
<input type="text" name="adresse_facturation" id="adresse" size="30" maxlength="100" tabindex="210"
value="<?php echo $ligne['adresse_facturation']; if(isset($adresse_facturation)) echo $adresse_facturation; ?>"/> <br /> <br />

<label for="adresse" id="label_adresse2_facturation"> Complément d'adresse : </label> <br />
<input type="text" name="adresse2_facturation" id="adresse2" size="30" maxlength="100" tabindex="220"
value="<?php echo $ligne['adresse2_facturation']; if(isset($adresse2_facturation)) echo $adresse2_facturation; ?>"/> <br /><br />

<label for="cp" id="label_cp_facturation"> Code postal : * </label> <br />
<input type="text" name="cp_facturation" id="cp" size="20" maxlength="30" tabindex="230"
value="<?php echo $ligne['cp_facturation']; if(isset($cp_facturation)) echo $cp_facturation; ?>"/> <br /><br />

<label for="ville" id="label_ville_facturation"> Ville : * </label> <br />
<input type="text" name="ville_facturation" id="ville" size="30" maxlength="100" tabindex="240"
value="<?php echo $ligne['ville_facturation']; if(isset($ville_facturation)) echo $ville_facturation; ?>"/> <br /><br />

<label for="cpays" id="label_pays_facturation"> Pays : * </label> <br />
<input type="text" name="pays_facturation" id="pays" size="30" maxlength="100" tabindex="250"
value="<?php echo $ligne['pays_facturation']; if(isset($pays_facturation)) echo $pays_facturation; ?>"/> <br /><br />


<label for="email" id="label_email_facturation"> Email : * </label> <br />
<input type="text" name="email_facturation" id="email_facturation" size="30" maxlength="70" tabindex="260"
value="<?php echo $ligne['email_facturation']; if(isset($email_facturation)) echo $email_facturation; ?>" /> <br /><br />

<label for="tel" id="label_tel_facturation"> Téléphone : *</label><br />
<input type="text" name="tel_facturation" id="tel" placeholder=" 10 chiffres sans espace" size="30" maxlength="70" tabindex="270"
value="<?php echo $ligne['tel_facturation']; if(isset($tel_facturation)) echo $tel_facturation; ?>"/>

<?php
}

// $resultat->Close(); // Termine le traitement de la requête

}else {header('Location:stop_connection-requise.php');} ?>
</p>
<br /><br />
<input type="submit" name="submit2_update" id="submit2" value="Modifier" tabindex="280" />


</fieldset>
</div>
</form>
</div>


</div>

</div>




<div class="adresse"> <span class="pivoine_adresse"> Pivoine Mercerie</span><br />
8, Rue des Marcassins<br />
47200 Marmande</div>

<?php
if(isset($_POST['submit_update']) && !empty($_POST['submit_update']) )
$valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);
$repeatpassword=htmlspecialchars(trim($_POST["repeatpassword"]));
$email=htmlspecialchars(trim($_POST["email"]));
$civilite=htmlspecialchars(trim($_POST["civilite"]));
$nom=htmlspecialchars(trim($_POST["nom"]));
$prenom=htmlspecialchars(trim($_POST["prenom"]));
$societe=htmlspecialchars(trim($_POST["societe"]));
$adresse=htmlspecialchars(trim($_POST["adresse"]));
$adresse2=htmlspecialchars(trim($_POST["adresse2"]));
$cp=htmlspecialchars(trim($_POST["cp"]));
$ville=htmlspecialchars(trim($_POST["ville"]));
$pays=htmlspecialchars(trim($_POST["pays"]));
$tel=htmlspecialchars(trim($_POST["tel"]));


if ( empty($_POST['password']))
{$valid=false;
$erreurpassword = "Mot de passe requis";
}

if ( strlen($_POST['password']) <6 )
{$valid=false;
$erreurpassword = "6 caractères minimum";
}

if ( empty($_POST['repeatpassword']))
{$valid=false;
$erreurpassword2 = "Répétez votre mot de passe";
}

if ($_POST['repeatpassword'] != $_POST['repeatpassword'])
{$valid=false;
$erreurpassword2 = "Les mots de passe doivent être identiques";
}else{$password=md5($password);}




if ( empty($_POST['civilite']))
{$valid=false;
$erreurcivilite = "Veuillez indiquer votre civilité";
}

if ( empty($_POST['nom']))
{$valid=false;
$erreurnom = "Veuillez indiquer votre nom";
}

if ( empty($_POST['prenom']))
{$valid=false;
$erreurprenom = "Veuillez indiquer votre prénom";
}

if ( empty($_POST['adresse']))
{$valid=false;
$erreuradresse = "Veuillez indiquer votre adresse";
}

if ( empty($_POST['cp']))
{$valid=false;
$erreurcp = "Veuillez indiquer votre code postal";
}

if ( empty($_POST['ville']))
{$valid = false;
$erreurville = "Veuillez indiquer votre ville";
}

if ( empty($_POST['pays']))
{$valid=false;
$erreurpays = "Veuillez indiquer votre pays";
}

if ( empty($_POST['tel']))
{$valid=false;
$erreurtel = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel']))
{$valid=false;
$erreurtel = " 10 chiffres requis";
}



if (isset($valid))

{ include('mysql_connect_pivoine.php');
$pseudo=mysql_real_escape_string($_POST["pseudo"]);
$password=mysql_real_escape_string($_POST["password"]);
$password=md5($password);
$repeatpassword=mysql_real_escape_string($_POST["repeatpassword"]);
$email=mysql_real_escape_string($_POST["email"]);
$civilite=mysql_real_escape_string($_POST["civilite"]);
$nom=mysql_real_escape_string($_POST["nom"]);
$prenom=mysql_real_escape_string($_POST["prenom"]);
$societe=mysql_real_escape_string($_POST["societe"]);
$adresse=mysql_real_escape_string($_POST["adresse"]);
$adresse2=mysql_real_escape_string($_POST["adresse2"]);
$cp=mysql_real_escape_string($_POST["cp"]);
$ville=mysql_real_escape_string($_POST["ville"]);
$pays=mysql_real_escape_string($_POST["pays"]);
$tel=mysql_real_escape_string($_POST["tel"]);

mysql_query("UPDATE users SET pseudo='$pseudo', password='$password', email='$email', civilite='$civilite', nom='$nom', prenom='$prenom',
societe='$societe', adresse='$adresse', adresse2='$adresse2', cp='$cp', ville='$ville', pays='$pays', tel='$tel'
WHERE pseudo='$pseudo' ")
or die(mysql_error() );
mysql_close($mysql_connect_pivoine);
// header('Location:mon_compte_update_ok.php');
$update_ok = 'Vos modifications ont bien été enregistrées. Merci ';
}



/**************************************************** form SUBMIT2_update FACTURATION DIFFERENTE ******************************************************************/
elseif(isset($_POST['submit2_update']) && !empty($_POST['submit2_update']))
{

$valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);
$repeatpassword=htmlspecialchars(trim($_POST["repeatpassword"]));
$email=htmlspecialchars(trim($_POST["email"]));
$civilite=htmlspecialchars(trim($_POST["civilite"]));
$nom=htmlspecialchars(trim($_POST["nom"]));
$prenom=htmlspecialchars(trim($_POST["prenom"]));
$societe=htmlspecialchars(trim($_POST["societe"]));
$adresse=htmlspecialchars(trim($_POST["adresse"]));
$adresse2=htmlspecialchars(trim($_POST["adresse2"]));
$cp=htmlspecialchars(trim($_POST["cp"]));
$ville=htmlspecialchars(trim($_POST["ville"]));
$pays=htmlspecialchars(trim($_POST["pays"]));
$tel=htmlspecialchars(trim($_POST["tel"]));

$civilite_facturation=htmlspecialchars(trim($_POST["civilite_facturation"]));
$nom_facturation=htmlspecialchars(trim($_POST["nom_facturation"]));
$prenom_facturation=htmlspecialchars(trim($_POST["prenom_facturation"]));
$societe_facturation=htmlspecialchars(trim($_POST["societe_facturation"]));
$adresse_facturation=htmlspecialchars(trim($_POST["adresse_facturation"]));
$adresse2_facturation=htmlspecialchars(trim($_POST["adresse2_facturation"]));
$cp_facturation=htmlspecialchars(trim($_POST["cp_facturation"]));
$ville_facturation=htmlspecialchars(trim($_POST["ville_facturation"]));
$pays_facturation=htmlspecialchars(trim($_POST["pays_facturation"]));
$email_facturation=htmlspecialchars(trim($_POST["email_facturation"]));
$tel_facturation=htmlspecialchars(trim($_POST["tel_facturation"]));


if (empty($_POST['password']))
{$valid=false;
$erreurpassword = "Mot de passe requis";
}

if ( strlen($_POST['password']) <6 )
{$valid=false;
$erreurpassword = "6 caractères minimum";
}

if ( empty($_POST['repeatpassword']))
{$valid=false;
$erreurpassword2 = "Répétez votre mot de passe";
}

if ($_POST['repeatpassword'] != $_POST['repeatpassword'])
{$valid=false;
$erreurpassword2 = "Les mots de passe doivent être identiques";
}else{$password=md5($password);}


if (! preg_match( "#[a-z0-9._-]+@[a-z0-9._-][^@]+\.[a-z]{2,3}#", $_POST['email'])) /* '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'*/
{$valid=false;
$erreuremail = "Votre adresse e-mail n'est pas valide";
}

if ( empty($_POST['civilite']))
{$valid=false;
$erreurcivilite = "Veuillez indiquer votre civilité";
}

if ( empty($_POST['nom']))
{$valid=false;
$erreurnom = "Veuillez indiquer votre nom";
}

if ( empty($_POST['prenom']))
{$valid=false;
$erreurprenom = "Veuillez indiquer votre prénom";
}

if ( empty($_POST['adresse']))
{$valid=false;
$erreuradresse = "Veuillez indiquer votre adresse";
}

if ( empty($_POST['cp']))
{$valid=false;
$erreurcp = "Veuillez indiquer votre code postal";
}

if ( empty($_POST['ville']))
{$valid = false;
$erreurville = "Veuillez indiquer votre ville";
}

if ( empty($_POST['pays']))
{$valid=false;
$erreurpays = "Veuillez indiquer votre pays";
}

if ( empty($_POST['tel']))
{$valid=false;
$erreurtel = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel']))
{$valid=false;
$erreurtel = " 10 chiffres";
}


if ( empty($_POST['civilite_facturation']))
{$valid=false;
$erreurcivilite_facturation = "Champ à renseigner";
}

if ( empty($_POST['nom_facturation']))
{$valid=false;
$erreurnom_facturation = "Champ à renseigner";
}

if ( empty($_POST['prenom_facturation']))
{$valid=false;
$erreurprenom_facturation = "Champ à renseigner";
}

if ( empty($_POST['adresse_facturation']))
{$valid=false;
$erreuradresse_facturation = "Champ à renseigner";
}

if ( empty($_POST['cp_facturation']))
{$valid=false;
$erreurcp_facturation = "Champ à renseigner";
}

if ( empty($_POST['ville_facturation']))
{$valid = false;
$erreurville_facturation = "Champ à renseigner";
}

if ( empty($_POST['pays_facturation']))
{$valid=false;
$erreurpays_facturation = "Champ à renseigner";
}

if ( empty($_POST['email_facturation']))
{$valid=false;
$erreuremail_facturation = "Champ à renseigner";
}

if (! preg_match( "#[a-z0-9._-]+@[a-z0-9._-][^@]+\.[a-z]{2,3}#", $_POST['email_facturation'])) /* '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'*/
{$valid=false;
$erreuremail_facturation = "Cette adresse e-mail n'est pas valide";
}

if (empty($_POST['tel_facturation']))
{$valid=false;
$erreurtel_facturation = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel_facturation']))
{$valid=false;
$erreurtel_facturation = " 10 chiffres";
}

if (isset($valid))
{ include('mysql_connect_pivoine.php');
$pseudo=mysql_real_escape_string($_POST["pseudo"]);
$password=mysql_real_escape_string($_POST["password"]);
$password=md5($password);
$repeatpassword=mysql_real_escape_string($_POST["repeatpassword"]);
$email=mysql_real_escape_string($_POST["email"]);
$civilite=mysql_real_escape_string($_POST["civilite"]);
$nom=mysql_real_escape_string($_POST["nom"]);
$prenom=mysql_real_escape_string($_POST["prenom"]);
$societe=mysql_real_escape_string($_POST["societe"]);
$adresse=mysql_real_escape_string($_POST["adresse"]);
$adresse2=mysql_real_escape_string($_POST["adresse2"]);
$cp=mysql_real_escape_string($_POST["cp"]);
$ville=mysql_real_escape_string($_POST["ville"]);
$pays=mysql_real_escape_string($_POST["pays"]);
$tel=mysql_real_escape_string($_POST["tel"]);

$civilite_facturation=mysql_real_escape_string($_POST["civilite_facturation"]);
$nom_facturation=mysql_real_escape_string($_POST["nom_facturation"]);
$prenom_facturation=mysql_real_escape_string($_POST["prenom_facturation"]);
$societe_facturation=mysql_real_escape_string($_POST["societe_facturation"]);
$adresse_facturation=mysql_real_escape_string($_POST["adresse_facturation"]);
$adresse2_facturation=mysql_real_escape_string($_POST["adresse2_facturation"]);
$cp_facturation=mysql_real_escape_string($_POST["cp_facturation"]);
$ville_facturation=mysql_real_escape_string($_POST["ville_facturation"]);
$pays_facturation=mysql_real_escape_string($_POST["pays_facturation"]);
$email_facturation=mysql_real_escape_string($_POST["email_facturation"]);
$tel_facturation=mysql_real_escape_string($_POST["tel_facturation"]);

mysql_query("UPDATE users SET pseudo='$pseudo', password='$password', email='$email', civilite='$civilite', nom='$nom', prenom='$prenom',
societe='$societe', adresse='$adresse', adresse2='$adresse2', cp='$cp', ville='$ville', pays='$pays', tel='$tel',
civilite_facturation='$civilite_facturation', nom_facturation='$nom_facturation', prenom_facturation='$prenom_facturation',
societe_facturation='$societe_facturation', adresse_facturation='$adresse_facturation', adresse2_facturation='$adresse2_facturation',
cp_facturation='$cp_facturation', ville_facturation='$ville_facturation', pays_facturation='$pays_facturation',
email_facturation='$email_facturation', tel_facturation='$tel_facturation'
WHERE pseudo='$pseudo' ")
or die(mysql_error() );
mysql_close($mysql_connect_pivoine);
header('Location:mon_compte_update_ok.php');
//$update_ok = 'Vos modifications ont bien été enregistrées. Merci ';
}





}

else {$valid =false; }
?>




</div>
</body>
</html>

Afficher la suite 

20 réponses

0
Merci
Bonsoir

/*Il peut au submit, modifier ses données grâce à un UPDATE.
*/
Ne confondez pas le traitement PHP et la base de données.
Un UPDATE c'est du sql donc es info sur la base, quel que soit la page internet que vous utilisez vous pouvez récupérer ces informations de la base, c'est le principe même des pages dynamiques.

/*Question 1 :
Mon $update_ok = 'Vos modifications ont bien été enregistrées. Merci '; ne s'affiche pas alors qu'il a son emplacement de prévu au tout début de mon <div class="enregistrement"> (juste en dessous du menu). Comment forcer l'affichage?
*/
Je n'ai pas le temps de me pencher sur votre code mais si l'UPDATE est bien effectué c'est que votre code PHP qui permet d'afficher ceci est faux, donc à vous de le corriger. Forcer l'affichage reviendrais à dire que même si la modification est effectuée(en cas d'erreur, n'oubliez pas le or die après une requête et l'affichage du message d'erreur), vous allez afficher que c'est bon. Cela voudrais dire que votre programme ne marche tout simplement pas.

/*Question 2:
Après avoir updaté ses infos perso, le user redirigé sur "mon_compte_update_ok.php" (à défaut d'avoir son message $update_ok) qui retourne sur la page mon_compte.php a toute une série de warnings du type Notice: Undefined index: pseudo in C:\wamp\www\PivoineMercerie\mon_compte.php on line 270 pour chaque champ de mon form... alors que ces warnings ne s'affichaient pas avant le update... Why ?
*/
Warning signifie attention en français, donc un risque potentiel d'erreur, en lisant de quoi il s'agit vous pouvez vous aperçevoir qu'il ne s'agit pas d'un risque mineur: Il ne trouve pas l'information sur la base de données. Il y a donc une erreur dans votre programme, réglez l'erreur, le warning comme les messages d'erreurs sont là(et c sont les seuls moyens avec les tests que vous effectuez vous même) pour enlever les bugs de votre programme; faire en sorte qu'il marche ou ça ne marche pas.
Donc quand vous avez un message d'erreur ou un warning(c'est la même chose sauf que le programme peut continuer de fonctionner, l'embêtant dans le cas que vous avez c'est qu'il ne fait pas ce que vous demandez ou qu'il y a des informations redondantes).


Question 3:
/*Si le user veut modifier son pseudo, il faut obligatoirement que j'ajoute un champs invisible à mon form, nommé id ?*/

Pourquoi, faites un autre formulaire disponible par un lien, la session est faites pour retenir l'identifiant de la table(ou les identifiant). Un champ ID nommé (et nom un champ nommé ID) permet d'IDentifier la valeur d'un formulaire pour la récupérer mais là il s'agit de PHP; rien à voir avec vos tables.

/*
c'est ça ? car si je tente de modifier mon pseudo avec ma requete update where pseudo='$pseudo', et que je me déconnecte, impossible de me reconnecter ni avec l'ancien pseudo ni avec le nouveau...
*/
Donc il y a des erreurs, comme l'indique les warning Je soupçonne que l'identifiant de vos tables ne soit pas très juste; là il s'agit plutôt d'une erreur de conception que de code.


Bon courage, commencez par fractionner votre code(un fichier par besoin) plutôt que tout regrouper ensemble, cela ne sera pas plus lent si vous faites appel à un fichier différent et ce sera plus facile à corriger ni ne plantera tout votre programme à la moindre erreur. Cela vous aidera à localiser l'erreur ou les erreurs dont une se trouve en ligne 270

Bon courage
0
Merci
Bonsoir,


Vous me dites que si ça ne fonctionne pas c'est qu'il ya des erreurs... Je m'en doute ! mais je ne suis pas assez calée pour les identifier et les débugguer toute seule pour l'instant, sinon je ne posterai pas.

Exemple: Ligne 270, même s'il y en a, je ne vois pas d'erreur..
submit_update est le name de mon <input type ="submit" name="submit_update"> C'est un name, pas une fonction.
Donc si'il ya une erreur, je ne sais pas l'identifier.

Merci
0
Merci
salut

8, Rue des Marcassins<br />
47200 Marmande</div>

<?php
if(isset($_POST['submit_update']) && !empty($_POST['submit_update']) )
$valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);



tu as oublié d'ouvrir l'accolade

8, Rue des Marcassins<br />
47200 Marmande</div>

<?php
if(isset($_POST['submit_update']) && !empty($_POST['submit_update']) ) {
$valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);


bien sur tu la referme ici :

 mysql_query("UPDATE users SET  pseudo='$pseudo', password='$password', email='$email', civilite='$civilite', nom='$nom', prenom='$prenom',  
societe='$societe', adresse='$adresse', adresse2='$adresse2', cp='$cp', ville='$ville', pays='$pays', tel='$tel'
WHERE pseudo='$pseudo' ") or die(mysql_error());
mysql_close($mysql_connect_pivoine);
// header('Location:mon_compte_update_ok.php');
$update_ok = 'Vos modifications ont bien été enregistrées. Merci ';
}}
--
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Utilisateur anonyme -
réponse 3 , tu peux aussi créer une variable de session id
0
Merci
Salut,

Merci pour tes réponses. Pour l'accolade, j'y voyais plus rien, à force... oops.

T'aurais pas un lien qui explique clairement la création de variable de session id, stp, car je ne parviens pas à mes fins, concernant ma question 3.

Quand j'écris mysql_query("UPDATE users SET ... WHERE id='$id' "), évidemment j'ai undefined varible id...
Et quand dans connexion.php j'écris $_COOKIE et/ou $_SESSION['id']=$data['id']; (--> de ma table users), ça me pourrit tout, donc je ne sais pas...
Mais malgré que je parcoure le web à ce sujet, je ne trouve pas de réponse claire.


Merci pour ta ou pour vos lumières expertes :)
0
Merci
salut concernant le tuto j'ai trouvé cela :

http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/les-sessions-2

il faudrait que je test ton code mais j'avoue avoir la flemme de faire la base de donnée

׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
0
Merci
Salut,

Ce tutoriel, c'est le tout premier que j'ai lu pour aborder php. J'y suis revenue à chacun de mes doutes, sur celui-là et sur d'autres. J'en ai fait plusieurs des tutos, et évidemment, notamment sur les sessions.
Or aucun n'aborde la question du UPDATE ... WHERE id='$id'. Si tu me dis que id fonctionne à l'identique des autres variables de session, ben je te crois, mais tout n'est pas très clairement expliqué à ce sujet.

Exemple à un moment j'ai tenté de créer une variable de session 'id' comme décrit ci-dessous.

extrait de 'connexion.php' -->


if ($rows > 0)
{$data = mysql_fetch_assoc($answer);

if ($password == $data['password'] && isset($_POST['remember_me']))
{ $_COOKIE['pseudo'] = $data['pseudo'];
$_COOKIE['password'] = $data['password'];
$_COOKIE['id']=$data['id'];
setcookie ('pseudo', $pseudo, time()+3600*24*360, '/', null, false, true);
setcookie ('password', $password, time()+3600*24*360, '/', null, false, true);
setcookie ('id', $id, time()+3600*24*360, '/', null, false, true);
header('Location:is_logged.php'); //
}
else if ($password == $data['password'] )
{ $_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['password'] = $data['password'];
$_SESSION['id'] = $data['id'];
header('Location:is_logged.php');
}

else { $erreur_connexion = ' Login et/ou mot de passe incorrect(s) ' ;
}



et dans la page mon_compte.php, $_COOKIE['id']=$id; + $_SESSION['id'] = $id;
UPDATE users SET pseudo='$pseudo' WHERE id='$id';

Si je fais ça, ma page mon_compte.php ne s'affiche même plus.
Je pense que cette méthode est erronée, qu'on ne stocke pas id dans un cookie ou une variable de session. Mais peut-être que si et que je me retrompe. Ce n'est pas clair, dans aucun des tutos que j'ai suivi.

**************************************************************

- Si au lieu de créer des $_SESSION['id'] et des S_COOKIE['id']=$data['id'];, etc, (je supprime ces déclarations),

dans la page mon_compte.php qui contient un formulaire pré-rempli avec dans ses champs, des echo $ligne['pseudo']; echo $ligne['nom']; etc,

je dis au submit['update'], (submit['update'] étant le name de mon bouton) UPDATE users SET pseudo='$pseudo' WHERE id=$id, avec au préalable la déclaration suivante : $id=$ligne['id];

et bien je ne sais pas si c'est la solution ?
car le message qui s'affiche est "Duplicate entry 'xxx' key 'pseudo'." alors que je fais un UPDATE !

Que c'est simple et intuitif php !

En revanche, puisque mon form a 2 submits, sur submit['update2'], si je dis UPDATE users SET pseudo='$pseudo' WHERE pseudo=$pseudo, je n'ai pas d'erreur de duplicate entry qui s'affiche.... ......................



Par contre, quelque soit le submit et lorsque je change ne serait-ce qu'une lettre à mon adresse ou à mon prénom, la modification s'enregistre bien en base, mais lorsque je me déconnecte, impossible de me reconnecter avec mes identifiants.
J'aimerais comprendre quelles sont mes erreurs. Je re-re-regarde les tutos, je check les questions et erreurs des autres pour améliorer mes connaissances et mettre en adéquation les réponses des uns avec mon code, mais je buggue quelque part sans malheureusement identifier où.
Vivement que je comprenne et vivement l'autonomie ! car ça fait des jours que je suis dessus sans vraiment avancer. Mais je lâche pas tant que je n'ai pas réussi et compris.


Merci de m'avoir lue et pour vos lumières.

Si besoin, mon code page mon_compte.php est le même que précedemment (mon 1er post), à la différence que j'ai déclaré $id=$ligne['id']; juste avant de dire UPDATE users WHERE id='$id';

Merci.
0
Merci
salut, oui c'est bizzare
Je pense que cette méthode est erronée, qu'on ne stocke pas id dans un cookie ou une variable de session. Mais peut-être que si et que je me retrompe


essaye de faire un var_dump($_SESSION['id']);

et regarde si ta session id existe

׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
0
Merci
Salut :)


Alors var_dump($_SESSION['id']; retourne string '81' (length=2)
(lol on pourra pas dire que j'ai pas testé mon code au moins 80 fois !!)
jusqu'à la page is_logged.php.

Ensuite, si je teste tout en haut de mon_compte.php, j'ai toujours string '81' (length=2)


C'est à partir de l'UPDATE que mon
echo '<pre>';
var_dump($_SESSION['id']);
echo '</pre>';
ne donne plus rien. A la place, j'ai undefined variable :id, même si je déclare juste avant mon UPDATE WHERE id='$id'
$id=$_SESSION['id']; et $id=$_COOKIE['id'];

Que je déclare les variables ci-dessus ou pas, j'ai tjrs undefined variable.

Merci :)
0
Merci
Bon,
J'ai re remplacé $id par WHERE id='".$_SESSION['id']."' et mes updates se font bien en base, mais si je me déconnecte et reconnecte avec l'ancien ou le nouveau pseudo, je peux pas.... grrrrrrrrrrrrrrrrrrrrrrrrrr !!!!!!!!!!!!!!!!!!!!!!!!!!

Et comme je le disais dans mon post 3, par ça me pourrit tout, c'est que lorsque mon update est enregistré dans la bdd, je suis redirigée sur mon_compte_update_ok. Et lorsque de mon_compte_update_ok.php je clique sur mon_compte.php pour vérifier la modification, j'ai page blanche... avec :
BOUTON Modifier
Pivoine Mercerie
8, Rue des Marcassins
47200 Marmande
et rien d'autre.

Tough stuff !!

Mes erreurs de code sont : ? 1000 mercis

Je reposte mon_compte.php au cas où


<?php session_start();


if ( isset($_SESSION['pseudo']) && isset($_SESSION['password']) && isset($_SESSION['id']) )
{$pseudo=$_SESSION['pseudo']; $password=$_SESSION['password'];
$bienvenue_compte = " Bienvenue sur votre compte " .htmlspecialchars($_SESSION['pseudo']) . "! " ;

}

else if ( isset($_COOKIE['pseudo']) && isset($_COOKIE['password']) && isset($_COOKIE['id']) )
{$pseudo=$_COOKIE['pseudo']; $password=$_COOKIE['password'];
$bienvenue_compte = " Bienvenue sur votre compte " .htmlspecialchars($_COOKIE['pseudo']). "! ";
}
else {header('Location:stop_connection-requise.php');}



if(isset($_COOKIE['pseudo']) && isset($_COOKIE['password']) && isset($_COOKIE['id']) || isset($_SESSION['pseudo']) && isset($_SESSION['password']) && isset($_SESSION['id']) )
{
include('mysql_connect_pivoine.php');

$requete=("SELECT * FROM users WHERE pseudo='$pseudo'");
$resultat = mysql_query($requete) or die("Query failed" );
while ($ligne = mysql_fetch_assoc($resultat))
{

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.10.2.min.js"> </script>
<script type="text/javascript" src="js/pivoine.js"> </script>
<link rel="stylesheet" href="PivoineMercerie.css" />


<title>Pivoine Mercerie en ligne Marmande </title>
</head>

<body class="body2">


<div class="conteneur_principal_index">
<div class="head"> Pivoine Mercerie </div>

<div id="menu">
<ul id="onglets">
<li><a href="index.php"> Accueil </a></li>
<li><a href="mercerie_boutique_en_ligne.php"> Boutique en ligne </a></li>
<li><a href="inscription.php"> Créer un compte </a></li>
<li><a href="connexion.php"> Se connecter </a></li>
<li class="active"><a href="mon_compte.php"> Mon compte </a></li>
<li><a href="panier.php"> Mon panier </a></li>
<li><a href="map.php"> Contact </a></li>
</ul>
</div>



<div class="enregistrement">

<p>
<span class="membre"> <?php if(isset($bienvenue_compte)) echo $bienvenue_compte; ?> </span> <br />
</p>
<div class="enregistrement_compte">
<p class="mon_compte"> Mon compte </p>
<form name="registration_update" id="registration" action="" method="post">



<fieldset id="identifiants_registration">
<legend > Mes identifiants </legend>
<p >
<label for="pseudo" id="label_pseudo"> Pseudo : *</label><br />
<input type="text" name="pseudo" id="pseudo" class="field" placeholder=" 6 caractères minimum" size="30" maxlength="70" tabindex="10"
value="<?php echo $ligne['pseudo']; ?> " />

<br />
<br />


<!-- <script src="js/verifpseudo_update.js" type="text/javascript"> </script> -->



<label for="password" id="label_pass"> Mot de passe : *</label> <br />
<input type="password" name="password" id="password_connexion" class="field" placeholder=" 6 caractères minimum" size="30" maxlength="70" tabindex="20"
value="<?php echo $ligne['password']; ?>"/>
<span class="error_message"> <?php if (isset($erreurpassword)) echo $erreurpassword; ?> </span>
<br />
<br />

<label for="password" id="label_pass2"> Retapez votre mot de passe : * </label> <br />
<input type="password" name="repeatpassword" id="password_connexion" class="field" size="30" maxlength="70" tabindex="30" value="<?php echo $ligne['password']; ?>"/>
<span class="error_message"> <?php if (isset($erreurpassword2)) echo $erreurpassword2; ?> </span>
<br /><br />

<label for="email" id="label_email"> Email : * </label> <br />
<input type="text" name="email" id="email" class="field" size="30" maxlength="70" tabindex="31" value="<?php echo $ligne['email']; if (isset($email)) echo $email; ?>" />
<span class="error_message_email"> </span>
<span class="error_message"> <?php if(isset($erreuremail)) echo $erreuremail;?> </span>



<!-- <script type="text/javascript" src="js/jquery-1.10.2.min.js" > </script>
<script src="js/verif_email.js" type="text/javascript"> </script> -->
<br /><br />
</p>
</fieldset>


<fieldset id="coordonnees_registration">
<legend> Mon adresse de livraison </legend>
<p>
<label for="civilite" id="label_civilite" > Civilité : * </label><br />
<select name="civilite" id="civilite" class="field" tabindex="40" />
<option value=" "> <?php echo $ligne['civilite']; ?> </option>
<?php
$selected = isset( $civilite ) ? $civilite : "" ;
$selectedValue = 'selected="selected"';
?>
<option value="Mlle" <?php if ($selected == "Mlle") echo $selectedValue ; ?>> Mlle </option>
<option value="Mme" <?php if ($selected == "Mme") echo $selectedValue ; ?>> Mme </option>
<option value="Mr" <?php if ($selected == "Mr") echo $selectedValue ; ?>> Mr </option>
</select>
<span class="error_message"> <?php if(isset($erreurcivilite)) echo $erreurcivilite ; ?> </span>
<br /><br />


<label for="nom" id="label_nom"> Nom : * </label><br />
<input type="text" name="nom" id="nom" class="field" size="30" maxlength="70" tabindex="60" value="<?php echo $ligne['nom']; if (isset($nom)) echo $nom; ?>"/>
<span class="error_message"> <?php if (isset($erreurnom)) echo $erreurnom ; ?> </span>
<br />
<br />
<label for="prenom" id="label_prenom"> Prénom : *</label> <br />
<input type="text" name="prenom" id="prenom" class="field" size="30" maxlength="70" tabindex="70" value="<?php echo $ligne['prenom']; if (isset($prenom)) echo $prenom; ?>"/>
<span class="error_message"> <?php if (isset($erreurprenom)) echo $erreurprenom ; ?> </span> <br /><br />

<label for="societe" id="label_societe"> Société :</label> <br />
<input type="text" name="societe" id="societe" class="field" size="30" maxlength="70" tabindex="75" value="<?php echo $ligne['societe']; if (isset($societe)) echo $societe; ?>"/>
<span class="error_message"> <?php if (isset($erreursociete)) echo $erreursociete ; ?> </span> <br /><br />

<label for="adresse" id="label_adresse"> Adresse : * </label> <br />
<input type="text" name="adresse" id="adresse" class="field" size="30" maxlength="100" tabindex="80" value="<?php echo $ligne['adresse']; if (isset($adresse)) echo $adresse; ?>"/>
<span class="error_message"> <?php if (isset($erreuradresse)) echo $erreuradresse ; ?> </span> <br /> <br />

<label for="adresse" id="label_adresse2"> Complément d'adresse : </label> <br />
<input type="text" name="adresse2" id="adresse2" class="field" size="30" maxlength="100" tabindex="90" value="<?php echo $ligne['adresse2']; if (isset($adresse2)) echo $adresse2; ?>"/> <br /><br />

<label for="cp" id="label_cp"> Code postal : * </label> <br />
<input type="text" name="cp" id="cp" class="field" size="20" maxlength="30" tabindex="100" value="<?php echo $ligne['cp']; if (isset($cp)) echo $cp ; ?>"/>
<span class="error_message"> <?php if (isset($erreurcp)) echo $erreurcp ; ?> </span> <br /><br />

<label for="ville" id="label_ville"> Ville : * </label> <br />
<input type="text" name="ville" id="ville" class="field" size="30" maxlength="100" tabindex="110" value="<?php echo $ligne['ville']; if (isset($ville)) echo $ville ; ?>" />
<span class="error_message"> <?php if(isset($erreurville)) echo $erreurville ; ?> </span> <br /><br />

<label for="cpays" id="label_pays"> Pays : * </label> <br />
<input type="text" name="pays" id="pays" class="field" size="30" maxlength="100" tabindex="120" value="<?php echo $ligne['pays']; if (isset($pays)) echo $pays; ?>" />
<span class="error_message"> <?php if(isset($erreurpays)) echo $erreurpays; ?> </span> <br /><br />

<label for="tel" id="label_tel"> Téléphone : *</label> <br />
<input type="text" name="tel" id="tel" class="field" placeholder=" 10 chiffres sans espace" size="30" maxlength="70" tabindex="140" value="<?php echo $ligne['tel']; if (isset($tel)) echo $tel; ?>" /> <span class="error_message"> <?php if (isset($erreurtel)) echo $erreurtel; ?></span>


<br /><br />
<input type="checkbox" name="check_livfact" id="check_livfact" tabindex="160" />
<label for="livraisonfacturation" id="label_livraisonfacturation"> Utiliser mon adresse de livraison comme adresse de facturation</label>
<br /><br />

<input type="submit" name="submit_update" id="submit" value="Modifier" tabindex="150" />


<br /><br /><br />
</p>

</fieldset>

<div id="div_coordonnees_facturation">
<fieldset id="coordonnees_facturation">
<legend> Mon adresse de facturation - si différente de l'adresse de livraison </legend>

<p>
<label for="civilite_facturation" id="label_civilite_facturation" > Civilité : * </label><br />
<select name="civilite_facturation" id="civilite_facturation" class="field" tabindex="40" />
<option selected="selected" value=""> <?php echo $ligne['civilite_facturation']; ?></option>
<?php
$selected_a = isset( $civilite_facturation ) ? $civilite_facturation : "" ;
$selectedValue_a = 'selected="selected"';
?>
<option value="Mlle" <?php if ($selected_a == "Mlle") echo $selectedValue_a ; ?>> Mlle </option>
<option value="Mme" <?php if ($selected_a == "Mme") echo $selectedValue_a ; ?>> Mme </option>
<option value="Mr" <?php if ($selected_a == "Mr") echo $selectedValue_a ; ?>> Mr </option>
</select>
<span class="error_message"> <?php if(isset($erreurcivilite)) echo $erreurcivilite; ?> </span>
<br /><br />

<label for="nom" id="label_nom_facturation"> Nom : * </label><br />
<input type="text" name="nom_facturation" id="nom" size="30" maxlength="70" tabindex="180"
value="<?php echo $ligne['nom_facturation']; if(isset($nom_facturation)) echo $nom_facturation; ?>" />
<br />
<br />
<label for="prenom" id="label_prenom_facturation"> Prénom : *</label> <br />
<input type="text" name="prenom_facturation" id="prenom" size="30" maxlength="70" tabindex="190"
value="<?php echo $ligne['prenom_facturation']; if(isset($prenom_facturation)) echo $prenom_facturation; ?>" /> <br /><br />

<label for="societe" id="label_societe_facturation"> Société :</label> <br />
<input type="text" name="societe_facturation" id="societe" size="30" maxlength="70" tabindex="200"
value="<?php echo $ligne['societe_facturation']; if(isset($societe_facturation)) echo $societe_facturation; ?>"/> <br /><br />

<label for="adresse" id="label_adresse_facturation"> Adresse : * </label> <br />
<input type="text" name="adresse_facturation" id="adresse" size="30" maxlength="100" tabindex="210"
value="<?php echo $ligne['adresse_facturation']; if(isset($adresse_facturation)) echo $adresse_facturation; ?>"/> <br /> <br />

<label for="adresse" id="label_adresse2_facturation"> Complément d'adresse : </label> <br />
<input type="text" name="adresse2_facturation" id="adresse2" size="30" maxlength="100" tabindex="220"
value="<?php echo $ligne['adresse2_facturation']; if(isset($adresse2_facturation)) echo $adresse2_facturation; ?>"/> <br /><br />

<label for="cp" id="label_cp_facturation"> Code postal : * </label> <br />
<input type="text" name="cp_facturation" id="cp" size="20" maxlength="30" tabindex="230"
value="<?php echo $ligne['cp_facturation']; if(isset($cp_facturation)) echo $cp_facturation; ?>"/> <br /><br />

<label for="ville" id="label_ville_facturation"> Ville : * </label> <br />
<input type="text" name="ville_facturation" id="ville" size="30" maxlength="100" tabindex="240"
value="<?php echo $ligne['ville_facturation']; if(isset($ville_facturation)) echo $ville_facturation; ?>"/> <br /><br />

<label for="cpays" id="label_pays_facturation"> Pays : * </label> <br />
<input type="text" name="pays_facturation" id="pays" size="30" maxlength="100" tabindex="250"
value="<?php echo $ligne['pays_facturation']; if(isset($pays_facturation)) echo $pays_facturation; ?>"/> <br /><br />


<label for="email" id="label_email_facturation"> Email : * </label> <br />
<input type="text" name="email_facturation" id="email_facturation" size="30" maxlength="70" tabindex="260"
value="<?php echo $ligne['email_facturation']; if(isset($email_facturation)) echo $email_facturation; ?>" /> <br /><br />

<label for="tel" id="label_tel_facturation"> Téléphone : *</label><br />
<input type="text" name="tel_facturation" id="tel" placeholder=" 10 chiffres sans espace" size="30" maxlength="70" tabindex="270"
value="<?php echo $ligne['tel_facturation']; if(isset($tel_facturation)) echo $tel_facturation; ?>"/>

<?php
}

// $resultat->Close(); // Termine le traitement de la requête

}else {header('Location:stop_connection-requise.php');} ?>
</p>
<br /><br />
<input type="submit" name="submit2_update" id="submit2" value="Modifier" tabindex="280" />


</fieldset>
</div>
</form>
</div>


</div>

</div>




<div class="adresse"> <span class="pivoine_adresse"> Pivoine Mercerie</span><br />
8, Rue des Marcassins<br />
47200 Marmande</div>

<?php
if(isset($_POST['submit_update']) && !empty($_POST['submit_update']) )
{ $valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);
$repeatpassword=htmlspecialchars(trim($_POST["repeatpassword"]));
$email=htmlspecialchars(trim($_POST["email"]));
$civilite=htmlspecialchars(trim($_POST["civilite"]));
$nom=htmlspecialchars(trim($_POST["nom"]));
$prenom=htmlspecialchars(trim($_POST["prenom"]));
$societe=htmlspecialchars(trim($_POST["societe"]));
$adresse=htmlspecialchars(trim($_POST["adresse"]));
$adresse2=htmlspecialchars(trim($_POST["adresse2"]));
$cp=htmlspecialchars(trim($_POST["cp"]));
$ville=htmlspecialchars(trim($_POST["ville"]));
$pays=htmlspecialchars(trim($_POST["pays"]));
$tel=htmlspecialchars(trim($_POST["tel"]));

if ( empty($_POST['password']))
{$valid=false;
$erreurpassword = "Mot de passe requis";
}

if ( strlen($_POST['password']) <6 )
{$valid=false;
$erreurpassword = "6 caractères minimum";
}

if ( empty($_POST['repeatpassword']))
{$valid=false;
$erreurpassword2 = "Répétez votre mot de passe";
}

if ($_POST['repeatpassword'] != $_POST['repeatpassword'])
{$valid=false;
$erreurpassword2 = "Les mots de passe doivent être identiques";
}else{$password=md5($password);}




if ( empty($_POST['civilite']))
{$valid=false;
$erreurcivilite = "Veuillez indiquer votre civilité";
}

if ( empty($_POST['nom']))
{$valid=false;
$erreurnom = "Veuillez indiquer votre nom";
}

if ( empty($_POST['prenom']))
{$valid=false;
$erreurprenom = "Veuillez indiquer votre prénom";
}

if ( empty($_POST['adresse']))
{$valid=false;
$erreuradresse = "Veuillez indiquer votre adresse";
}

if ( empty($_POST['cp']))
{$valid=false;
$erreurcp = "Veuillez indiquer votre code postal";
}

if ( empty($_POST['ville']))
{$valid = false;
$erreurville = "Veuillez indiquer votre ville";
}

if ( empty($_POST['pays']))
{$valid=false;
$erreurpays = "Veuillez indiquer votre pays";
}

if ( empty($_POST['tel']))
{$valid=false;
$erreurtel = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel']))
{$valid=false;
$erreurtel = " 10 chiffres requis";
}



if (isset($valid))

{ include('mysql_connect_pivoine.php');
$pseudo=mysql_real_escape_string($_POST["pseudo"]);
$password=mysql_real_escape_string($_POST["password"]);
$password=md5($password);
$repeatpassword=mysql_real_escape_string($_POST["repeatpassword"]);
$email=mysql_real_escape_string($_POST["email"]);
$civilite=mysql_real_escape_string($_POST["civilite"]);
$nom=mysql_real_escape_string($_POST["nom"]);
$prenom=mysql_real_escape_string($_POST["prenom"]);
$societe=mysql_real_escape_string($_POST["societe"]);
$adresse=mysql_real_escape_string($_POST["adresse"]);
$adresse2=mysql_real_escape_string($_POST["adresse2"]);
$cp=mysql_real_escape_string($_POST["cp"]);
$ville=mysql_real_escape_string($_POST["ville"]);
$pays=mysql_real_escape_string($_POST["pays"]);
$tel=mysql_real_escape_string($_POST["tel"]);


mysql_query("UPDATE users SET pseudo='$pseudo', password='$password', email='$email', civilite='$civilite', nom='$nom', prenom='$prenom',
societe='$societe', adresse='$adresse', adresse2='$adresse2', cp='$cp', ville='$ville', pays='$pays', tel='$tel'
WHERE id='".$_SESSION['id']."' ") or die(mysql_error() );

mysql_close($mysql_connect_pivoine);
header('Location:mon_compte_update_ok.php');

}

}

/**************************************************** form SUBMIT2_update FACTURATION DIFFERENTE ******************************************************************/
elseif(isset($_POST['submit2_update']) && !empty($_POST['submit2_update']))
{

$valid = true;
$pseudo=htmlspecialchars(trim($_POST["pseudo"]));
$password=htmlspecialchars(trim($_POST["password"]));
$password=md5($password);
$repeatpassword=htmlspecialchars(trim($_POST["repeatpassword"]));
$email=htmlspecialchars(trim($_POST["email"]));
$civilite=htmlspecialchars(trim($_POST["civilite"]));
$nom=htmlspecialchars(trim($_POST["nom"]));
$prenom=htmlspecialchars(trim($_POST["prenom"]));
$societe=htmlspecialchars(trim($_POST["societe"]));
$adresse=htmlspecialchars(trim($_POST["adresse"]));
$adresse2=htmlspecialchars(trim($_POST["adresse2"]));
$cp=htmlspecialchars(trim($_POST["cp"]));
$ville=htmlspecialchars(trim($_POST["ville"]));
$pays=htmlspecialchars(trim($_POST["pays"]));
$tel=htmlspecialchars(trim($_POST["tel"]));

$civilite_facturation=htmlspecialchars(trim($_POST["civilite_facturation"]));
$nom_facturation=htmlspecialchars(trim($_POST["nom_facturation"]));
$prenom_facturation=htmlspecialchars(trim($_POST["prenom_facturation"]));
$societe_facturation=htmlspecialchars(trim($_POST["societe_facturation"]));
$adresse_facturation=htmlspecialchars(trim($_POST["adresse_facturation"]));
$adresse2_facturation=htmlspecialchars(trim($_POST["adresse2_facturation"]));
$cp_facturation=htmlspecialchars(trim($_POST["cp_facturation"]));
$ville_facturation=htmlspecialchars(trim($_POST["ville_facturation"]));
$pays_facturation=htmlspecialchars(trim($_POST["pays_facturation"]));
$email_facturation=htmlspecialchars(trim($_POST["email_facturation"]));
$tel_facturation=htmlspecialchars(trim($_POST["tel_facturation"]));


if (empty($_POST['password']))
{$valid=false;
$erreurpassword = "Mot de passe requis";
}

if ( strlen($_POST['password']) <6 )
{$valid=false;
$erreurpassword = "6 caractères minimum";
}

if ( empty($_POST['repeatpassword']))
{$valid=false;
$erreurpassword2 = "Répétez votre mot de passe";
}

if ($_POST['repeatpassword'] != $_POST['repeatpassword'])
{$valid=false;
$erreurpassword2 = "Les mots de passe doivent être identiques";
}else{$password=md5($password);}


if (! preg_match( "#[a-z0-9._-]+@[a-z0-9._-][^@]+\.[a-z]{2,3}#", $_POST['email'])) /* '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'*/
{$valid=false;
$erreuremail = "Votre adresse e-mail n'est pas valide";
}

if ( empty($_POST['civilite']))
{$valid=false;
$erreurcivilite = "Veuillez indiquer votre civilité";
}

if ( empty($_POST['nom']))
{$valid=false;
$erreurnom = "Veuillez indiquer votre nom";
}

if ( empty($_POST['prenom']))
{$valid=false;
$erreurprenom = "Veuillez indiquer votre prénom";
}

if ( empty($_POST['adresse']))
{$valid=false;
$erreuradresse = "Veuillez indiquer votre adresse";
}

if ( empty($_POST['cp']))
{$valid=false;
$erreurcp = "Veuillez indiquer votre code postal";
}

if ( empty($_POST['ville']))
{$valid = false;
$erreurville = "Veuillez indiquer votre ville";
}

if ( empty($_POST['pays']))
{$valid=false;
$erreurpays = "Veuillez indiquer votre pays";
}

if ( empty($_POST['tel']))
{$valid=false;
$erreurtel = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel']))
{$valid=false;
$erreurtel = " 10 chiffres";
}


if ( empty($_POST['civilite_facturation']))
{$valid=false;
$erreurcivilite_facturation = "Champ à renseigner";
}

if ( empty($_POST['nom_facturation']))
{$valid=false;
$erreurnom_facturation = "Champ à renseigner";
}

if ( empty($_POST['prenom_facturation']))
{$valid=false;
$erreurprenom_facturation = "Champ à renseigner";
}

if ( empty($_POST['adresse_facturation']))
{$valid=false;
$erreuradresse_facturation = "Champ à renseigner";
}

if ( empty($_POST['cp_facturation']))
{$valid=false;
$erreurcp_facturation = "Champ à renseigner";
}

if ( empty($_POST['ville_facturation']))
{$valid = false;
$erreurville_facturation = "Champ à renseigner";
}

if ( empty($_POST['pays_facturation']))
{$valid=false;
$erreurpays_facturation = "Champ à renseigner";
}

if ( empty($_POST['email_facturation']))
{$valid=false;
$erreuremail_facturation = "Champ à renseigner";
}

if (! preg_match( "#[a-z0-9._-]+@[a-z0-9._-][^@]+\.[a-z]{2,3}#", $_POST['email_facturation'])) /* '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'*/
{$valid=false;
$erreuremail_facturation = "Cette adresse e-mail n'est pas valide";
}

if (empty($_POST['tel_facturation']))
{$valid=false;
$erreurtel_facturation = "Veuillez indiquer votre numéro de téléphone";
}
if (!preg_match(" '([-. ]?[0-9]{2}){4}' ", $_POST['tel_facturation']))
{$valid=false;
$erreurtel_facturation = " 10 chiffres";
}

if (isset($valid))
{ include('mysql_connect_pivoine.php');
$pseudo=mysql_real_escape_string($_POST["pseudo"]);
$password=mysql_real_escape_string($_POST["password"]);
$password=md5($password);
$repeatpassword=mysql_real_escape_string($_POST["repeatpassword"]);
$email=mysql_real_escape_string($_POST["email"]);
$civilite=mysql_real_escape_string($_POST["civilite"]);
$nom=mysql_real_escape_string($_POST["nom"]);
$prenom=mysql_real_escape_string($_POST["prenom"]);
$societe=mysql_real_escape_string($_POST["societe"]);
$adresse=mysql_real_escape_string($_POST["adresse"]);
$adresse2=mysql_real_escape_string($_POST["adresse2"]);
$cp=mysql_real_escape_string($_POST["cp"]);
$ville=mysql_real_escape_string($_POST["ville"]);
$pays=mysql_real_escape_string($_POST["pays"]);
$tel=mysql_real_escape_string($_POST["tel"]);

$civilite_facturation=mysql_real_escape_string($_POST["civilite_facturation"]);
$nom_facturation=mysql_real_escape_string($_POST["nom_facturation"]);
$prenom_facturation=mysql_real_escape_string($_POST["prenom_facturation"]);
$societe_facturation=mysql_real_escape_string($_POST["societe_facturation"]);
$adresse_facturation=mysql_real_escape_string($_POST["adresse_facturation"]);
$adresse2_facturation=mysql_real_escape_string($_POST["adresse2_facturation"]);
$cp_facturation=mysql_real_escape_string($_POST["cp_facturation"]);
$ville_facturation=mysql_real_escape_string($_POST["ville_facturation"]);
$pays_facturation=mysql_real_escape_string($_POST["pays_facturation"]);
$email_facturation=mysql_real_escape_string($_POST["email_facturation"]);
$tel_facturation=mysql_real_escape_string($_POST["tel_facturation"]);

mysql_query("UPDATE users SET pseudo='$pseudo', password='$password', email='$email', civilite='$civilite', nom='$nom', prenom='$prenom',
societe='$societe', adresse='$adresse', adresse2='$adresse2', cp='$cp', ville='$ville', pays='$pays', tel='$tel',
civilite_facturation='$civilite_facturation', nom_facturation='$nom_facturation', prenom_facturation='$prenom_facturation',
societe_facturation='$societe_facturation', adresse_facturation='$adresse_facturation', adresse2_facturation='$adresse2_facturation',
cp_facturation='$cp_facturation', ville_facturation='$ville_facturation', pays_facturation='$pays_facturation',
email_facturation='$email_facturation', tel_facturation='$tel_facturation'
WHERE pseudo='$pseudo' ")
or die(mysql_error() );
mysql_close($mysql_connect_pivoine);
header('Location:mon_compte_update_ok.php');
//$update_ok = 'Vos modifications ont bien été enregistrées. Merci ';
}





}

else {$valid =false; }
?>




</div>
</body>
</html>

0
Merci
salut, peut être pourrais-tu faire un google drive contenant les pages concerné ou hébergé un zip. En effet ton code est long et je n'ai pas toutes les fichiers c'est pas évident comme ça.. Tu pourrais mettre aussi une exportation de la base de donnée, de cette manière on pourra tester depuis chez nous.



׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
0
Merci
Ok c'est sympa, très sympa même !!!!

http://dl.free.fr/ouw3GdXPw

pour télécharger PivoineMercerie.zip, qui inclue ma table users.sql dont j'ai effacé 80 colonnes ! du fait qu'yavait mes infos perso, donc faut pas être surpris si ya plus que 3 colonnes au lieu de 80 et quelques comme je disais dans un de mes posts précédents.

Merci beaucouuup ! et à l'avenir je ferai plus simple et plus court pour mes codes. Là c'était une première, hihi. Mais merci pour vos yeux aguerris sur ce code précis.

Have a great evening ! Many thanks
0
Merci
ps: Le css est peut être un peu moche, car j'ai un problème avec... Wamp? je sais pas, qui en local dans Chrome m'affiche tout nickel, alors que dans FF ou IE c'est tout étiré. c'est un problème que je dois régler. SI vous savez à quoi c'est du, et si ça vient bien de Wamp, merci encooore de me le confirmer.
0
Merci
salut,

J'ai re remplacé $id par WHERE id='".$_SESSION['id']."' et mes updates se font bien en base

oui tout à fait cela fonctionne :)

mais si je me déconnecte et reconnecte avec l'ancien ou le nouveau pseudo, je peux pas

en fait c'est bizare car le cookie pseudo et password ne sont pas supprimé. Curieusement celui de id oui mais pas les deux autres
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
j'ai modifié dans is_logged et connexion

|| (isset($_COOKIE['pseudo']) || isset($_COOKIE['password']) || isset($_COOKIE['id']) )


et j'ai vu que j'étais encore connecté, je me suis re-déconnecté et cette fois si tout les cookies on été supprimé mais je peux pas me connecter tout de même
Utilisateur anonyme -
Et comme je le disais dans mon post 3, par ça me pourrit tout, c'est que lorsque mon update est enregistré dans la bdd, je suis redirigée sur mon_compte_update_ok. Et lorsque de mon_compte_update_ok.php je clique sur mon_compte.php pour vérifier la modification, j'ai page blanche.


moi je reste sur mon_compte.php, là je suis fatigué je vais me coucher demain j'y arriverai mieux
Utilisateur anonyme -
j'ai refait un compte et ça ma pas refait le coups des cookies qui s'efface pas, j'ai du mal à comprendre
0
Merci
Désolé, mais je n'y comprends rien. Pourquoi on peu se connecté une fois le compte crée et apres si on modifie le compte on peu plus.

Je capitule désolé.
0
Merci
Salut,

Merci de t'être penché sur le sujet. Bon...
Tu penses quand-même que c'est mon code qui est à l'origine du problème? ou peut-être un dysfonctionnement de mysql chez moi, qui du coup a corrompu l'exportation de ma base? et qui de ce fait fait que la reconnexion est impossible même chez toi?

Depuis que j'ai installé Wordpress pour tester, mon css s'affiche semble-t-il à 80% dans Chrome mais à 100% dans ie et ff. Si quelquechose a mis le souk dans Wamp il peut aussi avoir corrompu mysql ainsi que les fichiers sql exportés?
Ce n'est qu'une hypothèse !
Je ne sais pas s'il ya un lien, ou si c'est simplement mon code qui foire.. Mais si tu as vérifié mon code et qu'il est correct, le problème vient peut-être d'ailleurs.
A ton avis?

Bonne journée,
Thanks again
0
Merci
salut, je suis pas un grand développeur php, je suis encore étudiant.

Mais je me suis bien arraché les cheveux dessus, et j'ai du travail à coté, je ne peux pas faire que cela. Désolé je ne connais pas la cause du problème, mais d'autre sauront peut être.

Bonne journée
0
Merci
Salut,

Ya pas de soucis, merci beaucoup déjà de t'être intéressé à ma question.

Bonne continuation pour tes études et le reste,
et bon après-midi aussi
0
Merci
Yeah ! C'est résolu !
Tout venait du fait que dans mon formulaire de Update, j'affichais le champs password avec le password hashé, et lorsque l'update se faisait, le password hashé se rehashait.
Conclusion: un password ne doit pas être updaté en même temps que les autres champs. De ses erreurs on apprend.
Cool !
0
Merci
dzdzed,


Si vous m'aviez dit dès le départ qu'un mot de passe ne s'updatait pas en même temps que le reste des champs, et ce dans le cadre d'un formulaire pré-rempli, j'aurais bien compris la nécessité de faire des forms différents.

Bonsoir