Я делаю форму, которая включает город и адрес электронной почты, а также кнопку отправки, и мне нужна помощь, как я могу подключить это к базе данных - PullRequest
1 голос
/ 11 июня 2011

Мне трудно найти ответ, который легко понять и понять ... Я создаю сайт (на Dreamweaver CS5), и на главной странице сайта есть выбранный город и раскрывающийся список всех крупных городов и текстовое поле электронной почты. У меня есть несколько вопросов, и они следующие:

Каков мой следующий шаг теперь, когда я почти закончил работу с html ... я должен подключить его к базе данных?

Какой php-скрипт мне нужен, чтобы оба поля (город и адрес электронной почты) были заполнены? и где я мог бы ввести этот PHP-скрипт?

Вот часть моего кода на случай, если вам интересно: http://answers.yahoo.com/question/index?qid=20110611111223AAeAnrT (пришлось поставить его здесь, потому что переполнение не позволило мне вставить код ..)

1 Ответ

2 голосов
/ 12 июня 2011

Просто быстрый старт, чтобы поднять форму.

При создании вашего PHP-скрипта я мало что знаю о Dreamweaver, но если на вашем сервере установлен PHP, вы сможете создать его в том же каталоге, что и ваш HTML. Все элементы формы должны быть в теге формы и должны указывать на PHP, например <form method="POST" action="dosomething.php"> до и </form> после.

Кроме того, "Please select your city..." может быть неплохо иметь в форме, например <option value="unset">Please select your city...</option>. (Кроме того, все параметры в образце должны иметь атрибут value).

Я не знаю, как много вы узнали о PHP, поэтому я попытаюсь начать с основ. Сценарий PHP будет представлять собой простой текстовый файл с расширением .php, например dosomething.php. Внутри скрипта код PHP должен быть окружен начальным и конечным тегами PHP, <?php и ?>.

Значения, введенные в форму, должны быть доступны с помощью переменных $_POST в PHP, поэтому в сценарии $_POST['select'] будет установлено текущее значение. Я рекомендую установить имена, которые вы можете запомнить, например, selectedCity и emailAddress.

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

<?php
$city = $_POST['selectedCity'];  // Get the city the user selected from the form
$addr = $_POST['emailAddress'];  // Save the email address the user entered
if($city == "unset")
{
    // Stops user if a city hasn't been selected
    die("Please select a city.");  // Stop executing code, and tell user to go back and select a city
}
if($addr == "")
{
    // Stops user if the email address is blank (also would be good to make sure email address is correct, like user@domain.com)
    die("Please enter a valid email address");
}
if(!file_exists("../mailinglist.sqlite"))
{
    // Creates the database if it doesn't exist
    // The database should be outside the document root (meaning you can't access it through the web)
    $db = sqlite_open("../mailinglist.sqlite"); // Opens the database, creates it if non-existent (it is)
    sqlite_query("CREATE TABLE users (city, email)");  // Creates a table for users
}
else
{
    $db = sqlite_open("../mailinglist.sqlite"); // Opens the database if it exists
}
sqlite_query("INSERT INTO users (city, email) VALUES ('".sqlite_escape_string($city)."','".sqlite_escape_string($city)."')");  // Add the new user to the database
?>

(Все, что вам нужно, чтобы помочь с синим цветом, должно быть доступно для поиска в Документация PHP )

Приведенный выше код возьмет выходные данные из формы HTML, убедитесь, что она не пустая, и введите ее в базу данных, создав новую базу данных, если она не существует. Опять же, это всего лишь начало, и код должен быть улучшен, прежде чем он будет запущен.

Надеюсь, это поможет!

...