pb script modification bdd

Eléphant du PHP | 94 Messages

12 oct. 2010, 19:11

bonjour à tous,
voilà j'avance petit à petit sur mon site et je vous remercie pour toutes les aides que vous m'avez apportés.
j'ai encore besoin de vous.

j'ai créé un espace membre, j'aimerais qu'il soit possible pour les membres de m'odifier certaines infos perso et qu'elle s'enregistre sur bdd.

cela fonctionne pour le mot de passe(facile j'ai repris un script...:) mais cela ne fonctionne pas lorsque je rajoute les autres éléments.

Modification de l'e-mail ok cela fonctionne
Nom : ". $nom ." (ici cela me met : ". $nom .")
Ancien mot de passe (pour pas changer, ne pas remplir) ok ça fonctionne
Nouveau mot de passe ok ça fonctionne
confirmation du nouveau mot de passe ok ça fonctionne

ci dessous les codes utilisés :
session_start();
require_once('config.php');
require_once('verifications.php');
$titre_page='Modification du profil';
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>Modification de profil</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>
	<tr>
	<td><label for='nom'>Nom : </label></td>
	<td><input name='nom' type='text' id='nom' value='". $nom ."'></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><input type="submit" name="Submit" value="Modifier"></td>
	</tr>
	</table>
	</form>
	<div align=center><a href="index.php" onClick="history.back()">Retour</a></div>
profil 2 :
session_start();
require_once('config.php');
require_once('verifications.php');
$titre_page='Modification du profil';
include_once('haut.php');

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

if(!$email)
   	{
	echo"E-mail inexisant.<br /><a href='profil.php' onClick='history.back()'>Retour</a>";
	include_once('bas.php');
	return FALSE;
   	}
if(!$nom)
   	{
	echo"nom inexisant.<br /><a href='profil.php' onClick='history.back()'>Retour</a>";
	include_once('bas.php');
	return FALSE;
   	}
if(isset($passe_enc))
	{
	if(!$nouv_passe || !$nouv_passe2 || strlen($nouv_passe) < 5)
	{
	echo'Votre mot de passe ou sa confirmation est inexisant ou votre mot de passe fait moins de 5 carractères<br /><a href="profil.php" onClick="history.back()">Retour</a>';
	include_once('bas.php');
	return FALSE;
	}
if($nouv_passe!=$nouv_passe2)
	{
	echo'Votre mot de passe n\'est pas le meme que sa confirmation.<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'L\'ancien mot de passe n\'est pas correct.<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' WHERE session='$session'") or die ('Erreur : '.mysql_error());
echo"<div align=center>Votre profil a bien été modifié<br /><a href='profil.php' onClick='history.back()'>Retour</a></div>";
include_once('bas.php');
?>
encore merci pour rappel je suis encore novice.

ViPHP
AB
ViPHP | 5818 Messages

12 oct. 2010, 19:19

à la fin de cette ligne :
<td><input name='email' type='text' id='email' value='". $email ."'></td>";?>

pourquoi y a t-il une balise fermante php : "?>"

Eléphant du PHP | 94 Messages

12 oct. 2010, 19:21

je sais pas!!!!! good question

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 oct. 2010, 22:02

A mon avis cela vient d'un copier/coller malheureux et la clé de ton problème ;)

La coloration syntaxique devrait d'ailleurs t'aider à y voir plus clair : pour afficher la valeur d'une variable php dans ton code html il faut être placé entre des balises <?php et ?>, sinon ce n'est que du html et ça va apparaître comme tel :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...