UPDATE+POST

Статус
В этой теме нельзя размещать новые ответы.

zagadka

Создатель
Регистрация
27 Фев 2010
Сообщения
16
Реакции
0
Доброговремени суток.
Нужно чтобы методам _POST , переменные редактировались и передовались в базу.
Файл config.php содержит соединение к базе.
$_GET['id'] - берет имя пользователя из базы.
В чем моя ошибка, не хочет сохронять измененные переменные?!(

PHP:
<?php 
include "config.php";

if(!isset($_GET['id'])) 
echo "Пользователя не существует!";
else 
{
$id = $myrow['userid'] ? stripslashes($_GET['id']) : $_GET['id'];

echo "Редактирование юзера " .$id;
}
$add = mysql_query ("SELECT `passwd`,`homedir` FROM ftpuser WHERE userid='$id' ", $link);
$adds = mysql_fetch_array($add);
$login = $adds['userid'] == $_POST['login'];
$password = $adds['passwd'] == $_POST['password'];
$homedir = $adds['homedir'] == $_POST['homedir'];
if (!isset($_POST['edition'])) {

echo <<<HTML
<form action="" method="post">
<p>Изменить логин: <input name="login" type="text" value="$id" size="20"></p>
<p>Изменить пароль: <input name="password" type="text" value="{$adds['passwd']}" size="20"></p>
<p>Изменить папку: <input name="homedir" type="text" value="{$adds['homedir']}" size="20"></p>
<p><input name="del_user" type="submit" value="Удалить пользователя"></p>
<p><input name="edition" type="submit" value="Изменить данные"></p>
</form>
HTML;

$result = mysql_query ("UPDATE ftpuser SET userid='{$adds['userid']}', passwd='{$adds['passwd']}', homedir='{$adds['homedir']}' WHERE userid='$id'", $link);
if ($result == 'true')
{
echo "<p>Пользователь успешно откредоктирован</p>";
}
else
{
echo "<p>Пользователь не откредоктирован</p>";
}
}
?>
 
PHP:
if (!$_POST['edition']){
echo <<<HTML
<form action="" method="post">
<p>Изменить логин: <input name="login" type="text" value="$id" size="20"></p>
<p>Изменить пароль: <input name="password" type="text" value="{$adds['passwd']}" size="20"></p>
<p>Изменить папку: <input name="homedir" type="text" value="{$adds['homedir']}" size="20"></p>
<p><input name="del_user" type="submit" value="Удалить пользователя"></p>
<p><input name="edition" type="submit" value="Изменить данные"></p>
</form>
HTML;
}else{
$result = mysql_query ("UPDATE ftpuser SET userid='{$adds['userid']}', passwd='{$adds['passwd']}', homedir='{$adds['homedir']}' WHERE userid='$id'", $link);
if ($result){
echo "<p>Пользователь успешно откредоктирован</p>";
}else{
echo "<p>Пользователь не откредоктирован</p>";
}
}
 
хм, всеравно не хочет.
через switch цепляем пользователя, после редактируем, получаем что-то в этом вроди:

index.php?mods=edit&id=admin

при редактирование , все по старому, как быть?!
Может быть проблема что передача в $_POST ?
 
Попробуй так:

PHP:
  <?php 
include "config.php";

if(!isset($_GET['id'])) 
echo "Пользователя не существует!";
else 
{
$id = $myrow['userid'] ? stripslashes($_GET['id']) : $_GET['id'];

echo "Редактирование юзера " .$id;
}
$add = mysql_query ("SELECT `passwd`,`homedir` FROM ftpuser WHERE userid='$id' ", $link);
$adds = mysql_fetch_array($add);
$login = $adds['userid'] == $_POST['login'];
$password = $adds['passwd'] == $_POST['password'];
$homedir = $adds['homedir'] == $_POST['homedir'];
if (!isset($_POST['edition'])) {

echo <<<HTML
<form action="НАЗВАНИЕ СТРАНИЦЫ" method="post">
<p>Изменить логин: <input name="login" type="text" value="$id" size="20"></p>
<p>Изменить пароль: <input name="password" type="text" value="{$adds['passwd']}" size="20"></p>
<p>Изменить папку: <input name="homedir" type="text" value="{$adds['homedir']}" size="20"></p>
<p><input name="del_user" type="submit" value="Удалить пользователя"></p>
<p><input name="edition" type="submit" value="Изменить данные"></p>
</form>
HTML;

if (isset($_POST['login'])) 
($login = $_POST['login']);
if (isset($_POST['password'])) 
($password = $_POST['password']);
if (isset($_POST['homedir'])) 
($homedir = $_POST['homedir']);

$result = mysql_query ("UPDATE ftpuser SET userid='$login', passwd='$password', homedir='$homedir' WHERE userid='$id'", $link);
if ($result == 'true')
{
echo "<p>Пользователь успешно откредоктирован</p>";
}
else
{
echo "<p>Пользователь не откредоктирован</p>";
}
}
?>

<form action="НАЗВАНИЕ СТРАНИЦЫ" method="post"> - не забудь название страницы(name.php)
 
Всем спасибо за помощь.
Проблема была в функции switch.
Передача данных стояло на _REQUEST , поменял на _GET и все заработало :)

