Запись в базу данных. Регистрационные данные.

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

pasha814

Постоялец
Регистрация
11 Апр 2009
Сообщения
62
Реакции
9
Начинаю изучать php.
Делаю элементарную регистрацию.

Есть два файла:
index.htm

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<meta name="author" content="Pavel Yahimovich" />

	<title>Форма регистрации</title>
</head>

<body>
<div align="center">
	<form method="post" action="reg.php">
		Логин:<br />
		<input type="text" value="" size="49" maxlength="15" name="name"/><br />
		Электронная почта:<br />
		<input type="text" value="" maxlength="63" size="49" name="email"/><br />
		Пароль:<br />
		<input type="password" maxlength="24" size="49" name="pass"/><br /><br />
		<input type="hidden" value="create" name="action"/>
		<input class="btn" type="submit" value="Зарегистрироваться" name="btn"/>
</form>
</div>
</body>
</html>

и собственно reg.php

PHP:
<?php

$db = mysql_connect('localhost', 'root', '2364154') or die('Ошибка соединения с сервером');
mysql_select_db("test", $db) or die('Ошибка при выборе базы данных');

$result = mysql_query ("INSERT INTO user (name, email, pass) VALUES ('[name]', '[email]', '[pass]')") or die(mysql_error());

if ($result == 'true')
{
echo "Информация в базу добавлена успешно!";

}
else 
{
echo "Информация в базу не добавлена!";

}
   
?>

Но в базу он записывает совсем не те данные, которые я ввожу.
Помогите пожалуйста!
 
Это
INSERT INTO user (name, email, pass) VALUES ([name]', '', '[pass]

Замени на это

INSERT INTO user (name, email, pass) VALUES ('".$_POST[name]."', '".$_POST[email]."', '".$_POST[pass]."'

$_POST - это глобальный массив, в котором сохраняются данные из формы. Синтаксис - $_POST['здесь name поля']


Кстати, if ($result == 'true') - можно записать прост if ($result), т.к. $result булевая переменная. Если хочешь проверить на ложь, то соответственно if (!$result)
 
О да и кул хацкер сможет добавить свой злобный ПХП код прям в БД :smmne:
 
Ну так это же пример типа) Человек пока тренеруется, и если такие простые вещи пока вызывают вопросы, зачем грузить моск регурками :)? Пусть пока просто вставляет,читает данные из бд. Эксперементируем. А потом уже можно заботиться об этом.

Добавлено через 13 минут
PHP:
<?php 
$name = $_POST['name'];
$mail = $_POST['mail'];
$pass = $_POST['pass'];


$db = mysql_connect('localhost', 'root', '2364154') or die('Ошибка соединения с сервером'); 
mysql_select_db("test", $db) or die('Ошибка при выборе базы данных'); 

$result = mysql_query ("INSERT INTO `user` (`name`, `email`, `pass`) VALUES ('".$name."', '".$mail."', '".$pass."')") or die(mysql_error()); 

if ($result) 
{ 
echo "Информация в базу добавлена успешно!"; 

} 
else  
{ 
echo "Информация в базу не добавлена!"; 

} 
    
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху