[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получается обновить и удалить данные в БД
Trifonov_Ivan
Пожалуйта помогите разобраться не получается обновить данные пользователя в БД всегда выдает последнюю ошибку если не делать проверку логина то "Ошибка! Вы не обновили данные.", а если делать то "Вы ввели неправельный логин" если вводить и правельный и неправельный логин


<?php
session_start();

if (isset($_POST['login'])) { $login=$_POST['login']; if ($login =='') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

if (isset($_POST['name'])) { $name = $_POST['name'];}
if (isset($_POST['lastname'])) { $lastname = $_POST['lastname'];}

if (isset($_POST['age'])) { $age = $_POST['age'];}
if (empty($_SESSION['login']))
{
$login_session=$_SESSION['login'];
}
if ($login==$login_session)
{



include ("bd.php");

$result = mysql_query ("UPDATE users SET password='$password', name='$name', lastname='$lastname', sex'$sex', age'$age' WHERE login='$login'");

if ($result=='TRUE')
{
echo "Вы успешно обновили данные!";
}
else {
echo "Ошибка! Вы не обновили данные.";
}
}

else
{
echo "Вы ввели неправельный логин";
}

?>


И еще не получается удалить данные, возвращает true но ничего не удаляет
<?php
session_start();
if (empty($_SESSION['login']))
{
echo ("Вы не зарегестрированы!");
exit;
}
if (empty($_SESSION['login']))
{
$login=$_SESSION['login'];
}

include ("bd.php");
$result = mysql_query ("DELETE FROM users WHERE login='$login'");

if ($result=='TRUE')
{
echo "Вы удалили данные";
}
else {
echo "Ошибка! Вы не удалили данные.";
}
?>




Спустя 12 минут, 6 секунд (21.06.2011 - 12:18) waldicom написал(а):
Цитата (Trifonov_Ivan @ 21.06.2011 - 10:06)
if ($result=='TRUE')

$result никогда не будет равна строке 'TRUE'. Тогда уже вот так:
if ($result)


Спустя 7 минут, 15 секунд (21.06.2011 - 12:25) Trifonov_Ivan написал(а):
В файле регистрации это работает я по этому примеру делал, вот код:
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

if (isset($_POST['name'])) { $name = $_POST['name'];}
if (isset($_POST['lastname'])) { $lastname = $_POST['lastname'];}

if (isset($_POST['age'])) { $age = $_POST['age'];}
if (empty($login) or empty($password))
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);

$login = trim($login);
$password = trim($password);

include ("bd.php");

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}

$result2 = mysql_query ("INSERT INTO users (login,password,name,lastname,age) VALUES('$login','$password','$name','$lastname','$age')");

if ($result2=='TRUE')
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}
?>

Спустя 5 минут, 45 секунд (21.06.2011 - 12:31) YVSIK написал(а):
попова в топку
начни с реабилитации так понятней буде))
чистый поповский код вот и сразу проблемммы выходят

Спустя 2 минуты, 49 секунд (21.06.2011 - 12:34) Trifonov_Ivan написал(а):
Всмысле реабилитации?

Спустя 1 минута, 29 секунд (21.06.2011 - 12:35) Tod написал(а):
а можно посмотреть файл bd.php ?

Спустя 6 минут, 4 секунды (21.06.2011 - 12:41) YVSIK написал(а):
поднимись чють выше для новичков
там есть темы примерно такие

Реабилитация после курсов Попова
Вывод данных из базы данных в таблицу

почитаешь и вопросы сами отпадут
ведь на многие вопросы уже есть ответы
вот один, в его курсе вот это bd.php
чуть дале будет уже выглядеть как db.php

Спустя 2 минуты, 12 секунд (21.06.2011 - 12:43) Trifonov_Ivan написал(а):
Вот bd.php

<?php
$db = mysql_connect ("localhost","логин","пароль");
mysql_query('SET NAMES utf8') or exit('SET NAMES Error');
mysql_select_db("php",$db);
?>

Спустя 11 минут, 30 секунд (21.06.2011 - 12:55) YVSIK написал(а):
а про это избитый уже тут файл который вы выложили
выглядеть должен так
<?php 
define("HOST","localhost");
define("USER","login");
define("PASS","password");
define("DB","users");


$db = mysql_connect(HOST,USER,PASS) or die (mysql_error( 'ругается' ));

// Выбираем базу данных
mysql_select_db(DB, $db);

mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

Спустя 2 минуты, 21 секунда (21.06.2011 - 12:57) Tod написал(а):
а база вообще создана?

