Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
1

Не работает meta 'refresh'

16.09.2012, 22:23. Показов 2799. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.Гляньте,кому не лень,целый день мучаюсь.Делаю форму изменения данных,и что то постоянно какие то "мелочи" не получаются.Сейчас две проблемы:
1.Не хочет работать Refresh
2.Не хочет работать Value=

Вот php:

PHP
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
<?php
session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result = mysql_query("SELECT *  FROM users WHERE login='$login' AND password='$password'",$db); 
$myrow = mysql_fetch_array($result); 
if (empty($myrow['id']))
   {
   //Если не действительны, то закрываем доступ
    exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
   }
}
else {
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
 
$id = $_SESSION['id'];
if (isset($_POST['teep_pc']))
{
$teep_pc = $_POST['teep_pc'];
$teep_pc = stripslashes($teep_pc);$teep_pc = htmlspecialchars($teep_pc);$teep_pc = trim($teep_pc);
if ($teep_pc == '') { exit("Вы не ввели данные");}
$result1 = mysql_query("UPDATE users SET teep_pc='$teep_pc' WHERE login='$login'",$db);
if((result1)=='TRUE'){
$_SESSION['teep_pc'] = $teep_pc;
echo "<html><head><meta http-equiv='Refresh' content='5; URL=page.php?id=".$_SESSION['id']."'>
</head><body>Ваши данные изменены! Вы будете перемещены через 5 сек. Если не хотите ждать, то
<a href='page.php?id=".$_SESSION['id']."'>нажмите сюда.</a></body></html>";}
}
?>
Вот форма:

HTML5
1
2
3
4
5
6
7
print <<<here
<form action='update_pc.php' method='post'><table class='tb3'>
<tr><td  class='tb1';valign='top';> 
<span class='ht'>Тип ПК.</span><br><input name='teep_pc' type='text' size='15'
 value='$teep_pc'><input class='gf' type='submit' name='submit' value='изменить'></form>
</td>
here;
Данные изменяются ,т.е. и в БД и в таблице на стр.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2012, 22:23
Ответы с готовыми решениями:

Refresh() не работает
Здравствуйте. Ситуация следующая. Имеется дестктопное приложение содержащее в себе TableView...

не работает meta
&lt;html&gt; &lt;head&gt; &lt;meta name=&quot;viewport&quot; content=&quot;initial-scale=0, maximum-scale=1,...

Почему не работает Refresh?
Почему не работает метод Refresh в Access, если источником данных для формы является запрос к...

Refresh на Solution Explorer не работает
Кто-нибудь сталкивался? Студия 2013, добавляю файл в папку проекта, нажимаю Refresh на Solution...

16
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.09.2012, 22:46 2
в начале скрипта пропишите
PHP
1
Ob_start();
думаю, поможет. и еще одно.
Цитата Сообщение от юрьич Посмотреть сообщение
PHP
1
echo "<html><head><meta http-equiv='Refresh
уберите эти все Html/head и т.д., оставьте только мета и текст
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
16.09.2012, 22:49  [ТС] 3
Нет не помогает.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.09.2012, 23:00 4
Цитата Сообщение от юрьич Посмотреть сообщение
PHP
1
2
3
4
5
6
7
$result = mysql_query("SELECT * *FROM users WHERE login='$login' AND password='$password'",$db); 
$myrow = mysql_fetch_array($result); 
if (empty($myrow['id']))
* *{
* *//Если не действительны, то закрываем доступ
* * exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
* *}
заменить на
PHP
1
2
3
4
5
6
7
8
9
10
if(get_magic_quotes_gpc()) {
$login = stripslashes($login);
$password = stripslashes($password);
}
$login = mysql_real_escape_string($login);
$password = mysql_real_escape_string($password);
$result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `login`='$login' AND `password`='$password'",$db);
if($result) $row = mysql_fetch_array($result,MYSQL_NUM);
if(empty($row[0]))
   exit('Вход на эту страницу разрешен только зарегистрированным пользователям');
и не нужно заключать условие кода в скобки, если там единственное выражение

Добавлено через 20 секунд
это так, мелочи по улучшению
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
16.09.2012, 23:02  [ТС] 5
Вставил.Ничего.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
if(get_magic_quotes_gpc()) {
$login = stripslashes($login);
$password = stripslashes($password);
}
$login = mysql_real_escape_string($login);
$password = mysql_real_escape_string($password);
$result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `login`='$login' AND `password`='$password'",$db);
if($result) $row = mysql_fetch_array($result,MYSQL_NUM);
if(empty($row[0]))
   exit('Вход на эту страницу разрешен только зарегистрированным пользователям');
   }
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
16.09.2012, 23:12 6
а value не работает у текстового поля, да? при выводе через heredoc-синтаксис текст выводится отформатированный как там, в одну строчку поставьте input

Добавлено через 6 минут
а где ob_start() в начале скрипта? вообще, сама ссылка появляется? попробуйте вот так заменить ваш echo c мета
PHP
1
2
3
4
5
header('Refresh: 3; URL=page.php?id='.$_SESSION['id']);
echo 'Ваши данные изменены! Вы будете перемещены через 5 сек. 
        Если не хотите ждать, то
<a href="page.php?id='.$_SESSION['id'].'">нажмите сюда.</a>';
exit;
1
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 09:51  [ТС] 7
Ваш код постоянно выдаёт ошибки.ob_start()нет потому что убрал.Эти кавычки с запятыми -с ума можно сойти.Пойду спать.Ссылку не выводит.Вообще чистая страница.

Добавлено через 10 часов 10 минут
Проблему №1 решил заменой if((result1)=='TRUE') на if((result1)!=='false').А вот с value='$teep_pc'> не получается.Если вместо переменной подставляю что то другое,работает.А переменную не в каком виде не хочет отображать.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.09.2012, 10:18 8
PHP
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php ob_start(); #накапливаем вывод в буфер
session_start();
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password'])) {
    //если существует логин и пароль в сессиях, то проверяем, действительны ли они
    $login = trim($_SESSION['login']);
    $password = trim($_SESSION['password']);
 
    if(get_magic_quotes_gpc()) { #если включены магические кавычки, то убираем слэши
        $login = stripslashes($login);
        $password = stripslashes($password);
    }
 
    #экранируем перед запросом
    $login = mysql_real_escape_string($login);
    $password = mysql_real_escape_string($password);
    $result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `login`='$login' AND `password`='$password'",$db);
 
    if($result) 
        $row = mysql_fetch_array($result,MYSQL_NUM);
 
    if(empty($row[0])) #если нет таких записей
       exit('Вход на эту страницу разрешен только зарегистрированным пользователям');
}
else 
    exit('Вход на эту страницу разрешен только зарегистрированным пользователям!');
 
