|
|
|
| Я хочу с помочью кнопки сохранить измененное в БД
так как я это не делал с помочью кнопки то у меня соответственно пошли какието косяки , сразу говарю эти два фрагмента кода находяться в одном файле
...
<?
..
$name_user=$_SESSION['login'];
$result = mysql_query("SELECT * FROM ".$table_reguser." WHERE (name_user='".str_replace("'","",$name_user)."')", Connect_db());
$rows = mysql_num_rows($result);
$row = mysql_fetch_array($result);
if($rows > 0)
{
for($k=0;$k < $rows;$k++)
{
?>
<form method=post action='profile.php?variable=edit_izm'>
<br><center><h4>Пользователь - <?echo ucwords($name_user);?></h4></center>
<table align=center cellspacing=1 cellpadding=5 width=500 border=0>
<tr class=form_blue><td align=center colspan=2><b>Регистрационная информация</b></td></tr>
<tr class=form_red><td width=50%>Город:</td>
<td><?=$row['city_user'];?></td></tr>
<tr class=form_red><td>URL:</td>
<td>
<input class=input size=40 type=text name=url_user value='<?=$row['url_user'] ?>'</td></tr>
<tr class=form_red><td>ICQ:</td>
<td><input class=input size=40 type=text name=icq_user value='<?=$row['icq_user'] ?>'></td></tr>
<tr class=form_red><td>E-mail:</td>
<td><input class=input size=40 type=text name=mail_user value='<?=$row['mail_user'] ?>'></td></tr>
<tr class=form_red><td>Телефон:</td>
<td> <input class=input size=40 type=text name=phone_user value='<?=$row['phone_user'] ?>'></td></tr>
<tr class=form_red><td>Организация:</td>
<td><input class=input size=40 type=text name=firm_user value='<?=$row['firm_user'] ?>'></td></tr>
<tr class=form_red valign=top><td>Информация о <?echo ucwords($name_user);?>:</td>
<td><input class=input size=40 type=text name=info_user value='<?=$row['info_user'] ?>'></td></tr>
<tr valign=top><td>
</td>
<td>
<input type="submit" value=Сохранить изменения>
<input type="hidden" value="<? $name_user ?>">
<input type="hidden" value="<? $url_user ?>">
<input type="hidden" value="<? $mail_user ?>">
<input type="hidden" value="<? $phone_user ?>">
<input type="hidden" value="<? $firm_user ?>">
<input type="hidden" value="<? $info_user ?>">
</form>
|
Почему не передаеться на изменение информация или как правильно передать её
if($_GET['variable'] =="edit_izm")
{
$name_user=$_POST['name_user'];
if(empty($_POST['mail_user'])) links("Отсутствует заголовок");
$url_user=$_POST['url_user'];
$mail_user=$_POST['mail_user'];
$phone_user=$_POST['phone_user'];
$firm_user=$_POST['firm_user'];
$info_user=$_POST['info_user'];
$query = "UPDATE user_info SET mail_user='".$_POST['mail_user']."',
icq_user='".$_POST['icq_user']."',
phone_user='".$_POST['phone_user']."',
firm_user ='".$_POST['firm_user']."',
info_user ='".$_POST['info_user']."',
WHERE name_user =".$_POST['name_user'];
if(mysql_query($query))
header("Location: profile.php?variable=profile&login=".$_SESSION['Login']);
else links("Ошибка (база данных)");
}
|
| |
|
|
|
|
|
|
|
для: Mithat
(05.02.2009 в 14:42)
| | что такое <?=$xxx?> ??
мб просто <?php $xxx; ?>
<input type="hidden" value="<? $name_user ?>">
<input type="hidden" value="<? $url_user ?>">
<input type="hidden" value="<? $mail_user ?>">
<input type="hidden" value="<? $phone_user ?>">
<input type="hidden" value="<? $firm_user ?>">
<input type="hidden" value="<? $info_user ?>">
?????? должно быть echo
плохо понятно, твой файл - форма обрабатывает БД ? пробуй после того как echo проставишь,на более простой выборки из ,например проставь известные id в обращении к БД,значения, а то месяц компилировать будешь. и зачем тебе сессия ща. session_start (); стоит? я просто для начала бы всё максимум упростил в файле, потом усложнял бы сессиями и т.д. | |
|
|
|
|
|
|
|
для: reda
(05.02.2009 в 14:45)
| |
<input class=input size=40 type=text name=phone_user value='<?=$row['phone_user'] ?>'>
|
Это значит значит что поле $row['phone_user'] передаеться в phone_user и может редактироваться , а насчет ссесиии это вообще изменинение личных данных , просто я с кнопкой
некогда не работал , а так я сам по примеру попытался сделать (((
$name_user=$_SESSION['login'];
$result = mysql_query("SELECT * FROM ".$table_reguser." WHERE (name_user='".str_replace("'","",$name_user)."')", Connect_db());
$rows = mysql_num_rows($result);
$row = mysql_fetch_array($result);
if($rows > 0)
{
for($k=0;$k < $rows;$k++)
{
?>
<form method=post action='profile.php?variable=edit_izm'>
<br><center><h4>Пользователь - <?echo ucwords($name_user);?></h4></center>
<table align=center cellspacing=1 cellpadding=5 width=500 border=0>
<tr class=form_blue><td align=center colspan=2><b>Регистрационная информация</b></td></tr>
<tr class=form_red><td width=50%>Город:</td>
<td><?=$row['city_user'];?></td></tr>
<tr class=form_red><td>URL:</td>
<td>
<input class=input size=40 type=text name=url_user value='<?=$row['url_user'] ?>'</td></tr>
<tr class=form_red><td>ICQ:</td>
<td><input class=input size=40 type=text name=icq_user value='<?=$row['icq_user'] ?>'></td></tr>
<tr class=form_red><td>E-mail:</td>
<td><input class=input size=40 type=text name=mail_user value='<?=$row['mail_user'] ?>'></td></tr>
<tr class=form_red><td>Телефон:</td>
<td> <input class=input size=40 type=text name=phone_user value='<?=$row['phone_user'] ?>'></td></tr>
<tr class=form_red><td>Организация:</td>
<td><input class=input size=40 type=text name=firm_user value='<?=$row['firm_user'] ?>'></td></tr>
<tr class=form_red valign=top><td>Информация о <?echo ucwords($name_user);?>:</td>
<td><input class=input size=40 type=text name=info_user value='<?=$row['info_user'] ?>'></td></tr>
<tr valign=top><td>
</td>
<td>
<input type="submit" value=Сохранить изменения>
<input type="hidden" value="<? $name_user ?>">
<input type="hidden" value="<? $url_user ?>">
<input type="hidden" value="<? $mail_user ?>">
<input type="hidden" value="<? $phone_user ?>">
<input type="hidden" value="<? $firm_user ?>">
<input type="hidden" value="<? $info_user ?>">
</form>
|
Или можешь дать пример , который изменяет информацию через кнопку | |
|
|
|
|
 1.5 Кб |
|
|
для: Mithat
(05.02.2009 в 16:06)
| | вот
форма:
<form action="admin.php" method="post">
<input name="login" type="text" size="15" maxlength="20">
<br>
<input name="pass" type="password" size="15" maxlength="20">
<br><br>
<input name="waspressed" type="submit" id="waspressed" value="Войти">
</form>
обработчик:
<?php
session_start();
if(isset($_POST['login'])) { $login = $_POST['login']; $login = stripslashes($login); $login = htmlspecialchars($login); $_SESSION['name'] = $login; if(empty($login)){ echo "Не был введён Логин!<p><a href='index.php'>Заново</a></p>"; $fail = 1;}}
if(isset($_POST['pass'])) { $pass = $_POST['pass']; $pass = stripslashes($pass); $pass = htmlspecialchars($pass); $_SESSION['pasw'] = $pass; if(empty($pass)){ echo "Не был введён пароль!<p><a href='index.php'>Заново</a></p>"; $fail = 1;}}
if(!$_SESSION) { header("Location: http://https.su/admin"); }
$aut000 = mysql_query("SELECT login, pass FROM adm_user WHERE login='".$_SESSION['name']."'",$db);
$aut = mysql_fetch_array($aut000);
if($aut == NULL) {echo "Неправильно введены пароль или логин."; exit();}
else {
if($_SESSION['name'] == $aut['login'] && $_SESSION['pasw'] == $aut['pass'])
{
echo "Вы вошли в администраторский раздел, как ".$_SESSION['name']."<br>";
} else {
echo "Пароль или логин неправельные! Попробуйте снова!"; if($fail != 1) {echo "<p><a href='index.php'>Обратно...</a>"; exit(); } }}
?>
если посмотришь, то суть в том что "переменная" передаваемая через форму text записывается в параметре "name". а в форме hidden через параметр value но он обычно равен в такойм формате value"<?php echo $xxx; ?>"
файл идёт в обработчик , дальше следует header() на форму обратно если нужно
в файле обработчике обязательно нужна запись, которая "вытаскивает" переменную на обработку.
вот такая if(isset($_POST['назв.переменной без $ из формы , где name']) { $xxx = $_POST['назв.переменной без $ из формы , где name']; }
под переменной $xxx тут имею ввиду уже переменную равную переменной из формы под name="xxxform"
и всё. ты эту переменку обрабатываешь в свою БД.
а что касается кнопки, то на одну форму обработки <form></form> лучше только одну кнопку со значением submit . и всё. на счёт кнопки парится не надо, только главное что бы она просто была и с параметром submit
и переменная конпки тебе не нужна. хотя , есть случчии, когда нужна проверка что она нажата.... это примерно так if(isset($namebutton));{} где $namebutton тоже надо передавать методом $_POST. но тебе тут пока она не нужна.
если попроше, без БД, то ты сам можешь посмотреть что как, я файл прикрепил с архивом check.rar , там 2 файла, файл str.php должен идти первым при открытии | |
|
|
|