[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите составить запрос UPDATE!!!
wylde
Доброго всем времени суток!!!
Помогите чайнику!!!

В общем проблема состоит в следующем:
пытаюсь осуществить редактирование профиля пользователя. сначала вывожу форму, в которой все поля заполнены так, как юзер заполнил при регистрации. затем в этой же форме юзер данные меняет, они передаются на обработчик! тут из массива каждое значение запихиваю в свою переменную и вот тут уже возникает проблема! пытаюсь обновить данные в базе, но этого у меня не выходит!!! я точно не знаю как в данном запросе привоить конкретному полю в базе данных значение, содержащееся в переменной!
вот как то так! простите за кривой язык! я просто начинающий еще! очень надеюсь на вашу помощь!!!! привожу код:

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 написал(а):
бесполезно! не работает! страница не перезагружается! sad.gif

Спустя 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)
сразу же после вот этого:

smile.gif

вот код
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.

Покопаюсь и постараюсь помочь...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.