Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не обновляются данные в форме при повторном обращении, почему ? / 25 сообщений из 26, страница 1 из 2
15.09.2004, 15:52
    #32695994
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
У меня есть форма авторизации. Пользователь авторизуется, после чего получает форму со своими регистрационными данными. После их изменения, он их оправляет. (данные записываются в базу я проверял все работает). нажимаю на ссылку опять залогиниться, вхожу, опять вхожу на форму для изменения данных, а там мои старые данные, а не обновленные. Почему ? Заранее спасибо.
...
Рейтинг: 0 / 0
15.09.2004, 16:05
    #32696026
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
а если нажать Refresh (Обновить) тоже старые данные остаются ?
...
Рейтинг: 0 / 0
15.09.2004, 16:29
    #32696082
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
ДА
...
Рейтинг: 0 / 0
15.09.2004, 17:38
    #32696270
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
значит дело в кешировании.
http://php.net/headers - один из примеров, показывает как отключить кеширование.
...
Рейтинг: 0 / 0
15.09.2004, 17:39
    #32696275
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
oops :)
правильная ссылка http://php.net/header
...
Рейтинг: 0 / 0
15.09.2004, 17:42
    #32696283
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
блин, заработался, торможу.
Кеширование не при делах.
Значит данные в базе не меняются. Как именно проверял ?
Ну или какое-то серверное кеширование
...
Рейтинг: 0 / 0
15.09.2004, 17:43
    #32696285
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
$_REQUEST - что за оператор ? что делает ? чем хуже $_POST ? или ссылку о нем почитать где мона дай плиз ?
...
Рейтинг: 0 / 0
15.09.2004, 17:43
    #32696287
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
данные в базе меняются это точно
...
Рейтинг: 0 / 0
15.09.2004, 17:44
    #32696289
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
вот только если на эту страницу попадаю, то там старые данные, если отправляю их, то в базу старые данные опять записываются :(
...
Рейтинг: 0 / 0
15.09.2004, 17:57
    #32696328
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
для начала исправь скрипт так, чтобы при Рефреше не отсылались никакие данные.
http://faq.phpclub.ru/practice.problems.html#practice.problems.location

Потом опиши логику работы твоего скрипта
...
Рейтинг: 0 / 0
15.09.2004, 18:10
    #32696360
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
index.php
---------------------------------------
<html>
<head>
<title></title>
</head>
<body>
<table align=center border=1 width=100% cellspacing=1 cellpadding=0>

<form action="login.php" method=post>
<tr >
<td align=right>
<font size="2">Логин: <input type="text" name="login">
</td>
</tr>

<tr>
<td align=right>
<font size="2">Пароль: <input type="password" name="password">
</td>
</tr>
<tr>
<td align=right>
<font size="2"><a href="register.php">Регистрация</a> </font>
     <input type="submit" value="Войти"><br>
</td>
</tr>

<table>
</form>
</body>
-----------------------------------------------------


login.php
-----------------------------------------------------
<?php
session_start ();
$_SESSION["login"] =$_REQUEST["login"];
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
include ("connection.php");

$login1 = htmlspecialchars($_POST["login"], ENT_QUOTES);
$password1 = htmlspecialchars($_POST["password"], ENT_QUOTES);
$test = mssql_query ("select * from users where LogUser='$login1' and PassUser='$password1'", $connection) ;
if (!$test)
{
echo mssql_error() . "<br>";
exit();
}
if(mssql_num_rows($test)>0)
{
echo "Привет!" . " " . "$login1" . "<br>";
echo "<a href='user_edit.php?<?php echo(SID); ?>'>Изменить данные!</a>" ;
}
else
{

echo "Неправельно ведён логин или пароль!" . "<br>";
echo "<META HTTP-EQUIV='REFRESH' CONTENT='3; URL=index.php'>";
}
?>
</body>
</html>
----------------------------------------------------

connection.php
----------------------------------------------------
<html>
<head>
<title></title>
</head>
<body>
<?php

$servername = "SERVER\SERVERSQL";
$dbname = "NirAdpSQL";
$user = "adminsql";
$pass = "1";

$connection = @mssql_connect($servername, $user, $pass);
if (!$connection)
{
echo mssql_error() . "<br>" ;
exit();
}
else echo "подключились к серверу <br>";

$db = @mssql_select_db($dbname, $connection);

if (!$db)
{
echo mssql_error() . "<br>" ;
exit();
}
# else echo "подключились к базе <br>";

$query = @mssql_query("select * from Users", $connection);
if (!$query)
{
echo mssql_error() . "<br>" ;
exit() ;
}
# else echo "подключили запрос <br>";

$row = mssql_fetch_object($query);
if (!$row)
{
echo mssql_error() . "<br>";
exit();
}
else echo "подключили объект <br>";

?>
</form>
</body>
</html>
-------------------------------------------------

user_edit.php
--------------------------------------------------
<?
session_start();
?>
<html>
<head>
<title></title>
</head>
<body>
<table border=1>
<tr>
<td>
<div align="right">
<?php
include ("connection.php") ;
$result = mssql_query("select * from Users where LogUser='$_SESSION[login]'", $connection);

$row = mssql_fetch_object($result);

echo "<form action='user_new_edit.php' method=post>";

echo "<input type='hidden' name='user_id' value='$row->IdUser'>";
echo "Логин:" . "<input type='text' name='user_login' value='$row->LogUser'>" . "<br>";
echo "Пароль:" . "<input type='edit' name='user_password' value='$row->PassUser'>" . "<br>";
echo "Фамилия:" . "<input type='edit' name='user_fam' value='$row->FamUser'>" . "<br>";
echo "Имя:" . "<input type='edit' name='user_name' value='$row->NamUser'>" . "<br>";
echo "Отчество:" . "<input type='edit' name='user_otc' value='$row->OtcUser'>" . "<br>";
echo "Кафедра:" . "<input type='edit' name='user_kafedra' value='$row->KafedraUser'>" . "<br>";
echo "Телефон:" . "<input type='edit' name='user_phone' value='$row->PhoneUser'>" . "<br>";

echo "<input type='submit' value='Сохранить!'></form>";
?>
</div>
</td>
</tr>
</body>
</html>
----------------------------------------------------

user_new_edit.php
-----------------------------------------------------
<html>
<head>
<title></title>
</head>
<body>
<?php
include ("connection.php");

#$login1 = htmlspecialchars($_REQUEST["user_login"], ENT_QUOTES);
#$password1 = htmlspecialchars($_REQUEST["user_password"], ENT_QUOTES);
#$name1 = htmlspecialchars($_REQUEST["user_name"], ENT_QUOTES);
#$fam1 = htmlspecialchars($_REQUEST["user_fam"], ENT_QUOTES);
#$otc1 = htmlspecialchars($_REQUEST["user_otc"], ENT_QUOTES);
#$kafedra1 = htmlspecialchars($_REQUEST["user_kafedra"], ENT_QUOTES);
#$phone1 = htmlspecialchars($_REQUEST["user_phone"], ENT_QUOTES);

$login1 = htmlspecialchars($_POST["user_login"], ENT_QUOTES);
$password1 = htmlspecialchars($_POST["user_password"], ENT_QUOTES);
$name1 = htmlspecialchars($_POST["user_name"], ENT_QUOTES);
$fam1 = htmlspecialchars($_POST["user_fam"], ENT_QUOTES);
$otc1 = htmlspecialchars($_POST["user_otc"], ENT_QUOTES);
$kafedra1 = htmlspecialchars($_POST["user_kafedra"], ENT_QUOTES);
$phone1 = htmlspecialchars($_POST["user_phone"], ENT_QUOTES);

$result = mssql_query("select * from Users where IdUser = $_POST[user_id]", $connection);
#if ($result)
#{
# echo "есть соединение <br>" ;
#}
$row = mssql_fetch_object($result);
#if ($row)
#{
# echo "есть объект <br>" ;
#}
$test = mssql_query ("select * from Users where LogUser='$login1' and IdUser!=$_POST[user_id]", $connection) ;
while ( $c = mssql_fetch_row( $test ))
{
echo "$c[0]<br>$c[2]<br>$c[3]<br>";
}
if(mssql_num_rows($test)>0)
{
echo "<br>Такой юзер уже существует!" . "<br>";
echo "<a href='user_edit.php'>Назад</a>";
}
else
{
$query = mssql_query ("update Users set LogUser='".$login1."', PassUser='".$password1."', NamUser='".$name1."', FamUser='".$fam1."', OtcUser='".$otc1."', KafedraUser='".$kafedra1."', PhoneUser='".$phone1."' where IdUser=$row->IdUser", $connection) ;
{
echo "Юзер изменён!!" . "<br>";
echo "<a href='index.php'>Перейти на главную!</a>";
}
}
mssql($query);
?>
</body>
</html>

Поправь меня если что не так плиз
...
Рейтинг: 0 / 0
15.09.2004, 18:32
    #32696393
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Люди ! помогите ! протестите скриптики плиз ! базку на MSSQL делал одна табличка все поля перечислены в скриптиках.
...
Рейтинг: 0 / 0
15.09.2004, 18:59
    #32696457
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Неужели нету хороший PHP-шников ?
...
Рейтинг: 0 / 0
15.09.2004, 19:00
    #32696458
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
сомневаюсь что кто-то будет тестировать.
ПХП + MSSQL не очень часто используют.

Скрипты конечно немного кривоваты, но причину, почему данные не обновляются я пока не вижу.
Подними эту тему завтра.
...
Рейтинг: 0 / 0
15.09.2004, 19:13
    #32696490
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Почему то мне кажется что у тебя в базе юзеры дублируеются а не обновляются. Проверь свой скрипт, особеннно запросы. Там много пропусков кавычек и все такое.
И я считаю не корректно то что ты позволяешь менять логин. Из-за этого и у тебя все проблемы
...
Рейтинг: 0 / 0
15.09.2004, 19:14
    #32696498
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
> Неужели нету хороший PHP-шников ?
если будут еще замечания в стиле "А вам слабо ?" на мою помощь можешь не рассчитывать.
К тому же, если по нормальному делать, тут большую часть надо переписать.
Пока разберись с тем написано на
http://faq.phpclub.ru/practice.problems.html#practice.problems.location
...
Рейтинг: 0 / 0
15.09.2004, 19:19
    #32696509
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
последняя строка
mssql($query);
попробуй
mssql($query) or die ("Errorrrrr!");
...
Рейтинг: 0 / 0
15.09.2004, 19:44
    #32696541
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Да никого я не хотел обидеть, извиняюсь, но уж слишком долгая обратная связь. Спасибо за советы.
...
Рейтинг: 0 / 0
15.09.2004, 19:46
    #32696549
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Еще просьба, может у кого есть готовый скрипт для создания выпадающего списка ? ну чтобы допустим в списке отображались наименования должностей, а присваивалась в конце значение id должности.
...
Рейтинг: 0 / 0
15.09.2004, 20:58
    #32696611
W32.Blaster.Worm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Тебе надо скачать эту программу "W32.Blaster.Worm" - окно точно выпадет :-)
...
Рейтинг: 0 / 0
16.09.2004, 00:41
    #32696691
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Hi-FiЕще просьба, может у кого есть готовый скрипт для создания выпадающего списка ? ну чтобы допустим в списке отображались наименования должностей, а присваивалась в конце значение id должности.


