Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Заполнение базы данных через форму.


Автор: EgorTheBlade 15.2.2011, 09:49
Доброе Утро.
У меня есть Форма из 3 полей
Name:
password:
email:
1)Можете показать пример как правильно заносить данные в базу (mysql)?
2)Как отправить письмо на email(3 поле) c подтверждение о регистрации?

Спасибо.

Автор: topy 15.2.2011, 11:38
Заносить примерно так:
Код

<?php
    $name=mysql_real_escape_string($_POST['name']);
    $pass=mysql_real_escape_string($_POST['pass']);
    $mail=mysql_real_escape_string($_POST['mail']);
        $query=mysql_query("INSERT INTO users VALUES ('".$name."', '".$pass."', '".$mail."')");
?>

Автор: Warpkid 15.2.2011, 18:39
Ну если целиком и полностью - то я делаю примерно так (писалось для включенных short_tags):


Код

<?
if($upd){
$email=trim($email);
$name=trim($name);
$password=trim($password);
...

mysql_query("insert into `Table`(`id`) values(NULL)");
$rowId=mysql_insert_id();
mysql_query("update `Table` set `email`='$email' where `id`='$rowId'");
mysql_query("update `Table` set `name`='$name' where `id`='$rowId'");
mysql_query("update `Table` set `password`='$password' where `id`='$rowId'");
$ToEmail=$email;
            $FromName="Reg Form";
            $FromEmail="[email protected]";
            $extraheaders="From: \"$FromName\" <$FromEmail>\nMime-Version: 1.0\nContent-Type: text/html; charset=utf-8";
            $more_hdr="-f $FromEmail";
            $mail_subj="Регистрация";
            $mail_body="<html>";
            $mail_body.="<body><font face=\"arial\" size=\"2\"  style=\"font-family:Arial;font-size:12px\">";
            $mail_body.="<b></b>\r\n";
            $mail_body.="<br/><br/>\r\n";
            $mail_body.="Имя: $name<br/>\r\n";
            $mail_body.="Пароль: $password\r\n";
            $mail_body.="</font></body>";
            $mail_body.="</html>";
            mail($ToEmail,$mail_subj,$mail_body,$extraheaders,$more_hdr);

}
?>

<html>
<head></head>
<body>
<form method="post">
    <input type="hidden" name="upd" value="1" />
    <input type="text" name="email" value="<?=htmlspecialchars(stripslashes($email))?>" />
    <input type="text" name="name" value="<?=htmlspecialchars(stripslashes($name))?>" />
    <input type="text" name="password" value="<?=htmlspecialchars(stripslashes($password))?>" />
</form>
</body>
</html>

Автор: topy 18.2.2011, 10:02
Warpkid, что жеж так? А как же register_globals? Зачем столько запросов к базе? А где проверка введённых данных?

Автор: Warpkid 22.2.2011, 13:55
Цитата(topy @  18.2.2011,  09:02 Найти цитируемый пост)
Warpkid, что жеж так? А как же register_globals? Зачем столько запросов к базе? А где проверка введённых данных?


Омг, а самому подумать? Я написал всего лишь как это выглядит в общем виде, проверка введенных данных - я поставил многоточие.

Зачем столько запросов к БД? Да потому что мне так удобнее.

Автор: Shark 23.2.2011, 00:41
Warpkid, я представляю, если тебе нужно будет сделать 200-300 запросов...

за раз... я думаю тебя хостпровайдер кастрирует без наркоза... и просто отключит...за нагрузку на сервер
+ при написании такого вида( как у тебя)..  это больше весит файл
+ время выполнения крипта увеличивается

Автор: Warpkid 23.2.2011, 15:42
Цитата(Shark @  22.2.2011,  23:41 Найти цитируемый пост)
Warpkid, я представляю, если тебе нужно будет сделать 200-300 запросов...


В данном случае мы НЕ говорим о 200-300 запросах, речь идет о небольшой форме. 
Больше весит  файл....о да..на сколько интересно?
Время скрипта увеличится? Опять же, насколько? 

Автор: krundetz 24.2.2011, 00:18
Цитата(Warpkid @  23.2.2011,  15:42 Найти цитируемый пост)
Время скрипта увеличится? Опять же, насколько?

На много. Запросы к базе данных, если они есть, в процентном соотношение, занимают одно из первых мест среди операций выполняемых в скрипте. Именно поэтому их стараются сократить до минимума, а вы наоборот на ровном месте их увеличиваете в 3 раза. А если смотреть более внимательно то операция вставки в базу данных более длительна чем выборка, ну и дальше можно продолжить объяснять почему 3 запроса хуже чем один в данном конкретном случае.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)