HTML-форма с постом, не вызывающим PHP-скрипт в действии - PullRequest
3 голосов
/ 27 ноября 2011

У меня есть форма в HTML-файле, которая будет отправлять значения из формы в базу данных с помощью скрипта PHP.

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

Поскольку я новичок в формах PHP и HTML, есть ли какие-либо улучшения или ошибки, которые я могу исправить в своем коде?

Вот моя HTML-форма:

<form id="frmRegister" action="dbase/insert.php" method="post" >
<table>
    <tr>
        <th><br /></th>
        <td><br /></td>
    </tr>
    <tr>
        <th align="left">First Name:</th>
        <td><input type="text" name="FirstName" /></td>
    </tr>
    <tr>
        <th align="left">Last Name:</th>
        <td><input type="text" name="LastName" /></td>
    </tr>
    <tr>
        <th align="left">Email Address:</th>
        <td><input type="text" name="Email" /></td>
    </tr>
    <tr>
        <th align="left">Phone Number:</th>
        <td><input type="text" name="Phone" maxlength="10"/></td>
    </tr>
    <tr>
        <th align="left">Username:</th>
        <td><input type="text" name="Username" maxlength="10"/></td>
    </tr>
    <tr>
        <th align="left">Password:</th>
        <td><input type="password" name="Password" maxlength="10"/></td>
    </tr>
    <tr>
        <th align="left">Re-Enter Password:</th>
        <td><input type="password" name="Password2" maxlength="10" /></td>
    </tr>
    <tr>
        <th><br /></th>
        <td><br /></td>
    </tr>
    <tr>
        <td align="center"><input type="button" name="btnSubmit" value="Submit" onclick="Validate();"/></td>
        <td align="center"><input type="reset" value="Reset" /></td>
    </tr>
</table>
</form>

Вот мой PHP-код:

<?php
// Connect to MySQL
$db = mysql_connect("", "nemo008", "CimesFungo");

if (!$db)
{
    exit("Error - Could not connect to MySQL");
}

$er = mysql_select_db("cs329e_fall11_nemo008", $db);

if (!er)
{
    exit("Error - Could not select the database");
}

$query = "INSERT INTO tblMembers (Username, Password, FirstName, LastName, Email, Phone, Year, Major)
VALUES ('$_POST[Username]', '$_POST[Password]', '$_POST[FirstName]', '$_POST[LastName]', '$_POST[Email]','$_POST[Phone]','$_POST[Year]','$_POST[Major]')";

$result = mysql_query($query);

if (!$result)
{
    print("Error - The query could not be executed");
    $error = mysql_error();
    print("<p>:" . $error . "</p>");
    exit;
}

echo("1 record added");

?>

Ответы [ 3 ]

3 голосов
/ 27 ноября 2011

Неправильно определен тип кнопки для отправки.
Оно должно быть: -

<input type="submit" ...// instead of type="button"

Вы можете посмотреть, как работает тег ввода: - https://developer.mozilla.org/en/HTML/Element/input

1 голос
/ 18 марта 2013

вы допустили ошибку в

<input type="button" ../> 

записи вместо

<input type="submit" ../>
0 голосов
/ 27 ноября 2011

if (!er) отсутствует $.
Попробуйте выполнить ваш запрос непосредственно в вашей СУБД, поскольку я получаю следующую ошибку

Дублирующая запись для ключа 'PRIMARY'

Сначала убедитесь, что ваша база данных верна.

...