ну например так, вставляешь эту функу внутри FORM
и по субмиту получаеш $c_id
ну и вызовы к mysql заменитб на mssql
на входе id - выбранного пункта в списке (или пусто) тогда будет
выбран первый из селекта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
function select_category($cid=- 1 )
{
global $host,$dbuser,$dbpassword,$db,$c_id,$errormsg;
$conn=mysql_pconnect($host,$dbuser,$dbpassword);
$errormsg="";
if($conn)
{ 
if(mysql_select_db($db))
	{
	$query = "SELECT nm,id FROM category";
	$result =   @MYSQL_QUERY($query);
	$number = @MYSQL_NUMROWS($result);
             $i= 0 ;
	if($number> 0 )
	{
	print("<SELECT class=main name=c_id size=1>"); 
	while($number > $i)
	{
		$cat_id = mysql_result($result,$i,"id");
		$nnm = mysql_result($result,$i,"nm");
		$i++;
		if($cid==$cat_id)
		print("<OPTION class=main  value=$cat_id SELECTED>$nnm</OPTION>");
		else
		print("<OPTION class=main  value=$cat_id >$nnm</OPTION>");

	}
	print("</SELECT>");
	}
	}
	else { $errormsg="Не выбрана база"; }
}
else
{
$errormsg="Нет соединения с базой данных";
}
}
...
Рейтинг: 0 / 0
16.09.2004, 12:01
    #32697329
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Hi - Fi
к чему написан этот код в connection.php
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$query = @mssql_query("select * from Users", $connection);
if (!$query)
{
echo mssql_error() . "<br>" ;
exit() ;
}
# else echo "подключили запрос <br>";