P.S после теста, в базу заносятся пустые строки, как быть? :(
 
PHP:
$login = $_POST['login'];
$password = $_POST['password'];
$homedir = $_POST['homedir'];
а у тебя
PHP:
$add = mysql_query ("SELECT `passwd`,`homedir` FROM ftpuser WHERE userid='$id' ", $link);
$adds = mysql_fetch_array($add);
$login = $adds['userid'] == $_POST['login'];
$password = $adds['passwd'] == $_POST['password'];
$homedir = $adds['homedir'] == $_POST['homedir'];
Сначала выбираются строки, конешно же там нет первой нормальной записи, получаются пустые перменные, а ты при равниваешь их к переменным $login, $password, $homedir ...
 
PHP:
$login = $_POST['login'];
$password = $_POST['password'];
$homedir = $_POST['homedir'];
а у тебя
PHP:
$add = mysql_query ("SELECT `passwd`,`homedir` FROM ftpuser WHERE userid='$id' ", $link);
$adds = mysql_fetch_array($add);
$login = $adds['userid'] == $_POST['login'];
$password = $adds['passwd'] == $_POST['password'];
$homedir = $adds['homedir'] == $_POST['homedir'];
Сначала выбираются строки, конешно же там нет первой нормальной записи, получаются пустые перменные, а ты при равниваешь их к переменным $login, $password, $homedir ...

Вот код:

PHP:
 <?php 
include "config.php";

if(!isset($_GET['id'])) 
echo "Пользователя не существует!";
else 
{
$id = $myrow['userid'] ? stripslashes($_GET['id']) : $_GET['id'];

echo "Редактирование юзера " .$id;
}
$add = mysql_query ("SELECT `passwd`,`homedir` FROM ftpuser WHERE userid='$id' ", $link);
$adds = mysql_fetch_array($add);
if (!isset($_POST['edition'])) {

echo <<<HTML
<form action="" method="post">
<p>Изменить логин: <input name="login" type="text" value="$id" size="20"></p>
<p>Изменить пароль: <input name="password" type="text" value="{$adds['passwd']}" size="20"></p>
<p>Изменить папку: <input name="homedir" type="text" value="{$adds['homedir']}" size="20"></p>
<p><input name="del_user" type="submit" value="Удалить пользователя"></p>
<p><input name="edition" type="submit" value="Изменить данные"></p>
</form>
HTML;

if (isset($_POST['login'])) 
($login = $_POST['login']);
if (isset($_POST['password'])) 
($password = $_POST['password']);
if (isset($_POST['homedir'])) 
($homedir = $_POST['homedir']);

$result = mysql_query ("UPDATE ftpuser SET userid='$login', passwd='$password', homedir='$homedir' WHERE userid='$id'", $link);
if ($result == 'true')
{
echo "<p>Пользователь успешно откредоктирован</p>";
}
else
{
echo "<p>Пользователь не откредоктирован</p>";
}
}
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху