PHP не думаю что уже требуется изучать в наше время.
Не знаю архитектуру golang, а вы что думаете?
thechoose
и последующие) NameError: имя 'message' не определено
# app.py
from flask import Flask, render_template, request, flash
import sqlite3
from contextlib import closing
app = Flask(__name__)
app.config['SECRET_KEY'] = 'key'
@app.route('/', methods=("GET", "POST"))
def post_message():
if request.method == "POST":
name = request.form['name']
email = request.form['email']
message = request.form['message']
if all((name, message, email)):
query = 'INSERT into messages (username, email, message) VALUES (?, ?, ?)'
try:
with sqlite3.connect('db.sqlite3') as conn: # подключение к локальной базе, но так-же можно и mysql
with closing(conn.cursor()) as cursor:
cursor.execute(query, (name, email, message))
conn.commit()
except sqlite3.Error as err:
flash('Ошибка работы с базой данных')
return render_template('form.html')
if __name__ == '__main__':
app.run()
<!--form.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
<form action="." method="post">
<input type="text" name="name" placeholder="Имя" required>
<br>
<input type="email" name="email" placeholder="email" required>
<br>
<textarea name="message" id="" cols="30" rows="10" placeholder="Сообщение" ></textarea>
<br>
<input type="submit">
</form>
</body>
</html>
<?php
// handler.php
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header("Location: ./");
exit();
}
$mysqli = new mysqli("localhost","username", "password","db_name");
if ($mysqli -> connect_errno) {
header("Location: ./?error=".$mysqli -> connect_error);
exit();
}
$username = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$stmt = $mysqli -> prepare("INSERT into messages (username, email, message) VALUES (?, ?, ?)");
$stmt -> bind_param("sss", $username, $email, $message);
$stmt -> execute();
if ($stmt -> error) {
$error = $stmt -> error;
header("Location: ./?error=".$error);
exit();
}
$stmt -> close();
$mysqli -> close();
header("Location: ./");
exit();
<!DOCTYPE html>
<!-- index.php -->
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<?
if (!empty($_GET)){
echo $_GET['error'];
}
?>
<form action="handler.php" method="post">
<input type="text" name="name" placeholder="Имя" required>
<br>
<input type="email" name="email" placeholder="email" required>
<br>
<textarea name="message" id="" cols="30" rows="10" placeholder="Сообщение" ></textarea>
<br>
<input type="submit">
</form>
</body>
</html>
И у меня была ошибка
Python [Том 1-2, 5-е издание] Марк Лутц.pdf
Марк Лутц - Изучаем Python, 5-е издание
. ООП в целом и наследование в частности рассматриваются в 26-29 главах (2-й том).
https://stackoverflow.com/questions/40048452/teleg...