Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с ошибкой - Notice: Undefined variable: result in
 
 автор: rachkov   (29.01.2008 в 02:58)   письмо автору
 
 

Привет!
Помогите с ошибкой:

<html>
<title> Регистрация пользователя </title>
<form action="result.php" method="post">
Login <input type=text name=login maxlenght=20><br>
Password <input type=password name=password maxlenght=20><br>
<input type=submit value="Зарегистрировать">
</html>

<?php
include "config.php";
if ($_POST['login']=="" or $_POST['password']=="")
{
echo "Ошибка! Заполнены не все поля!";
exit;
}
$login=strtolower($_POST['login']);
$password=md5($_POST['password']);
mysql_connect($hostname,$dbuser,$dbpassword)
or die ("Внимание! Ошибка соединения с базой данных...!");
mysql_select_db($dbname) or die ("Внимание! Ошибка выбора базы данных!");
$query="insert into login values ('$login','$password')";
if ($result)
echo "Пользователь успешно зарегистрирован!";
?>

Выскакиевает ошибка:


Notice: Undefined variable: result in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\result.php on line 15

   
 
 автор: THERAPYbrother   (29.01.2008 в 03:22)   письмо автору
 
   для: rachkov   (29.01.2008 в 02:58)
 

1.А вы вообще откуда взяли $result?
2.Где mysql_query()?
3.
insert into login values ('$login','$password')

а куда вставлять значения?
4.Что у вас содержится в файле config.php ?

5.Кто вам написал этот скрипт????

   
 
 автор: T-Ray   (29.01.2008 в 05:10)   письмо автору
 
   для: rachkov   (29.01.2008 в 02:58)
 

Ошибка показывает на то, что переменная result несуществует. А вообще вот разбор кода:

Ошибки html:

Сперва <html>, потом грубая ошибка - отсутствие <head></head>, далее <title></title> и снова грубейшая ошибка - отсутсвие <body>. дальше... форма с отправкой данных методом post на обработчик result.php. потом закрытие </form> и </html>

Ошибки php:

Лучше всего поставить обработчик формы перед HTML. т.к. впервые зашедший пользователь еще ничего не имеет в переменной $_POST, то необходимо весь код php поместить вот в эту конструкцию:

if(!empty($_POST))
{
Твой код
}

дальше... инклуд config.php это я так понимаю данные базы даных? лучше сделай класс и загружать данные будет легче. потом идет код:

if ($_POST['login']=="" or $_POST['password']=="") 
{
echo "Ошибка! Заполнены не все поля!";
exit;
}

это я так понял проверяется заполненость? кроме заполнености должно проверяться отсутствие введеного в форму логина в базе данных или похожих логинов (с заменой русских - английскими символами и наоборот)
далее идет ошибка в запросе - insert into login values ('$login','$password'), не указано имя таблицы.
отсутствует mysql_query($query)

дальше разбирать безсмыслено.
хочешь совет? сделай код заново, если будешь исправлять его, то голова будет намнооого сильнее.

   
 
 автор: rachkov   (29.01.2008 в 14:42)   письмо автору
 
   для: T-Ray   (29.01.2008 в 05:10)
 

Огромное спасибо за детальный разбор!!! У меня вопрос: а как сделать класс, вместо includ config.php?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования