Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > сохранение значения переменной


Автор: shin 5.6.2006, 12:21
вот смотри первая страничкм
editpage1.php:

<FORM method="POST" action="editpage2.php"> 
<?php
//запрс в бд 
$query="SELECT pagesname FROM pages , section WHERE pages.sectionid = section.id and section.sectionname='".$_POST['sectionname']."'";
$result=mysql_query($query);

//по запросу строю select
echo"<select size=5 name=\"pagename\"  style=width:200;>";

do{
    $row=mysql_fetch_array($result); 
    echo"<option> $row[0]";
}while($row !=false);

echo"</select>";
//нажимаю кнопку
echo"<INPUT type=\"submit\" value=\"OK\" name=\"B2\">";
</FORM>
?>

вот editpage2.php:
<FORM method="POST" action="editpage2.htm"> 
<?php
//запрос в БД
$query="SELECT text FROM pages  WHERE pagesname='".$_POST['pagename']."'";
$result=mysql_query($query);

//строим textare на основе запроса
echo"<textarea rows=\"10\" name=\"S1\" cols=\"55\">";

    $row=mysql_fetch_array($result); 
    echo"$row[0]";
echo"</textarea>";

//ДО ЭТОГО МОМЕНТА ВСЕ РАБОТАЕТ ОТЛИЧНО

//нажимаю кнопочку
echo"<INPUT type=\"submit\" value=\"EDIT TEXT\" name=\"B3\">";

?>
</FORM>

//ТЕПЕРЬ ДЕЛАЮ UPDATE в которолм нужно использовать туже переменную с  первой страницы
// но ее уже нет верней она есть но ="" 
<?php
$query="UPDATE pages SET text='".$_POST['S1']."'  where pagesname='".$_POST['pagename']."'";
mysql_query($query);


БЛАГОДАРЮ ЗА ПОМОЩЬ



?> 

berkyt (11:54 AM) : 
а данные в базе апдейтятся?
berkyt (11:55 AM) : 
сделай проверку 
echo $query;

ShIN (11:58 AM) : 
я сделал такой же апдэйт
да я делал просто тебе не показал чтоб не загромождать
через субд в ручную - работает 

дело в том что после нажатия на кнопку на второй странице
значение переменной уже =="" пустое 
теряется


berkyt (12:00 PM) : 
а переменная должна проапдетится? из базы?
ShIN (12:05 PM) : 
в переменной 'pagename' это имя поля select со страницы
первой в ней содержится имя файла который нужно проапдэйтить
у меня получается его выташить из БД и открыть в поле 
textare на второй странице 
но после того как я нажимаю кнопку
UPDATE pages SET text='NEW TEXT'  where pagesname=''
значение переменной теряется
так должно быть или нет

ShIN (12:05 PM) : 
соответственно в бд ничего не  пишется тк поле пустое
 

Автор: Ринат 5.6.2006, 13:57
нажимаешь на кнопочку, POST данные передаются. 
var_dump($_POST) посмотри, после того как кнопочку на 2 странице нажимаешь.
 

Автор: AztEK 5.6.2006, 16:39
Нажимаешь на кнопочку "Код", всем будет читабельнее 

Автор: Aliance 6.6.2006, 23:41
Цитата

do{
    $row=mysql_fetch_array($result); 
    echo"<option> $row[0]";
}while($row !=false);

зачем же так? делай так:
Код

while ($row = mysql_fetch_array($result)) { 
   print('<option> ' . $row[0]);
}
 

Автор: rsm 9.6.2007, 19:57
Поднимаю тему с примерно таким же вопросом. Есть код:

Код

<html>
<form method="post" name="myform" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="hidden" name="page"/>
    <input type="hidden" name="sortby"/>
    <input type="hidden" name="action" value="submitted"/>
    Page:
    <a href="#" onclick="myform.page.value = '1'; myform.submit();">1</a>&nbsp;
    <a href="#" onclick="myform.page.value = '2'; myform.submit();">2</a>&nbsp;
    <a href="#" onclick="myform.page.value = '3'; myform.submit();">3</a>&nbsp;
    <br>
    Sort by:
    <a href="#" onclick="myform.sortby.value = 'name'; myform.submit();">Name</a>&nbsp;
    <a href="#" onclick="myform.sortby.value = 'order'; myform.submit();">Order</a>&nbsp;
    <a href="#" onclick="myform.sortby.value = 'price'; myform.submit();">Price</a>&nbsp;
</form>
<?php
    if (isset($_POST['action']) && $_POST['action'] == 'submitted')
        print_r($_POST);
?>
</html>

Хочется чтобы при отправке формы сохранялось значение обоих переменных (page и sortby). Есть ли для этого какой-то трюк?

Автор: Golda 9.6.2007, 20:17
Код

    <input type="hidden" name="page" value="<?= $_POST['page'] ?>"/>
    <input type="hidden" name="sortby" value="<?=  $_POST['sortby'] ?>"/>

Автор: rsm 9.6.2007, 20:46
Golda, мда, как все просто... +1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)