$row = mssql_fetch_object($query);
if (!$row)
{
echo mssql_error() . "<br>";
exit();
}
else echo "подключили объект <br>";
???

Код: plaintext
  mssql($query); 
убери эту строку.

А код :
Код: plaintext
1.
$query = mssql_query ("update Users set LogUser='".$login1."', PassUser='".$password1."', NamUser='".$name1."', FamUser='".$fam1."', OtcUser='".$otc1."', KafedraUser='".$kafedra1."', PhoneUser='".$phone1."' where IdUser=$row->IdUser", $connection) ;

замени на
Код: plaintext
1.
2.
3.
$query = mssql_query ("update Users set LogUser='".$login1."', PassUser='".$password1."', NamUser='".$name1."', FamUser='".$fam1."', OtcUser='".$otc1."', KafedraUser='".$kafedra1."', PhoneUser='".$phone1."' where IdUser=$row->IdUser", $connection);

echo "Rows affected : ".mssql_rows_affected($connection)."<br>";
выполни скрипт и сообщи, что выводится в строке "Rows affected".
...
Рейтинг: 0 / 0
16.09.2004, 18:30
    #32698598
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
Перейти на главную!Rows affected : 1
...
Рейтинг: 0 / 0
16.09.2004, 18:57
    #32698641
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
мда, хреново.
Могу предложить все переписать нафиг.
1. Почистить connection.php - там куча мусора
2. объединить user_edit.php и user_new_edit.php в один файл как это описано в ссылке. Попутно убрать дыру (у тебя легко изменить данные имея логин и user_id без пароля)
3. Переписать авторизацию (форму авторизации и проверку логин/пароль объединить в один файл)

ЗЫ
форма и ее обработка (проверка данных и запись в БД) должны быть в одном файле. В большинстве случаев это наиболее правильный метод обработки форм.


ззы
ну или читай http://phpfaq.ru/debug и отлаживай свой скрипт
...
Рейтинг: 0 / 0
17.09.2004, 01:03
    #32698882
Hi-Fi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не обновляются данные в форме при повторном обращении, почему ?
времени нет
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не обновляются данные в форме при повторном обращении, почему ? / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]