Espace membres : Modification non effectuée
Posté : 12 sept. 2013, 13:54
Bonjour,
Je réalise mon espace membre en php/javascript et je cherche plus précisemment à modifier le profil des membres pour cela j'ai mis en place un formulaire ou j'essaie pour l'instant de modifier uniquement le nom , le formulaire débute au niveau du <h3>Modifier son profil</h3>
profil_page.html
Merci de me venir en aide
Je réalise mon espace membre en php/javascript et je cherche plus précisemment à modifier le profil des membres pour cela j'ai mis en place un formulaire ou j'essaie pour l'instant de modifier uniquement le nom , le formulaire débute au niveau du <h3>Modifier son profil</h3>
profil_page.html
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Powerful Chat System - Lesson 7</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/customizer.js"></script>
<style>
.container {
{custom_styles}
}
</style>
</head>
<body>
<header>
<h2>Powerful Chat System - Lesson 7</h2>
<a href="http://www.script-tutorials.com/powerful-chat-system-lesson-7/" class="stuts">Back to original tutorial on <span>Script Tutorials</span></a>
</header>
<div class="clear"></div>
<div class="container">
<div class="column">
<h3>Name: {name}</h3>
<h3>First name: {fname}</h3>
<h3>Last name: {lname}</h3>
<h3>About: {about}</h3>
<h3>Date Reg: {datereg}</h3>
<h3>Role: {role}</h3>
<h3>Avatar: <img src="{avatar}" style="vertical-align:middle" /></h3>
</div>
<div class="column">
<p><a href="index.php">Back to chat</a></p>
</div>
</div>
<div class="container" {cust_visible}>
<h2>You can customize your profile page</h2>
<div class="column">
<canvas id="color_canvas" width="370" height="60"></canvas>
</div>
<div class="column">
<div class="customizer_buttons">
<div id="preview"></div>
</div>
<form action="profile.php" method="GET" target="change_color_result">
<input type="hidden" value="{id}" name="id">
<input type="hidden" value="color" name="color" id="color">
<input type="hidden" value="change_color" name="action">
<input id="submit" type="submit" name="submit" value="Apply">
</form>
<iframe class="avatar_iframe" name="change_color_result"></iframe>
</div>
</div>
<div class="container" >
<div class="column">
<h3>Modifier son profil</h3>
<form method="POST" action="profile.php">
<label for="name">Pseudo : </label><input type="text" value="{name}" name="name" maxlength="20" /><br/>
<label for="action">Action : </label><input type="submit" name="Envoyer" value="Envoyer" />
<input name="Effacer" value="Effacer" type="reset" />
</form>
<br/>
</div>
</div>
<div class="sidebar">
<div>
<h2>Online Members Block</h2>
{online_members}
</div>
<div>
<h2>Last Members</h2>
{profiles}
</div>
</div>
<div class="priv_dock_wrap"></div>
{priv_js}
</body>
</html>
et voici le code php : <?php
session_start();
// set error reporting level
if (version_compare(phpversion(), '5.3.0', '>=') == 1)
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
else
error_reporting(E_ALL & ~E_NOTICE);
require_once('classes/CMySQL.php');
require_once('classes/CLogin.php');
require_once('classes/CProfiles.php');
$iPid = (int)$_GET['id'];
$sPrivChatJs = '';
if ($_SESSION['member_id'] && $_SESSION['member_status'] == 'active' && $_SESSION['member_role']) {
if ($_GET['action'] == 'change_color') {
$iRes = $GLOBALS['CProfiles']->changeColor($_GET['color']);
header('Content-Type: text/html; charset=utf-8');
echo ($iRes == 1) ? '<h2 style="text-align:center">New color has been accepted, refresh main window to see it</h2>' : '';
exit;
}
$sPrivChatJs = '<script src="js/priv_chat.js"></script>';
}
$aInfo = $GLOBALS['CProfiles']->getProfileInfo($iPid);
$sName = $aInfo['name'];
$sFName = $aInfo['first_name'];
$sLName = $aInfo['last_name'];
$sAbout = $aInfo['about'];
$sDate = $aInfo['date_reg'];
$sRole = $GLOBALS['CProfiles']->getRoleName($aInfo['role']);
$sAvatar = $GLOBALS['CProfiles']->getProfileAvatar($iPid);
$sCustomBG = ($aInfo['color']) ? 'background-color:#'.$aInfo['color'] : '';
// get profiles lists
$sProfiles = $GLOBALS['CProfiles']->getProfilesBlock();
$sOnlineMembers = $GLOBALS['CProfiles']->getProfilesBlock(10, true);
// draw common page
$aKeys = array(
'{id}' => $iPid,
'{name}' => $sName,
'{fname}' => $sFName,
'{lname}' => $sLName,
'{about}' => $sAbout,
'{datereg}' => $sDate,
'{role}' => $sRole,
'{avatar}' => $sAvatar,
'{custom_styles}' => $sCustomBG,
'{cust_visible}' => ($_SESSION['member_id'] == $iPid) ? '' : 'style="display:none"',
'{profiles}' => $sProfiles,
'{online_members}' => $sOnlineMembers,
'{priv_js}' => $sPrivChatJs
);
echo strtr(file_get_contents('templates/profile_page.html'), $aKeys);
// Modification profil
if ($_SESSION['name'] == 'active'){
$affiche = mysql_query("SELECT * FROM `cs_profiles` WHERE `name`='{$sName}'");
$result = mysql_fetch_assoc($affiche);
extract($result);
}
if(isset($_POST['Envoyer'])){
//si pseudo vide
if(empty($_POST['name'])){
echo '<div class="erreur">Veuillez saisir un pseudo!</div>';
}
//c'est ok
else {
//On sélectionne les données
$donnees = mysql_query("SELECT name FROM `cs_profiles` WHERE `name`!='{$sName}'") or die ('Erreur :'.mysql_error());
while($result = mysql_fetch_array($donnees)){
//on vérifie si le pseudo est utilisé
if(($_POST['name'])== $result['name']){
echo '<div class="erreur">Ce pseudo est utilisé!</div>'; return false;
}
}
//si c'est ok
//on modifie les données du membre
$modif = mysql_query("UPDATE `cs_profiles` SET `name`='".($_POST['name'])."' WHERE `id`='{$iPid}'");
//Si il y a une erreur
if (!$modif) {
die('Requête invalide : ' . mysql_error());
}
//tout est ok
else{
//on informe le membre
echo '<div class="ok">Modification enregistré avec succès! Vous allez être déconnecté du service pour ouvrir une nouvelle session.</div>';
echo '<script type="text/javascript"> window.setTimeout("location=(\'index.php?dec=close&session=new\');",3000) </script>';
}
}
}
?>
Lorsque je modifie le nom et bien tout les "echo" écrits dans le code sont affichés le cas échéant , mais la modification ne s'effectue pas...Merci de me venir en aide