Novitsky
@Novitsky
Веб-разработчик, дизайнер, фотограф

Как присваивать номер заказа из файла при отправке формы?

Здравствуйте.
Не могу разобраться.
Есть форма:
<form class="order" action="send.php" method="post">
    <fieldset>
        <legend>Заказ</legend>
        <input required class="field-name required" placeholder="Ф.И.О." name="name" type="text">
        <input required class="field-addr required" placeholder="Адрес доставки" name="addr" type="text">
        <input required class="field-phone required" placeholder="Телефон" name="phone" type="text">
        <input required class="field-email required" placeholder="Эл. почта" name="email" type="text">
        <button class="submit" name="submit" type="submit">Заказать</button>
    </fieldset>
</form>

Есть файл send.php для ее отправки:
<?php
if (isset($_POST['name']))
    {
        $name = $_POST['name'];
    }
if (isset($_POST['addr']))
    {
        $addr = $_POST['addr'];
    }
if (isset($_POST['phone']))
    {
        $phone = $_POST['phone'];
    }
if (isset($_POST['email']))
    {
        $email = $_POST['email'];
    }

$address = 'ivanov@mail.ru';
$from = "Название сайта";
$sub = "Заказ с сайта";
$mes = "Ф.И.О.: $name\r\nАдрес: $addr\r\nТелефон: $phone\r\nЭл. почта: $email";
$verify = mail($address, $sub, $mes, "Content-type:text/plain; charset = utf-8\r\nFrom:Заказ с сайта");
?>

Надо, чтобы в письме приходил номер заказа. То есть к строке:
$sub = "Заказ с сайта";
при каждой отправке добавлялся порядковый номер:
$sub = "Заказ с сайта №1";
Нужно без использования БД. Где-то слышал, что можно номера брать из файла.

Подскажите, пожалуйста, как это можно реализовать попроще.
Что нужно добавить в скрипт и, как сделать этот файл, из которого будут браться номера?
  • Вопрос задан
  • 4571 просмотр
Пригласить эксперта
Ответы на вопрос 2
phplamer
@phplamer
function getNumber() {
    $filename = 'orderNum.txt';
    $number = file_get_contents($filename);
    $number++;
    file_put_contents($filename, $number);
    return $number;
}

echo(getNumber());
Ответ написан
@SpaceMaster1
На сколько понятен вопрос, можно предположить что у вас нет CMS и нет framework-ов.
Видимо есть форма для отправки заявок и вы к ней хотите приделать нумерацию малой кровью, это можно сделать так к промеру:
<?php
$num = rand(100000, 999999);
$sub = 'Заказ с сайта №'.$num;
?>
и далее сохранить к примеру в файле:
<?php
file_put_contents ($_SERVER['DOCUMENT_ROOT'].'/orders_num.txt', $num."/n",FILE_APPEND);
?>
либо если есть отправка уведомлений на вашу почту то через конкатенацию добавите себе в тело.

Либо если используете цмс либо фреймворк пишите какой и как создаются заказы, куда пишутся, авось поможем.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы