kuliev Вот этот свой код: замени на вот это: PHP: <? if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!"; else { $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."'"); $result=db($sql_up); // изменяем запись в базе //***************************************************************************** $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } ?> и запусти - проверь, что он тебе скажет. А потом ещё раз ткни ссылку, которую я тебе дал. Точнее - которую мне поправили (я тебе другую давал, но так лучше, спасибо).
Вот код скрипта test_1.php PHP: <html> <head> <title></title> </head> <body> <form action="test_1.php" method="POST"> <input type="submit" name="update" value="сохранить" > <?php //error_reporting(E_ERROR); include "config.php"; if (isset($save)); echo $_POST['up']; $sql=("select a.id,name from a where name='".$_POST['up']."'"); $result=db($sql); // выводим то, что ввели в начале echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) // перебераем массив { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; } if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!"; else { $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."'"); $result=db($sql_up); // изменяем запись в базе //***************************************************************************** $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } echo "$row[0]"; // показать ид echo $_POST['text']; // выводит поле которое поменяли ?> </form> </body> </html> Все равно не работает и данные не записывает........ (я уже незнаю что с ним делать)
Ступил простите, вот когда он с test.php переходит на test_1.php он выводит все как надо, а когда он обрабатывает данные с test_1.php то полная ж... простите за фолькер!!! :?
Ничего не пишет просто нет никаких данных, ошибок не выводит все ровно Получается так: 1) Скрипт получает данные с формы test.php PHP: <? echo '<form action="test_1.php" method="post"> <input type="hidden" name="up" value='.$_POST['user'].'> <input type="submit" name="save" value="save" > </form>'; ?> 2) Затем он отображает все как надо PHP: <? //error_reporting(E_ERROR); include "config.php"; if (isset($save)); echo $_POST['up']; $sql=("select a.id,name from a where name='".$_POST['up']."'"); $result=db($sql); // выводим то, что ввели в начале echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) // перебераем массив { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; ?> 3) Он почемуто не записывает обновленные данные PHP: 1. <html> 2. 3. <head> 4. <title></title> 5. </head> 6. 7. <body> 8. <form action="test_1.php" method="POST"> 9. <input type="submit" name="update" value="сохранить" > 10. 11. <?php 12. 13. //error_reporting(E_ERROR); 14. include "config.php"; 15. if (isset($save)); 16. echo $_POST['up']; 17. $sql=("select a.id,name from a where name='".$_POST['up']."'"); 18. $result=db($sql); // выводим то, что ввели в начале 19. 20. echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> 21. <tr> 22. <td valign=top align=center bgcolor=#ffddd0 class=border><b>ID</b></td> 23. <td valign=top align=center bgcolor=#ffddd0 class=border><b>Name</b></td> 24. </tr>'; 25. while($row=mysql_fetch_row($result)) // перебераем массив 26. { 27. echo '<tr> 28. <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td> 29. <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> 30. 31. </tr></table></center>'; 32. } 33. if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!"; 34. else 35. { 36. $sql_up=("update a set name='".$_POST['text']."' where id='".$row[0]."' Limit 1"); 37. $result=db($sql_up); // изменяем запись в базе 38. //***************************************************************************** 39. $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); 40. $result=db($sql_upd); // выводим то, что изменили 41. } 42. echo "$row[0]"; // показать ид 43. echo $_POST['text']; // выводит поле которое поменяли 44. ?> 45. 46. 47. 48. </form> 49. </body> 50. 51. </html>
Чудес не бывает? Вот смотри. Вот этот твой "иф": в обеих случаях имеет "echo" - то есть хоть что-нибудь, но он обязан вывести на экран. Если ты ничего не видишь на экране, есть всего пара вариантов - либо он выводит пустоту, например, $_POST['text'] и $row[0] - у тебя пустые, либо работа скрипта просто не доходит до этого места. Перепиши эти echo вот так: PHP: <? echo "\$row[0]="".$row[0]."""; echo "\$_POST['text']="".$_POST['text']."""; ?> и отпишись - выведет хоть что-нибудь на экран или нет.
Вобщем я сейчас попробывал так: PHP: <html> <head> <title></title> </head> <body> <form action="test_1.php" method="POST"> <input type="submit" name="update" value="сохранить" > <?php //error_reporting(E_ERROR); include "config.php"; if (!isset($save)) echo "И что же тут есть???"; echo $_POST['up']; $sql=("select a.id,name from a where name='".$_POST['up']."'"); $result=db($sql); // выводим то, что ввели в начале echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) // перебераем массив { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; } if (!isset($update)) echo "И вот нифига у меня в этой переменной \$update и не содержица!!!"; else { $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'"); $result=db($sql_up); // изменяем запись в базе //***************************************************************************** $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } echo "\$row[0]="".$row[0].""";// выводит пустоту echo "\$_POST['text']="".$_POST['text']."""; echo "\$_POST['del']="".$_POST['del'].""";// переменная checkbox ?> Вот так все работает только не так как надо (нужно поставить галочку в чекбоксе, а потом изменить данные), сейчас что нибудь придумаю
Уважаемый RomanBush помоги реализовать все это дело в одном скрипте, примерно так: PHP: <html> <head> <title></title> </head> <body> <form action="test.php" method="POST"> <input type="text" name="user"> <input type="submit" value="go" name="go"> <input type="submit" name="dele" value="delll" > <input type="submit" name="up" value="save"> <?php include "config.php"; $sql_del=("delete from a where id='".$_POST['del']."' limit 1"); $result=db($sql_del); if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;} $sql_a=("insert into a values(null,'".$_POST['user']."')"); $result=db($sql_a); $sql=("select a.id,name from a where name='".$_POST['user']."'"); $result=db($sql); echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td> <td valign=top align=center class=border>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; } if(!isset($up)) exit(1); else { $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'"); $result=db($sql_up); // изменяем запись в базе //***************************************************************************** $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } ?> </body> </html> Когда мы нажимаем кнопку save то при обработке скрипта он проверяет на пустоту переменную PHP: <? if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;} ?> При проверки действие скрипта заканчивается, хотя с удалением все намана, немогу обновить данные в таблице.
kuliev if (empty ($_POST['user'])) die ("Error"); if(!isset($up)) Заменить на if (!isset ($_POST['up']))
Ничего не выводит PHP: <html> <head> <title></title> </head> <body> <form action="test.php" method="POST"> <input type="text" name="user"> <input type="submit" value="go" name="go"> <input type="submit" name="dele" value="delll" > <input type="submit" name="up" value="save"> <?php include "config.php"; if (!isset ($_POST['dele'])); else { $sql_del=("delete from a where id='".$_POST['del']."' limit 1"); $result=db($sql_del); } if (!isset ($_POST['up'])); else { $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['del']."'"); $result=db($sql_up); // изменяем запись в базе //***************************************************************************** $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } //if ($_POST['user']=="") {print "<h1>Error Bla Bla Bla</h1>";exit;} if (!isset ($_POST['go'])); else { if (empty ($_POST['user'])) die ("И вот нихера у меня не работает"); $sql_a=("insert into a values(null,'".$_POST['user']."')"); $result=db($sql_a); $sql=("select a.id,name from a where name='".$_POST['user']."'"); $result=db($sql); } echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td> <td valign=top align=center class=border>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; } ?> </body> </html> PHP: Переменную [php]<? $_POST['text'] ?> не определяет !
Спасибо всем кто помог разобраться! Все работает как надо. Отдельное спасибо RomanBush Выкладываю рабочий код кому вдруг понадобиться. PHP: <html> <head> <title></title> </head> <body> <form action="test.php" method="POST"> <input type="text" name="user"> <input type="submit" value="go" name="go"> <input type="submit" name="dele" value="delll" > <input type="submit" name="up" value="save"> <?php include "config.php"; if (!isset ($_POST['dele'])); else { $sql_del=("delete from a where id='".$_POST['del']."' limit 1"); $result=db($sql_del); } if (!isset ($_POST['up'])); else { $sql_up=("update a set name='".$_POST['text']."' where id='".$_POST['update']."'"); $result=db($sql_up); // изменяем запись в базе $sql_upd=("select a.id,name from a where name='".$_POST['text']."'"); $result=db($sql_upd); // выводим то, что изменили } if (!isset ($_POST['go'])); else { if (empty ($_POST['user'])) die ("И вот нихера у меня не работает"); $sql_a=("insert into a values(null,'".$_POST['user']."')"); $result=db($sql_a); $sql=("select a.id,name from a where name='".$_POST['user']."'"); $result=db($sql); } echo '<center><table border=0 cellpadding=4 cellspacing=0 class=border> <tr> <td valign=top align=center bgcolor=ffddd0 class=border><b>Редактировать</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Удалить</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>ID</b></td> <td valign=top align=center bgcolor=ffddd0 class=border><b>Name</b></td> </tr>'; while($row=mysql_fetch_row($result)) { echo '<tr> <td valign=top align=center class=border><input type=checkbox name=update value='.$row[0].'></td> <td valign=top align=center class=border><input type=checkbox name=del value='.$row[0].'></td> <td valign=top align=center class=border>'.$row[0].'</td> <td valign=top align=center class=border><input type=text name=text value='.$row[1].'></td> </tr></table></center>'; } ?> </body> </html> Тема закрыта!