Доброго всем времени суток!!!
Помогите чайнику!!!
В общем проблема состоит в следующем:
пытаюсь осуществить редактирование профиля пользователя. сначала вывожу форму, в которой все поля заполнены так, как юзер заполнил при регистрации. затем в этой же форме юзер данные меняет, они передаются на обработчик! тут из массива каждое значение запихиваю в свою переменную и вот тут уже возникает проблема! пытаюсь обновить данные в базе, но этого у меня не выходит!!! я точно не знаю как в данном запросе привоить конкретному полю в базе данных значение, содержащееся в переменной!
вот как то так! простите за кривой язык! я просто начинающий еще! очень надеюсь на вашу помощь!!!! привожу код:
PHP |
<?php $sql_query = "SELECT * FROM users WHERE nick='".$_SESSION['user']."' AND password='".$_SESSION['password']."'"; $result = mysql_query($sql_query); $row = mysql_fetch_array($result); $email = $row["email"]; $name = $row["name"]; $country = $row["country"]; $city = $row["city"]; $index = $row["index"]; $adress = $row["adress"]; ?> <form action="edit.php?do=edit_account" method="post" enctype="multipart/form-data"> <table cellpadding=4 cellspacing=0 class="reg"> <tr><td> Имя, фамилия: </td><td><input name="name" type="text" value="<?=$name?>"></td></tr> <tr><td> email: </td><td><input name="email" type="text" value="<?=$email?>"></td></tr> <tr><td> Страна: </td><td> <input name="country" type="text" value="<?=$country?>"> </td></tr> <tr><td> Город: </td><td><input name="city" type="text" value="<?=$city?>"> </td></tr> <tr><td> Адрес: </td><<td><input name="adress" type="text" value="<?=$adress?>"> </td></tr> <tr><td> Индекс: </td><td><input name="index" type="text" value="<?=$index?>"> </td></tr> <tr><td colspan=2 align="right"><input name="edit" type="submit" value="Изменить данные"></td></tr> </table> </form> ; <?php if($_GET['do'] == "edit_account") { $email = trim($_POST["email"]); $country = trim($_POST["country"]); $city = trim($_POST["city"]); $adress = trim($_POST["adress"]); $index = trim($_POST["index"]); $name = trim($_POST["name"]); echo "$name"; mysql_query("UPDATE users SET email='$email', name='$name', site='$site', city='$city' WHERE nick='".$_SESSION['user']."'"); echo "<p class='error'>Информация изменена!</p>";} else {
}
|
Спустя 1 минута, 12 секунд (22.08.2009 - 11:16) wylde написал(а):
вот думаю, может причина в том, что форма и обработчик находятся в одном и том же файле?????
ПОЖАЛУЙСТА ПОМОГИТЕ!!!
Спустя 5 минут, 25 секунд (22.08.2009 - 11:21) Kuliev написал(а):
wylde
Попробуй так
PHP |
$sql = ("UPDATE `users` SET `email` = '".$email."', `name` = '".$name."', `site` = '".$site."', `city` ='".$city."' WHERE `nick` = '".$_SESSION['user']."'"); $result = mysql_query($sql) or die (mysql_error() ."<br/>". $sql); |
Спустя 15 минут, 38 секунд (22.08.2009 - 11:37) wylde написал(а):
Цитата (Kuliev @ 22.08.2009 - 08:21) |
wylde Попробуй так
PHP | $sql = ("UPDATE `users` SET `email` = '".$email."', `name` = '".$name."', `site` = '".$site."', `city` ='".$city."' WHERE `nick` = '".$_SESSION['user']."'"); $result = mysql_query($sql) or die (mysql_error() ."<br/>". $sql); |
|
СПАСИБО ОГРОМНОЕ!!!! ВСЕ ЗАРАБОТАЛО!!!!!
я уж думал никогда не получиться! двое суток сидел, не вставая!!!
еще раз ОГРОМНОЕ СПАСИБО!!!
Спустя 8 минут, 36 секунд (22.08.2009 - 11:45) wylde написал(а):
хм! теперь новая проблема!
когда нажимается кнопка "изменить данные", в базе они меняются, а а в форме нет! нужно для этого перезагрузить страницу! как средствами php это сделать???
Спустя 1 час, 1 минута, 57 секунд (22.08.2009 - 12:47) Kuliev написал(а):
Цитата (wylde @ 22.08.2009 - 13:45) |
хм! теперь новая проблема! когда нажимается кнопка "изменить данные", в базе они меняются, а а в форме нет! нужно для этого перезагрузить страницу! как средствами php это сделать??? |
PHP |
header ("Location: index.php"); exit();
// в место index.php поставь свою страницу |
Спустя 1 час, 43 минуты, 15 секунд (22.08.2009 - 14:30) wylde написал(а):
бесполезно! не работает! страница не перезагружается!
Спустя 3 часа, 41 минута, 17 секунд (22.08.2009 - 18:12) kirik написал(а):
Цитата (wylde @ 22.08.2009 - 06:30) |
бесполезно! не работает! страница не перезагружается! |
Куда вставлял?
Спустя 50 минут, 47 секунд (22.08.2009 - 19:02) wylde написал(а):
сразу же после вот этого:
PHP |
$sql = ("UPDATE `users` SET `email` = '".$email."', `name` = '".$name."', `site` = '".$site."', `city` ='".$city."' WHERE `nick` = '".$_SESSION['user']."'"); $result = mysql_query($sql) or die (mysql_error() ."<br/>". $sql); |
Спустя 48 минут, 24 секунды (22.08.2009 - 19:51) kirik написал(а):
Цитата (wylde @ 22.08.2009 - 11:02) |
сразу же после вот этого: |
PHP |
<?php if($_GET['do'] == "edit_account" && isset($_POST['edit'])) { $email = trim($_POST["email"]); $country = trim($_POST["country"]); $city = trim($_POST["city"]); $adress = trim($_POST["adress"]); $index = trim($_POST["index"]); $name = trim($_POST["name"]); echo "$name"; mysql_query("UPDATE users SET email='$email', name='$name', site='$site', city='$city' WHERE nick='".$_SESSION['user']."'"); header ("Location: edit.php?do=edit_account&saved"); exit(); }
$sql_query = "SELECT * FROM users WHERE nick='".$_SESSION['user']."' AND password='".$_SESSION['password']."'"; $result = mysql_query($sql_query); $row = mysql_fetch_array($result); $email = $row["email"]; $name = $row["name"]; $country = $row["country"]; $city = $row["city"]; $index = $row["index"]; $adress = $row["adress"];
if(isset($_GET['saved'])) echo "<p class='error'>Информация изменена!</p>"; ?> <form action="edit.php?do=edit_account" method="post" enctype="multipart/form-data"> <table cellpadding=4 cellspacing=0 class="reg"> <tr><td> Имя, фамилия: </td><td><input name="name" type="text" value="<?=$name?>"></td></tr> <tr><td> email: </td><td><input name="email" type="text" value="<?=$email?>"></td></tr> <tr><td> Страна: </td><td> <input name="country" type="text" value="<?=$country?>"> </td></tr> <tr><td> Город: </td><td><input name="city" type="text" value="<?=$city?>"> </td></tr> <tr><td> Адрес: </td><<td><input name="adress" type="text" value="<?=$adress?>"> </td></tr> <tr><td> Индекс: </td><td><input name="index" type="text" value="<?=$index?>"> </td></tr> <tr><td colspan=2 align="right"><input name="edit" type="submit" value="Изменить данные"></td></t |
тестируй
Спустя 2 дня, 19 часов, 30 минут, 43 секунды (25.08.2009 - 15:22) wylde написал(а):
появилась новая проблема!!! HELP!!!!
вот код, посмотрите ошибку:
PHP |
if($_GET['do'] == "edit_account") { $email = trim($_POST["email"]); $country = trim($_POST["country"]); $city = trim($_POST["city"]); $adress = trim($_POST["adress"]); $index = trim($_POST["index"]); $name = trim($_POST["name"]); $id = trim($_POST["id"]); $sql = ("UPDATE `users` SET `email` = '".$email."', `name` = '".$name."', `country` = '".$country."',
`city` ='".$city."', `adress` ='".$adress."', `index` ='".$index."' WHERE `id` = '".$id."'"); echo "<p class='error'>Информация изменена!</p>"; @header("Location: edit.php"); } else {
} |
проблема та же, что и была! данные в базе не обновляются!!!
ПОМОГИТЕ!!!
Спустя 26 минут, 57 секунд (25.08.2009 - 15:49) kalenval написал(а):
Нет у вас ошибки. Форму обновления нужно ставить вверху. Когда я писал свою CMS у мя акая же проблема была. Просто сначало ясно и понятно.
ФОРМА АПДЕЙТА СТРОК В БД.
потом
ФОРМА ИЗМЕНЕНИЯ И ОТПРАВКИ ДАННЫХ.
Спустя 16 часов, 44 минуты, 55 секунд (26.08.2009 - 08:33) wylde написал(а):
Цитата (kalenval @ 25.08.2009 - 12:49) |
Нет у вас ошибки. Форму обновления нужно ставить вверху. Когда я писал свою CMS у мя акая же проблема была. Просто сначало ясно и понятно.
ФОРМА АПДЕЙТА СТРОК В БД. потом ФОРМА ИЗМЕНЕНИЯ И ОТПРАВКИ ДАННЫХ. |
ничего не получается! если форму ставить после запроса UPDATEЮ, то оня просто не выводиться! напишите, пожалуйста, сам код, может я просто не так что-то пишу?!
PHP |
<?php session_start(); ?> <head> <title>Инвестиционный фонд</title> <link rel="stylesheet" href="../style.css" type="text/css"> <meta name="description" content=""> <meta name="keywords" content="keywords"> </head> <body> <?php session_start(); ?> <div align="center"> <div id="container_big"> <div id="container"> <div id="header"> <div id="name">Инвестиционный фонд</div> <a href="../." title="Homepage ?><img src="images/logo.gif" border="0" height="65"
width="190"></a>
<div id="menu" style="text-align: center;">
<a href="../index.php">Главная</a> <a href="../pravila.php">Соглашение</a> <a href="../reg.php">Регистрация</a> <a href="../faq.php">F.A.Q.</a> <a href="../contact.php">Контакты</a> </div> <div id="slogan"> Your<span>SloGan</span> <br/> <div id="sec"><span>Will</span> Go Here</div> </div> </div>
<!-- content begin --> <div id="content"> <div id="left"> <div style="margin-left: 5px; margin-right: 15px; margin-bottom: 3px;"> <img src="../images/image.gif" vspace="3" hspace="3"> <br> <br> <h3 class="lichn">Личный кабинет:</h3> <?php
//Поключаем конфиг include("config.inc.php");
//Необходимо подключиться к БД $link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" ); // сделать $DB текущей базой данных mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
//Если нет сессий if(md5(crypt($_SESSION['user'],$_SESSION['password'])) != $_SESSION['SID']) { //Если кнопка не нажата, отображаем форму if(!$_POST['do']){
echo ' <center><a href="reg.php">регистрация</a> <br/><br/> <form name="1" action="" method="post"> <input name="login" type="text" value=""> <br/> <input name="password" type="password" value=""> <br/> <input name="do" type="submit" value="Войти"> </form></center>';
} //Если кнопка нажата if($_POST['do']) { //Проверяем данные $login = $_POST['login']; $upass = $_POST['password']; if($login !='' AND $upass !='') { //Создаем запрос $q1=mysql_query("SELECT * FROM users WHERE nick='".$login."' AND password='".md5
($upass)."' AND status=2");
//Проверяем существует ли хоть одна запись if(mysql_num_rows($q1)===1) { //Если есть, то создаем сессии и перенаправляем на эту страницу $r=mysql_fetch_array($q1); $_SESSION['user'] = $r['nick']; $_SESSION['password'] = $r['password'];
$_SESSION['SID'] = md5(crypt($r['nick'],$r['password']));
@Header("Location: index.php"); } else {echo 'Неверный логин/пароль; Возможно Ваш аккаунт не активирован';} } } else {echo 'Введите данные';} } else {
$q2 = @mysql_query("SELECT * FROM users WHERE nick='".$_SESSION['user']."' AND
password='".$_SESSION['password']."' AND status=2"); if(@mysql_num_rows($q2)==1){ $r2 = @mysql_fetch_array($q2);
echo ' <p class="zdrav" align="center"> Здрвствуйте, '.ucfirst($r2['nick']).'!
<br/></p>'; echo '<a class="profil" href="users.php">Спиок инвесторов</a><br/>';
echo '<br/><br/><a class="profil" href="index.php?exit=1">Выход</a>'; } } if($_GET['exit']) {@session_destroy(); unset($_GET['exit']); mysql_close($link);
@Header("Location: index.php");} ?>
</div> </div>
<div id="main"> <h1>Спиок инвесторов:</h1> <br> <?php
if (isset($_GET['id'])) { $id=$_GET['id']; } $result = mysql_query ("SELECT * FROM users WHERE id='$id'");
if (!$result) { echo "<p>Запрос не может быть выполнен. <br> <strong>Код
ошибки:</strong></p>"; exit (mysql_error()); } if (mysql_num_rows($result) > 0) { $row = mysql_fetch_array($result); $email = $row["email"]; $name = $row["name"]; $country = $row["country"]; $city = $row["city"]; $index = $row["index"]; $adress = $row["adress"]; ?>
<form action="view_user.php?do=edit_account" method="post"
enctype="multipart/form-data"> <table cellpadding=4 cellspacing=0 class="reg"> <tr><td> Имя, фамилия: </td><td><input name="name" type="text" value="<?
=$name?>"></td></tr> <tr><td> email: </td><td><input name="email" type="text" value="<?
=$email?>"></td></tr> <tr><td> Страна: </td><td> <input name="country" type="text" value="<?
=$country?>"> </td></tr> <tr><td> Город: </td><td><input name="city" type="text" value="<?=$city?
>"> </td></tr> <tr><td> Адрес: </td><td><input name="adress" type="text" value="<?
=$adress?>"> </td></tr> <tr><td> Индекс: </td><td><input name="index" type="text" value="<?
=$index?>"> </td></tr> <tr><td colspan=2 align="right"><input name="edit" type="submit" value="Изменить
данные"></td></tr> </table> </form> <?php } if($_GET['do'] == "edit_account") { $email = trim($_POST["email"]); $country = trim($_POST["country"]); $city = trim($_POST["city"]); $adress = trim($_POST["adress"]); $index = trim($_POST["index"]); $name = trim($_POST["name"]); $id = trim($_POST["id"]); echo "<p class='error'>Информация изменена!</p>"; @header("Location: edit.php");
$sql = ("UPDATE `users` SET `email` = '".$email."', `name` = '".$name."', `country` = '".$country."',
`city` ='".$city."', `adress` ='".$adress."', `index` ='".$index."' WHERE `id` = '".$id."'");
} else {
}
?> </div>
<br clear="all"> <div id="footer">
</div> </div> </div> <!-- content end -->
</div>
< |
</body></html>
Спустя 2 дня, 1 час, 26 минут, 23 секунды (28.08.2009 - 10:00) wylde написал(а):
Люди!!! Помогите найти ошибку!!! Очень надо!!!
Спустя 8 месяцев, 21 день, 15 часов, 14 минут, 33 секунды (20.05.2010 - 01:14) IAM! написал(а):
Скинь все задействованые файлы и Экспортируй БД и скинь на zeon007@rambler.ru.
Покопаюсь и постараюсь помочь...