Спустя 9 минут, 15 секунд (21.06.2011 - 13:07) Trifonov_Ivan написал(а):
YVSIK
Спасибо

Tod
База создана регистрироваться получается, список пользователей выводит, но редактировать и удалять категорически не хочет

Спустя 4 минуты, 32 секунды (21.06.2011 - 13:11) Tod написал(а):
может запрос изменить попробовать?
	$result = mysql_query("UPDATE users SET 
password='
$password',
name='
$name',
lastname='
$lastname',
sex='
$sex',
age=
$age
WHERE login LIKE '$login'") or die (mysql_error());

Спустя 21 минута, 14 секунд (21.06.2011 - 13:32) Trifonov_Ivan написал(а):
Tod

Нет не помогло, все тоже выдает

Спустя 23 минуты, 8 секунд (21.06.2011 - 13:55) Tod написал(а):
под словом редактировать, что ты имеешь ввиду? может просто добавлять и удалять записи?

Спустя 7 минут, 9 секунд (21.06.2011 - 14:03) Trifonov_Ivan написал(а):
Tod
Изменять данные, пароль, имя, фамилию, возраст.
Удалять у меня тоже не получается, хотя при проверке пишет что "данные удалены" но в базе они остаются и под этим логином я опять могу зайти

Спустя 1 минута, 15 секунд (21.06.2011 - 14:04) Tod написал(а):
можешь базу скинуть с формой?

Спустя 33 минуты, 29 секунд (21.06.2011 - 14:37) Trifonov_Ivan написал(а):
База:
-- phpMyAdmin SQL Dump
-- version 2.10.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июн 21 2011 г., 11:34
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.5

SET SQL_MODE=
"NO_AUTO_VALUE_ON_ZERO";

--
-- База данных: `php`
--

-- --------------------------------------------------------

--
-- Структура таблицы `users`
--

CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(15) NOT NULL,
`password` varchar(15) NOT NULL,
`name` varchar(255) NOT NULL,
`lastname` varchar(255) NOT NULL,
`sex` varchar(255) NOT NULL,
`age` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ;

--
-- Дамп данных таблицы `users`
--

INSERT INTO `users` (`id`, `login`, `password`, `name`, `lastname`, `sex`, `age`) VALUES
(8, 'Shaman', '123', 'иван', 'Петров', '', '2001-06-08'),
(9, 'петя', '123', 'Петя', 'петртов', '', '2011-06-15'),
(10, 'qwerty', 'qwerty', 'qwerty', 'qwerty', '', '2011-06-04'),
(11, 'йцук', 'йцук', 'йцук', 'йцук', '', '2011-06-15'),
(12, 'qwertyi', 'Shaman', 'Shaman', 'Shaman', '', '2011-06-15');




Форма:
<?php

session_start();
if (empty($_SESSION['login']))
{
echo ("Вы не зарегестрированы!");
exit;
}
?>
<html>
<
head>
<
title>Обновление данных пользователя</title>
</
head>
<
body>
<
h2>Обновление данных пользователя</h2>
<?php

if (empty($_SESSION['login']) or empty($_SESSION['id']))
{

echo "Вы вошли на сайт, как гость";
}
else
{


echo "Вы вошли на сайт, как ".$_SESSION['login']."<br>";
}
?>
<form action="update.php" method="post">
<
p>
<
label>Введите логин:<br></label>
<
input name="login" type="text" size="15" maxlength="15">
</
p>
<
p>
<
label>Введите пароль:<br></label>
<
input name="password" type="password" size="15" maxlength="15">
</
p>
<
p>
<
label>Имя:<br></label>
<
input name="name" type="text" size="15" maxlength="15">
</
p>
<
p>
<
label>Фамилия<br></label>
<
input name="lastname" type="text" size="15" maxlength="15">
</
p>
<
p>
<
label>пол:<br></label>
<
input name="sex" type="radio" value="men"> Мужской
<input name="sex" type="radio" value="women"> женский
</p>
<
p>
<
label>Возраст:<br></label>
<
input name="age" type="date">
<
p>
<
input type="submit" name="submit" value="Обновить">
</
p></form>

</
body>
</
html>

Спустя 56 минут, 7 секунд (21.06.2011 - 15:33) Tod написал(а):
а зачем ты в поле возраст записываешь дату? может проще просто количество лет записать?

Спустя 13 минут, 40 секунд (21.06.2011 - 15:47) Trifonov_Ivan написал(а):
Это я потом исправлю, мне главное что бы сейчас все работало, редактировалось и удалялось.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.