Вставка с использованием PHP отображается как загрузка вместо выполнения - PullRequest
0 голосов
/ 23 июля 2011

Извините, если это уже существует, но я нигде не смог его найти.

Я пытаюсь вставить информацию из формы в таблицу с именем «instest» внутри базы данных с именем «test». Столбцы внутри таблицы «instest» - это «firstName», «lastName» и «age».

Проблема в том, что каждый раз, когда вы нажимаете кнопку отправки, он либо отображается как загрузка (IE), либо отображается код (Opera), а не как код, который фактически выполняется.

Вот код:

/* TestInsert.php */

<!DOCTYPE HTML>
<html>
<body>
    <form action="Insert.php" method="post">
        Firstname: <input type="text" name="firstname" />
        Lastname: <input type="text" name="lastname" />
        Age: <input type="text" name="age" />
        <input type="submit" />
    </form>
</body>
</html>
/* Insert.php */

<?php

    $con = mysql_connect("localhost","root@localhost"); //No password
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("test", $con);

    $sql="INSERT INTO instest (firstName, lastName, age)
    VALUES
    ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

    if (!mysql_query($sql,$con))
    {
        die('Error: ' . mysql_error());
    }
    echo "1 record added";

    mysql_close($con)
?>

Ответы [ 3 ]

3 голосов
/ 23 июля 2011

Попробуйте добавить value="submit" браузеры предпочитают правильный HTML

0 голосов
/ 23 июля 2011

Я думаю, что у вас есть ошибка с этим:

$sql="INSERT INTO instest (firstName, lastName, age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

Попробуйте изменить это на это:

$sql="INSERT INTO instest (firstName, lastName, age)
VALUES
('". $_POST[firstname] ."','". $_POST[lastname] ."','". $_POST[age] ."')";

Я знаю, что вы можете иметь переменные внутри "" (лично я думаю, что этоплохая практика и медленнее) Я думаю, что вы столкнетесь с постоянными проблемами с post var и тем, как php это интерпретирует.

Вы должны включить error_reporting, так как это будет отражать это.

0 голосов
/ 23 июля 2011

Похоже, вы просто забыли открыть теги PHP в Insert.php, используя <?php или <? (первая версия является наиболее совместимой и, следовательно, предпочтительной, версией).

...