if(isset($_SESSION['id'])) { #если существует id в сессии
    $id = trim($_SESSION['id']);
 
    if (isset($_POST['teep_pc'])) { #если отправляли данные
        $teep_pc = htmlspecialchars(stripslashes(trim($_POST['teep_pc'])));
        $teep_pc = mysql_real_escape_string($teep_pc);
 
        if ($teep_pc == '')  
            exit("Вы не ввели данные");
 
        $result1 = mysql_query("UPDATE users SET teep_pc='$teep_pc' WHERE login='$login'",$db);
 
        if(mysql_affected_rows($db)) {
            $_SESSION['teep_pc'] = $teep_pc;
 
            header('Refresh: 3; URL=page.php?id='.$id);
            echo 'Ваши данные изменены! Вы будете перемещены через 5 сек. 
                    Если не хотите ждать, то
            <a href="page.php?id=',$id,'">нажмите сюда.</a>';
 
            exit;
        }
    }
}
else 
    exit('Вход на эту страницу разрешен только зарегистрированным пользователям!');
?>
PHP
1
2
3
4
5
6
7
8
9
10
11
echo '
<table class="tb3">
    <tr>
        <td  class="tb1" valign="top"> 
            <span class="ht">Тип ПК.</span><br>
 
            <form action="update_pc.php" method="post">
                <input name="teep_pc" type="text" size="15" value="',$teep_pc,'">
                <input class="gf" type="submit" name="submit" value="изменить">
            </form>
        </td>';
