Lunik
Постоялец
Offline
|
|
« : 29-10-2009 11:39 » |
|
Подскажите, пожалуйста. Есть страница, которая выводит личную информацию о пользователе. Как можно реализовать, чтобы в этих же колонках можно было редактировать и записывать в БД. Пытался, не получается. <? require('mysql.php'); $from=@$_GET['from']; if ($from == "") $from = "0"; $uid = $_SESSION['uid']; $query = "SELECT * FROM users WHERE id_user = $uid "; $do = mysql_query($query); $online_users=array(); for($x=0;($online_users[$x]=mysql_fetch_assoc($do));$x++); $total_count=$x; unset($online_users[count($online_users)-1]); for($x=$from;$x<$from+100 && $x<count($online_users);$x++) { $name = $online_users[$x]['name']; $gorod = $online_users[$x]['gorod']; $street = $online_users[$x]['street']; $dom = $online_users[$x]['dom']; $mail = $online_users[$x]['mail']; $phone = $online_users[$x]['phone']; $www = $online_users[$x]['www']; $history = $online_users[$x]['history']; $avatar = $online_users[$x]['avatar']; } ?> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td colspan="2" > <b>Информация:</b></td> </tr> <tr> <td > Название Фирмы</td> <td > <input name="name" type="text" value="<? echo $name; ?>" ></td> </tr> <tr> <td > Город</td> <td > <input name="gorod" type="text" value="<? echo $gorod; ?>" ></td> </tr> <tr> <td > Улица</td> <td > <input name="street" type="text" value="<? echo $street; ?>" ></td> </tr> <tr> <td > Дом</td> <td > <input name="dom" type="text" value="<? echo $dom; ?>" ></td> </tr> <tr> <td > Почта</td> <td > <input name="mail" type="text" value="<? echo $mail; ?>" ></td> </tr> <tr> <td > Телефон</td> <td> <input name="phone" type="text" value="<? echo $phone; ?>" ></td> </tr> <tr> <td > Сайт</td> <td> <input name="www" type="text" value="<? echo $www; ?>" ></td> </tr> <tr> <td > О себе</td> <td > <textarea name="history" cols="80" rows="10" ><? echo $history; ?></textarea></td> </tr> </table> Спасибо.
|
|
« Последнее редактирование: 29-10-2009 12:25 от Sel »
|
Записан
|
|
|
|
Sla
|
|
« Ответ #1 : 29-10-2009 11:54 » |
|
Скрипт весь? добавить <form action="название скрипта обработающего запрос" method="GET|POST"> добавить input type="submit"
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #2 : 29-10-2009 12:00 » |
|
Скрипт весь? добавить <form action="название скрипта обработающего запрос" method="GET|POST"> добавить input type="submit"
Скрипт весь он работает на вывод инфо. Дак вот чет не могу правельно составить запрос. Могешь помочь? [/quote]
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #3 : 29-10-2009 12:09 » |
|
<form action="edit_info.php" method="get"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td colspan="2" > <b>Информация:</b></td> </tr> <tr> <td > Название Фирмы</td> <td > <input name="name" type="text" value="<? echo $name; ?>" ></td> </tr> <tr> <td > Город</td> <td > <input name="gorod" type="text" value="<? echo $gorod; ?>" ></td> </tr> <tr> <td > Улица</td> <td > <input name="street" type="text" value="<? echo $street; ?>" ></td> </tr> <tr> <td > Дом</td> <td > <input name="dom" type="text" value="<? echo $dom; ?>" ></td> </tr> <tr> <td > Почта</td> <td > <input name="mail" type="text" value="<? echo $mail; ?>" ></td> </tr> <tr> <td > Телефон</td> <td> <input name="phone" type="text" value="<? echo $phone; ?>" ></td> </tr> <tr> <td > Сайт</td> <td> <input name="www" type="text" value="<? echo $www; ?>" ></td> </tr> <tr> <td > О себе</td> <td > <textarea name="history" cols="80" rows="10" ><? echo $history; ?></textarea></td> </tr> <tr> <td> <input type="submit" value="отправить"> </td> </tr> </table> </form>
echo $_GET['www']; echo $_GET['phone']; и т.д.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #4 : 29-10-2009 12:26 » |
|
...
Нет, мне немного непонятен сам Sql запрос. Есть такое $get_id = @$_GET['id']; $sql = "UPDATE `users` SET `name` = '$name', `gorod` = '$gorod ', `mail` = '$mail ', `phone` = '$phone ', `street` = '$street', `dom` = '$dom ', `www` = '$www', `history` = '$history' WHERE `users`.`id_user` = '$get_id' LIMIT 1;"; Но, по-моему, это вообще не так.
|
|
« Последнее редактирование: 29-10-2009 12:27 от Sel »
|
Записан
|
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #5 : 29-10-2009 12:40 » |
|
Или вот такое. <? if (@$_SESSION['admin'] >= "500") { if ($_GET['act'] == 'users_dored') { $ttt = $_GET['t']; $name = $_POST['name1']; $gorod = $_POST['gorod1']; $street = $_POST['street1']; $dom = $_POST['dom1']; $mail = $_POST['mail1']; $phone = $_POST['phone1']; $www = $_POST['www1']; $history = $_POST['history1']; $query = "UPDATE `users` SET `name` = '$name', `gorod` = '$gorod', `street` = '$street', `dom` = '$dom', `mail` = '$mail', `phone` = '$phone', `www` = '$www', `history` = '$history' WHERE `id_user` = '$ttt'"; $q = mysql_query($query); if ($q) { echo "Записано"; } else { echo "Ошибка"; } } } else { echo "<br><br>Админ чтоли?"; } ?> Но у меня не работает. Пишит что Записано, а в БД изменений нет, где что накосячил?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #6 : 29-10-2009 12:42 » |
|
что тебя смущает в строке запроса?
меня, например, Limit 1
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #7 : 29-10-2009 12:47 » |
|
что тебя смущает в строке запроса?
меня, например, Limit 1
$get_id = @$_GET['id']; Так разве можно писать? LIMIT меня тоже смушает. Да и как этот запрос состыковать так сказать с тем что написал ты?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #8 : 29-10-2009 12:50 » |
|
какой method в форме?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #9 : 29-10-2009 12:53 » |
|
В моей форме самый первый вариант был method="post"
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #10 : 29-10-2009 13:01 » |
|
а в каком месте ты создаешь подключение к базе и закрываешь его?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #11 : 29-10-2009 15:10 » |
|
Вот полность весь код и всес таницы: <? if (@$_GET['t'] == '') { ?> <? require('mysql.php'); $from=@$_GET['from']; if ($from == "") $from = "0"; $uid = $_SESSION['uid']; $query = "SELECT * FROM users WHERE id_user = $uid "; $do = mysql_query($query); $online_users=array(); for($x=0;($online_users[$x]=mysql_fetch_assoc($do));$x++); $total_count=$x; unset($online_users[count($online_users)-1]); for($x=$from;$x<$from+100 && $x<count($online_users);$x++) { $name = $online_users[$x]['name']; $gorod = $online_users[$x]['gorod']; $street = $online_users[$x]['street']; $dom = $online_users[$x]['dom']; $mail = $online_users[$x]['mail']; $phone = $online_users[$x]['phone']; $www = $online_users[$x]['www']; $history = $online_users[$x]['history']; $avatar = $online_users[$x]['avatar']; } ?> <?}?> <form action="?act=users_dored" method="get"> <table border="0" cellspacing="0" cellpadding="1" width="100%"> <tr> <td colspan="2" > <b>Информация:</b></td> </tr> <tr> <td > Название Фирмы</td> <td > <input name="name" type="text" value="<? echo $name; ?>" ></td> </tr> <tr> <td > Город</td> <td > <input name="gorod" type="text" value="<? echo $gorod; ?>" ></td> </tr> <tr> <td > Улица</td> <td > <input name="street" type="text" value="<? echo $street; ?>" ></td> </tr> <tr> <td > Дом</td> <td > <input name="dom" type="text" value="<? echo $dom; ?>" ></td> </tr> <tr> <td > Почта</td> <td > <input name="mail" type="text" value="<? echo $mail; ?>" ></td> </tr> <tr> <td > Телефон</td> <td> <input name="phone" type="text" value="<? echo $phone; ?>" ></td> </tr> <tr> <td > Сайт</td> <td> <input name="www" type="text" value="<? echo $www; ?>" ></td> </tr> <tr> <td > О себе</td> <td > <textarea name="history" cols="80" rows="10" ><? echo $history; ?></textarea></td> </tr> <tr> <td > <input type="submit" value="Загрузить" ></td> </tr> </table> </form>
Вот users_dored.php <? if (@$_SESSION['admin'] >= "500") { if ($_GET['act'] == 'users_dored') { $ttt = $_GET['t']; $name = $_GET['name']; $gorod = $_GET['gorod']; $street = $_GET['street']; $dom = $_GET['dom']; $mail = $_GET['mail']; $phone = $_GET['phone']; $www = $_GET['www']; $history = $_GET['history']; $query = "UPDATE `users` SET `name` = '$name', `gorod` = '$gorod', `street` = '$street', `dom` = '$dom', `mail` = '$mail', `phone` = '$phone', `www` = '$www', `history` = '$history' WHERE `id_user` = '$ttt'"; $q = mysql_query($query); if ($q) { echo "Записано"; } else { echo "Ошибка"; } } } else { echo "<br><br>Админ чтоли?"; } ?>
Что я делаю не так? не работает(((
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #12 : 29-10-2009 15:28 » |
|
где у тебя в форме поле t?
$ttt = $_GET['t']; echo $ttt;
<form action="?act=users_dored&t=... подставь id_user ..."
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Lunik
Постоялец
Offline
|
|
« Ответ #13 : 30-10-2009 10:29 » |
|
Все Спасибо. Разобрался Ошибка была в $ttt = $_GET['t'];
|
|
|
Записан
|
|
|
|
|