Hanut сказал:Оля-ля
Посмотрите что возвращает запрос. Можно так:
print_r($myrow);
Ничего не выводит, я даже могу сказать когда данные теряются, но не могу понять почему
1. Шаг. На странице ссылка Редактировать
<?php
include ("lock.php");
include ("blocks/db.php"); /*Соединение с базой*/
mysql_query( 'SET NAMES cp1251' );
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Список клиентов</title>
<link href="../style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<p>Для того, что бы отредактировать состояние заявки перейдите по ссылке «Р».<br>
Для удаления – ссылка «У».
</p>
</td>
</tr>
<tr>
<td><table width="100%" border="2" cellspacing="0" cellpadding="4">
<tr>
<td><p align="center"><strong>Дата</strong></p></td>
<td><p align="center"><strong>Ф.И.О.</strong></p></td>
<td><p align="center"><strong>Телефон</strong></p></td>
<td><p align="center"><strong>Вид работы</strong></p></td>
<td><p align="center"><strong>Состояние заявки</strong></p></td>
<td><p align="center"><strong>Редактировать</strong></p></td>
<td><p align="center"><strong>Удалить</strong></p></td>
</tr>
<?php
$result = mysql_query("SELECT id,data,fio,tel,views,otmetka FROM klient ORDER BY id DESC",$db);
$myrow = mysql_fetch_array($result);
do
{
$v=$myrow["views"];
$result2 = mysql_query("SELECT id,title FROM view WHERE id=$v",$db);
$myrow2 = mysql_fetch_array($result2);
printf ("<tr>
<td><p>%s</p></td>
<td><p>%s</p></td>
<td><p>%s</p></td>
<td><p>%s</p></td>
<td><p>%s</p></td>
<td><p><a href='edit_klient.php?id=%s'>Р</a></p></td>
<td><p><a href='del_klient.php?id=%s'>У</a></p></td>
</tr>", $myrow["data"],$myrow["fio"],$myrow["tel"],$myrow2["title"],$myrow["otmetka"],$myrow["id"],$myrow["id"]);
}
while ($myrow = mysql_fetch_array ($result));
?>
</table></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body>
</html>
2. Шаг. Перешли по ссылке редактировать. В адресной строке отображается id, пример: http://.../admin/edit_klient.php?id=31. Именно на 2 шаге данные почему-то теряются. Почему?
<?php
include ("lock.php");
include ("blocks/db.php"); /*Соединение с базой*/
mysql_query( 'SET NAMES cp1251' );
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Список клиентов</title>
<link href="../style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>...</td>
</tr>
<tr>
<td>
<?php
$result = mysql_query("SELECT * FROM klient WHERE id=$id",$db);
$myrow = mysql_fetch_array($result);
print <<<HERE
<form name="form1" method="post" action="update_klient.php">
<input type="hidden" name="id" value ="{$myrow['id']}">
<input type="hidden" name="data" value ="{$myrow['data']}">
<input type="hidden" name="fio" value ="{$myrow['fio']}">
<input type="hidden" name="tel" value ="{$myrow['tel']}">
<input type="hidden" name="views" value ="{$myrow['views']}">
<p>
<label>Укажите (измените) состояние заявки:<br>
<input value ="{$myrow['otmetka']}" type="text" name="otmetka" id="otmetka" size="70">
</label>
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Редактировать">
</label>
</p>
</form>
HERE;
?>
</table></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body>
</html>
3 Шаг. Данных уже нет, при наведении на кнопку Сохранить изменения в строке состояния ссылка без id. Я понимаю, где потеряла, но не понимаю почему, на локальной машине все работает. Получается, на этой страницы данные уже не передаются и не существуют, появляется сообщение "Форма не заполнена"
<?php
include ("lock.php");
include ("blocks/db.php"); /*Соединение с базой*/
mysql_query( 'SET NAMES cp1251' );
if (isset($_POST['data'])) {$data = $_POST['data']; if ($data =='') {unset($data);}}
if (isset($_POST['fio'])) {$fio = $_POST['fio']; if ($fio =='') {unset($fio);}}
if (isset($_POST['tel'])) {$tel = $_POST['tel']; if ($tel =='') {unset($tel);}}
if (isset($_POST['views'])) {$views = $_POST['views']; if ($views =='') {unset($views);}}
if (isset($_POST['otmetka'])) {$otmetka = $_POST['otmetka']; if ($otmetka =='') {unset($otmetka);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Список клиентов</title>
<link href="../style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><br><h3 align="center">Список клиентов</h3><p><A href=index.php><strong>Вернуться к списку клиентов >></strong></a></p>
</td>
</tr>
<tr>
<td><?php
if (isset($data) && isset($fio) && isset($tel) && isset($views) && isset($otmetka))
{
$result = mysql_query ("UPDATE klient SET data='$data', fio='$fio', tel='$tel', views='$views', otmetka='$otmetka' WHERE id='$id'");
if ($result =='true') {echo"<p>Информация в базе</P>"; }
else {echo "<p>Информация не обновлена</p>";}
}
else
{
echo"<p>Форма не заполнена</p>";
}
?></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body>
</html>