Добавлено через 7 минут
и пароли в БД нужно держать зашифрованными.
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 10:36  [ТС] 9
HTML5
1
2
3
4
5
echo'<table class="tb3"><tr><td  class="tb1";valign="top">Тип ПК.<br>
<form action="update_pc.php" method="post">
<input name="teep_pc" type="text" size="15" value="',$teep_pc,'">
<input class="gf" type="submit" name="submit" value="изменить"></form>
</td>';
НЕХОТИТ!
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.09.2012, 10:40 10
кто не хотит?

Добавлено через 1 минуту
и вставьте мой код, а не свой - с ним попробуйте
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 11:13  [ТС] 11
Не хочет переменная вставляться в поле.И в Вашу форму и в мою.И с Вашим кодом и с моим.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.09.2012, 11:15 12
значит одно - она не существует

Добавлено через 48 секунд
FAQ по распространенным ошибкам
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 11:28  [ТС] 13
Как она может не существовать,если везде прописывается.И в БД,и в таблице на странице пользователя?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.09.2012, 11:32 14
PHP
1
2
var_dump($teep_pc);exit;
echo '<table>.....';
Добавлено через 1 минуту
даже вот так лучше
PHP
1
2
3
4
5
6
7
8
9
10
11
echo '
<table class="tb3">
    <tr>
        <td  class="tb1" valign="top"> 
            <span class="ht">Тип ПК.</span><br>
 
            <form action="update_pc.php" method="post">
                <input name="teep_pc" type="text" size="15" value="',(!empty($teep_pc) ? $teep_pc : 'Не существует или пустая!'),'">
                <input class="gf" type="submit" name="submit" value="изменить">
            </form>
        </td>';
0
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 11:59  [ТС] 15
А куда это вставить?....Понял

Добавлено через 15 минут
Ничего.Но теперь вот,что есть.Если я вставляю так ".$_SESSION['teep_pc']." то когда открываю страницу,то пусто,но если вношу в поле изменения,то потом отображается.

Добавлено через 5 минут
..."то когда открываю страницу,то пусто" -это тоже исправил
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.09.2012, 11:59 16
ну.. И?
1
14 / 9 / 11
Регистрация: 10.09.2012
Сообщений: 933
17.09.2012, 12:36  [ТС] 17
С этим слава Богу разобрались.Теперь ещё вопросик,если можно.Сейчас у меня есть форма состоящая из "n" полей. И работает она так.Если я хочу внести изменения в несколько полей мне приходится всё делать по порядку.--Внёс данные--изменить--пере направление на главную--опять на страницу с формой.Подскажите что надо дописать в скрипт что бы работало по нормальному.Т.е. внёс сколько надо изменений нажал одну кнопку и всё.С формой ясно,а вот попытки изменить скрипт удачи не принесли.

Добавлено через 23 минуты
Вопрос снят.Что то я совсем затупил.Всё решил.Спасибо за помощь.Пойду далее грызть гранит php.
0
17.09.2012, 12:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2012, 12:36
Помогаю со студенческими работами здесь

Вывод META TITLE не работает
Доброго времени суток! Столкнулись с проблемой - раздел каталога не отображает заданный META TITLE,...

Вывод META TITLE не работает
Доброго времени суток! Столкнулись с проблемой - раздел каталога не отображает заданный META TITLE,...

Не работает Me.Refresh() в программе. Не обновляется фоновая картинка
Задача была такая: нужно сделать, чтобы один фон плавно сменялся на другой. Для этого использую...

Метод Adodc.Refresh работает не так как хочется
Использую компонент из пакета DataWidgets 3.12, который называется SSOleDBGrid. Эта сетка связана с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru