Bonsoir,
J'ai une page qui affiche les infos du membre:
Et puis j'ai cette page qui traite le formulaire d'avant:
Quand je clique sur mettre à jour le profil il m'affiche ces deux erreurs:
Voici les lignes 23 et 33:
Donc si vous avez une idée sur le problème ...
J'ai passé l'après-midi dessus alors là j'en peux plus ....
D'avance merci beaucoup.
Modifié par Jackisback (01 Feb 2009 - 21:35)
J'ai une page qui affiche les infos du membre:
<?php if (!session_id()) session_start();?>
<div id = "profils">
<form action = "../formulaire/inscription/profil_maj.php" method = "post">
<fieldset>
<legend>Mon profil sur Avenir-Acier</legend> <!-- Titre du fieldset -->
<fieldset><legend>MES INFORMATIONS PERSONNELLES</legend>
<p> <label for="inscr_prenom">Mon prénom :</label><br />
<input type="text" name="inscr_prenom" id="inscr_prenom" value="<?php echo $coordonnees['inscr_prenom'];?>"/>
</p>
<p> <label for="inscr_nom_famille">Mon nom :</label><br />
<input type="text" name="inscr_nom_famille" id="inscr_nom_famille" value="<?php echo stripslashes($coordonnees['inscr_nom_famille']);?>"/> </p>
<p> <label for="inscr_sexe">Je suis :</label><br />
<select name="inscr_sexe" id="inscr_sexe" value="<?php echo stripslashes($coordonnees['inscr_sexe']);?>">
<option value="Homme">Un homme</option>
<option value="Femme">Une femme</option>
</select>
</p>
<p> <label for="inscr_lieu">J'habite :</label><br />
<select name="inscr_lieu" id="inscr_lieu" value="<?php echo stripslashes($coordonnees['inscr_lieu']);?>">
<optgroup label="Europe">
<option value="allemagne">Allemagne</option>
</optgroup>
</select>
</p>
<p> <label for="date_de_naissance">Ma date de naissance :</label><br />
<select name="jour_de_naissance" id="jour_de_naissance" value="<?php echo stripslashes($coordonnees['inscr_lieu']);?>">
<option value="1">1</option>
</select>
<select name="mois_de_naissance" id="mois_de_naissance" value="<?php echo stripslashes($coordonnees['inscr_lieu']);?>">
<option value="1">Janvier</option>
</select>
<select name="annee_de_naissance" id="annee_de_naissance" value="<?php echo stripslashes($coordonnees['inscr_lieu']);?>">
<option value="1930">1930</option>
<option value="1931">1931</option>
</select>
</p>
</fieldset>
<fieldset><legend>MES INFORMATIONS DE CONNEXION</legend>
<p> <label for="inscr_pass">Votre mot de passe actuel:</label><br />
<input type="password" name="inscr_pass" id="inscr_pass" value="<?php echo stripslashes($coordonnees['inscr_pass']);?>" /> </p>
<p> <label for="inscr_pass_new">Voici mon nouveau mot de passe :</label><br />
<input type="password" name="inscr_pass_new" id="inscr_pass_new" /> </p>
<p> <label for="inscr_pass_new_verif">Vérification du nouveau mot de passe :</label><br />
<input type="password" name="inscr_pass_new_verif" id="inscr_pass_new_verif" /> </p>
</fieldset>
<fieldset><legend>MES INFORMATIONS VIRTUELLES</legend> <!-- Titre du fieldset -->
<p> <label for="inscr_website">Site web ou blog :</label><br />
<input type="text" name="inscr_website" id="inscr_website" value="<?php echo stripslashes($coordonnees['inscr_website']);?>"/> </p>
<p> <label for="inscr_email">Email :</label><br />
<input type="text" name="inscr_email" id="inscr_email" value="<?php echo stripslashes($coordonnees['inscr_email']);?>"/> </p>
<p> <label for="inscr_email_2">Retapez votre email :</label><br />
<input type="text" name="inscr_email_2" id="inscr_email_2"/> </p>
<p> <label for="inscr_msn">MSN Messenger :</label><br />
<input type="text" name="inscr_msn" id="inscr_msn" value="<?php echo stripslashes($coordonnees['inscr_msn']);?>"/> </p>
</fieldset>
<p><input type="submit" value="Mettre à jour mon profil" id = "valider"></p>
</form></p>
</fieldset></p>
</fieldset>
<div id = "message">
</div>
</p>
Et puis j'ai cette page qui traite le formulaire d'avant:
<?php
//Cette fonction doit être appelée avant tout code html
error_reporting(E_ALL);
session_start();
// On se prépare à se connecter à la BDD
$hostname = "";
$database = "";
$username = "";
$password = "";
$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());
if (!$connection) { die('Connexion impossible : ' . mysql_error());}
//echo 'Connexion réussie';
// Connexion à la base
mysql_select_db($database, $connection);
?>
<?php
//On récupère les infos du membre
$requete1 = mysql_query("SELECT * FROM membre WHERE id='".$_SESSION['id']."'");
if ($data1 = mysql_fetch_assoc($requete1))
{
//On affiche rien (c'est juste pour la suite des operations)
}
echo $data1; //Test d'affichage des variables
//Récupération des variables du formulaire envoyé en POST
$i = 0;
$id=intval($_SESSION['id']);
$prenom = mysql_real_escape_string($_POST['inscr_prenom']);
$nom_famille = mysql_real_escape_string($_POST['inscr_nom_famille']);
$sexe = mysql_real_escape_string($_POST['inscr_sexe']);
$lieu = mysql_real_escape_string($_POST['inscr_lieu']);
$pass = mysql_real_escape_string($_POST['inscr_pass_new']);
$pass_confirm = mysql_real_escape_string($_POST['inscr_pass_new_verif']);
$website = mysql_real_escape_string($_POST['inscr_website']);
$email = mysql_real_escape_string($_POST['inscr_email']);
$msn = mysql_real_escape_string($_POST['inscr_msn']);
//Vérification du mdp
if ($pass != $pass_confirm || empty($pass_confirm) || empty($pass))
{
$mdp_erreur = "Votre mot de passe et votre confirmation diffèrent ou sont vides";
$i++;
}
//Vérification de l'adresse email
//Il faut que l'adresse email n'ait jamais été utilisée (sauf si elle n'a pas été modifiée)
if (strtolower($data1['inscr_email']) != strtolower($email))
{
$nombremail = mysql_result(mysql_query("SELECT count(*) FROM membre WHERE inscr_email = '".$email."' AND id = $id"), 0);
if ($nombremail!= 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//On vérifie la forme maintenant
if (!preg_match("#^[a-z0-9A-Z._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre nouvelle adresse E-Mail n'a pas un format valide";
$i++;
}
}
//Vérification de l'adrese msn
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre nouvelle adresse MSN n'a pas un format valide";
$i++;
}
if ($i == 0) // Si $i est vide, il n'y a pas d'erreur
{
//On modifie la table
mysql_query("UPDATE membre SET
inscr_prenom='$prenom',
inscr_nom_famille='$nom_famille',
inscr_sexe='$sexe',
inscr_lieu='$lieu',
inscr_pass='$pass',
inscr_website='$website',
inscr_email='$email',
inscr_msn='$msn'
WHERE id=$id") or die (mysql_error());
}
else
{
echo'<h1>Modification interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant la modification du profil</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
}
?>
Quand je clique sur mettre à jour le profil il m'affiche ces deux erreurs:
Notice: Undefined index: id in /mnt/web2/htdocs/formulaire/inscription/profil_maj.php on line 23
Notice: Undefined index: id in /mnt/web2/htdocs/formulaire/inscription/profil_maj.php on line 33
Voici les lignes 23 et 33:
//On récupère les infos du membre
$requete1 = mysql_query("SELECT * FROM membre WHERE id='".$_SESSION['id']."'");
$id=intval($_SESSION['id']);
Donc si vous avez une idée sur le problème ...
J'ai passé l'après-midi dessus alors là j'en peux plus ....
D'avance merci beaucoup.
Modifié par Jackisback (01 Feb 2009 - 21:35)