<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>page title</title>
</head>
<body>
<CENTER>
Ввод данных
<P>
<TABLE WIDTH = 400><TR><TD align = center>
<FORM ACTION="userdb.php" METHOD="POST">
Имя:<BR> <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
<P>
Фамилия:<BR> <INPUT TYPE="text" NAME="surname" SIZE="20" MAXLENGTH="30">
<P>
Отчество:<BR> <INPUT TYPE="text" NAME="patronymic" SIZE="20" MAXLENGTH="30">
<P>
Год рождения:
<SELECT NAME="year">
<OPTION value = "1980">1980
<OPTION value = "1981">1981
<OPTION value = "1982">1982
<OPTION value = "1983">1983
<OPTION value = "1984">1984
<OPTION value = "1985">1985
<OPTION value = "1986">1986
<OPTION value = "1987">1987
<OPTION value = "1988">1988
<OPTION value = "1989">1989
<OPTION value = "1990">1990
<OPTION value = "1991">1991
<OPTION value = "1992">1992
<OPTION value = "1993">1993
<OPTION value = "1994">1994
<OPTION value = "1995">1995
<OPTION value = "1996">1996
<OPTION value = "1997">1997
<OPTION value = "1998">1998
<OPTION value = "1999">1999
<OPTION value = "2000">2000
<OPTION value = "2001">2001
<OPTION value = "2002">2002
<OPTION value = "2003">2003
<OPTION value = "2004">2004
<OPTION value = "2005">2005
<OPTION value = "2006">2006
<OPTION value = "2007">2007
<OPTION value = "2008">2008
<OPTION value = "2009">2009
<OPTION value = "2010">2010
<OPTION value = "2011">2011
<OPTION value = "2012">2012
<OPTION value = "2013">2013
<OPTION value = "2014">2014
<OPTION value = "2015">2015
</SELECT>
<P>
<INPUT TYPE="submit" VALUE="Отправить">
</FORM>
</TD></TR></TABLE></CENTER>
</body>
</html>
<?
/* Соединяемся с БД */
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "people";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "members";
/* создаем соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
echo "<CENTER>";
echo "Привет, ".$_POST['name'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Вас интересуют ".$_POST['year'].". Данные успешно добавлены: ".$_POST['surname'];
echo "</CENTER>";
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO `members` VALUES('$name','$surname','$patronymic', '$year')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
echo "Информация о вас занесена в базу данных.";
/* Закрыть соединение */
mysql_close();
?>
Спустя 10 минут, 45 секунд (10.09.2010 - 10:40) vagif написал(а):
побробуй так
$result=mysql_query($query);
Спустя 16 минут, 24 секунды (10.09.2010 - 10:57) Angel Flavor написал(а):
Почему-то записывает пустую строчку, только заголовки, а данных нет.
Спустя 6 минут, 38 секунд (10.09.2010 - 11:04) vagif написал(а):
не понял,как это?значит ошибок не выдает?
не пишет Информация о вас занесена в базу данных.?
не пишет Информация о вас занесена в базу данных.?
Спустя 10 минут, 58 секунд (10.09.2010 - 11:14) Angel Flavor написал(а):
Вот что создает в базе:
сейчас концовка вот такая:
Ошибок не пишет, пишет, что:
Привет, АлександрАлександрович
Данные успешно добавлены.
Информация занесена в базу данных.
сейчас концовка вот такая:
<?/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
echo "<CENTER>";
echo "Привет, ".$_POST['name'] .$_POST['surname'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Данные успешно добавлены. ";
echo "</CENTER>";
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO `members` VALUES('$name','$surname','$patronymic', '$year')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$result=mysql_query($query) or die(mysql_error());
echo "Информация занесена в базу данных.";
/* Закрыть соединение */
mysql_close();
?>
Ошибок не пишет, пишет, что:
Привет, АлександрАлександрович
Данные успешно добавлены.
Информация занесена в базу данных.
Спустя 11 минут, 22 секунды (10.09.2010 - 11:26) vagif написал(а):
нашеЛ!!!ты же не присвои значения,вот так делай:
<?/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
echo "<CENTER>";
echo "Привет, ".$_POST['name'] .$_POST['surname'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Данные успешно добавлены. ";
echo "</CENTER>";
$name=$_POST['name'];
$surname=$_POST['surname'];
$patronymic=$_POST['patronymic'];
$year=$_POST['year'];
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO `members` VALUES('$name','$surname','$patronymic', '$year')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$result=mysql_query($query) or die(mysql_error());
echo "Информация занесена в базу данных.";
/* Закрыть соединение */
mysql_close();
?>
Спустя 2 минуты, 53 секунды (10.09.2010 - 11:29) Angel Flavor написал(а):
Спасибо огромное! теперь все записывает
Спустя 3 минуты, 22 секунды (10.09.2010 - 11:32) vagif написал(а):
незачто)всегда рад!
Спустя 24 минуты, 4 секунды (10.09.2010 - 11:56) Angel Flavor написал(а):
Подскажите, можно ли так организовать проверку на существование в базе Ф.И.О. человека? И как правильно вывести сообщение, в случае, если данный человек существует?
<?
//Проверка существования в базе пользователя с таким именем, фамилией и отчеством:
$result = mysql_query ('SELECT * FROM '.$table.' WHERE name="'.$_REQUEST["name"].'" AND surname="'.$_REQUEST["surname"].'" AND patronymic="'.$_REQUEST["patronymic"].'"');
//Если существует, вывести сообщение
if (mysql_num_rows ($result) != 0) ?>
Спустя 15 минут, 24 секунды (10.09.2010 - 12:12) phz написал(а):
Кстати... можно вместо:
Написать:
Удобнее и короче...
Год рождения:
<SELECT NAME="year">
<OPTION value = "1980">1980
<OPTION value = "1981">1981
Написать:
<?php
echo '<select name="year">';
for($year = 1980; $year <= 2015; $year++)
{
echo "<option value=\"$year\">$year";
}
echo "</select>";
?>
Удобнее и короче...
Спустя 9 часов, 49 секунд (10.09.2010 - 21:12) vagif написал(а):
вот,хороший вопрос.проверить на наличии пользователя,я недавно работал над таким скриптом.давай сейчас напишу сам,с памяти,если не получится,скопирую свой скрипт.
это проверяет только наличие пользователя по имени.ты посмотри мой код,я не проверял на наличие ошибок.если что пиши))
mysql_connect("localhost","root","");
mysql_select_db("database");//напишешь название базы
$name=$_POST['name'];
$surname=$_POST['surname'];
$patronymic=$_POST['patronymic'];
$year=$_POST['year'];
$result=mysql_query("SELECT * FROM `members` WHERE `name`='$name'") or
die (mysql_error());
while($row=mysql_fetch_array($result)){
$names[]=$row[name];
$numb=count($names);
}
if(!empty($name)){
if($numb==0){
echo "<CENTER>";
echo "Привет, ".$_POST['name'] .$_POST['surname'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Данные успешно добавлены. ";
echo "</CENTER>";
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO `members`
VALUES('$name','$surname','$patronymic', '$year')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$result=mysql_query($query) or die(mysql_error());
echo "Информация занесена в базу данных.";
}else{
echo "такой пользователь есть!";
}
}
это проверяет только наличие пользователя по имени.ты посмотри мой код,я не проверял на наличие ошибок.если что пиши))
Спустя 11 часов, 4 минуты, 41 секунда (11.09.2010 - 08:17) Basili4 написал(а):
Angel Flavor
хотел бы поправить немного
А то мало ли
хотел бы поправить немного
$name=isset($_POST['name'])?mysql_real_escape_string($_POST['name']):'';
$surname=isset($_POST['surname'])?mysql_real_escape_string($_POST['surname']):'';
$patronymic=isset($_POST['patronymic'])?mysql_real_escape_string($_POST['patronymic']):'';
$year=isset($_POST['year'])?(int)($_POST['year']):0;
А то мало ли
Спустя 2 часа, 35 минут, 12 секунд (11.09.2010 - 10:52) vagif написал(а):
Basili4,а можешь обьяснить твой код?там что,проверяет на существования переменной?
Спустя 1 день, 10 часов, 30 секунд (12.09.2010 - 20:53) Angel Flavor написал(а):
Спасибо, но все равно продолжает писать одинаковых пользователей, да, и проверку хотелось бы организовать не только по имени, а полностью ФИО
С Вашим кодом(а именно коннектом к mysql и выбор бд) получается тоже самое, мне немного удобнее использовать мой код.
<?
/* Соединяемся с БД */
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "people";
/* Присваиваем значения переменным */
$name=$_POST['name'];
$surname=$_POST['surname'];
$patronymic=$_POST['patronymic'];
$year=$_POST['year'];
/* Таблица MySQL, в которой хранятся данные */
$userstable = "members";
/* создаем соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
/* Проверяем, есть ли уже такие записи в таблице */
$result=mysql_query("SELECT * FROM `members` WHERE `name`='$name'") or
die (mysql_error());
while($row=mysql_fetch_array($result)){
$names[]=$row[name];
$num=count($names);
}
if(!empty($name)){
if($numb==0){
echo "<CENTER>";
echo "Привет, ".$_POST['name'] .$_POST['surname'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Данные успешно добавлены. ";
echo "</CENTER>";
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO `members` VALUES('$name','$surname','$patronymic', '$year')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$result=mysql_query($query) or die(mysql_error());
echo "Информация занесена в базу данных.";
}else{
echo "такой пользователь есть!";
}
}
/* Закрыть соединение */
mysql_close();
?>
С Вашим кодом(а именно коннектом к mysql и выбор бд) получается тоже самое, мне немного удобнее использовать мой код.
Спустя 1 час, 34 минуты, 38 секунд (12.09.2010 - 22:27) vagif написал(а):
то есть если имя то же самое,то пользователь добавляется?а ошибок не выдает?
Спустя 20 минут, 43 секунды (12.09.2010 - 22:48) linker написал(а):
$result = mysql_query("SELECT * FROM `members` WHERE `name`='$name'") or die (mysql_error());
if (!mysql_num_rows($result))
{
echo "Вы добавлены";
// INSERT INTO
}
else
{
echo "Такой юзверь существует";
}
Спустя 26 минут, 41 секунда (12.09.2010 - 23:15) vagif написал(а):
а что это за функция mysql_num_rows?
Спустя 28 секунд (12.09.2010 - 23:15) Lenarfate написал(а):
Спустя 24 минуты, 22 секунды (12.09.2010 - 23:40) vagif написал(а):
ты забыл вставить пользователя
Спустя 1 час, 52 минуты, 27 секунд (13.09.2010 - 01:32) inpost написал(а):
linker
MySql => Unique =))) Создал тему соседнюю, если не найду аргументы, почему не использовать, то проверку через mysql_num_rows буду считать неправильной =)
MySql => Unique =))) Создал тему соседнюю, если не найду аргументы, почему не использовать, то проверку через mysql_num_rows буду считать неправильной =)
Спустя 7 часов, 59 минут, 37 секунд (13.09.2010 - 09:32) Angel Flavor написал(а):
Цитата (vagif @ 12.09.2010 - 22:27) |
то есть если имя то же самое,то пользователь добавляется?а ошибок не выдает? |
Именно, добавляется в таблицу новой строкой.
<?
/* Соединяемся с БД */
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "people";
/* Присваиваем значения переменным */
$name=$_POST['name'];
$surname=$_POST['surname'];
$patronymic=$_POST['patronymic'];
$year=$_POST['year'];
/* Таблица MySQL, в которой хранятся данные */
$userstable = "members";
/* создаем соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
echo "<CENTER>";
echo "Привет, ".$_POST['name'] .$_POST['surname'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Данные успешно добавлены. ";
echo "</CENTER>";
/* Проверяем, есть ли уже такие записи в таблице */
$result = mysql_query("SELECT * FROM `members` WHERE `name`='$name'") or die (mysql_error());
if (!mysql_num_rows($result))
{
echo "Вы добавлены"; // INSERT INTO
}
else
{
echo "Такой юзверь существует";
}
/* составить запрос для вставки информации о клиенте в таблицу */
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$query = "INSERT INTO `members` VALUES('$name','$surname','$patronymic', '$year')";
/* Закрыть соединение */
mysql_close();
?>
Сейчас перестала вообще делать запрос
P.S. а разве (mysql_num_rows($result) == 0) не так должно быть?
Спустя 1 час, 2 минуты, 47 секунд (13.09.2010 - 10:34) linker написал(а):
mysql_num_rows($result) == 0и
!mysql_num_rows($result)в данном случае равнозначны.