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

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

Скрипты конечно немного кривоваты, но причину, почему данные не обновляются я пока не вижу.
Подними эту тему завтра.
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696490
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему то мне кажется что у тебя в базе юзеры дублируеются а не обновляются. Проверь свой скрипт, особеннно запросы. Там много пропусков кавычек и все такое.
И я считаю не корректно то что ты позволяешь менять логин. Из-за этого и у тебя все проблемы
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696498
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Неужели нету хороший PHP-шников ?
если будут еще замечания в стиле "А вам слабо ?" на мою помощь можешь не рассчитывать.
К тому же, если по нормальному делать, тут большую часть надо переписать.
Пока разберись с тем написано на
http://faq.phpclub.ru/practice.problems.html#practice.problems.location
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696509
VERS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
последняя строка
mssql($query);
попробуй
mssql($query) or die ("Errorrrrr!");
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696541
Hi-Fi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да никого я не хотел обидеть, извиняюсь, но уж слишком долгая обратная связь. Спасибо за советы.
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696549
Hi-Fi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще просьба, может у кого есть готовый скрипт для создания выпадающего списка ? ну чтобы допустим в списке отображались наименования должностей, а присваивалась в конце значение id должности.
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696611
W32.Blaster.Worm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тебе надо скачать эту программу "W32.Blaster.Worm" - окно точно выпадет :-)
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32696691
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
Не обновляются данные в форме при повторном обращении, почему ?
    #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
Не обновляются данные в форме при повторном обращении, почему ?
    #32698598
Hi-Fi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перейти на главную!Rows affected : 1
...
Рейтинг: 0 / 0
Не обновляются данные в форме при повторном обращении, почему ?
    #32698641
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда, хреново.
Могу предложить все переписать нафиг.
1. Почистить connection.php - там куча мусора
2. объединить user_edit.php и user_new_edit.php в один файл как это описано в ссылке. Попутно убрать дыру (у тебя легко изменить данные имея логин и user_id без пароля)
3. Переписать авторизацию (форму авторизации и проверку логин/пароль объединить в один файл)

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


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


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