0

我正在创建一个 php-post 表单,其中包含:Who、What、Where、Contact 和 date_created。我用这些行创建了一个数据库。在此处输入图像描述

这是我的 HTML 表单代码:

<form id="contactform" action="post.php"> 
            <p class="contact"><label for="who">Who</label></p> 
            <input id="who" name="who" placeholder="Who are you? (First & Second name)" required="" tabindex="1" type="text"> 

            <p class="contact"><label for="email">What</label></p> 
            <input id="what" name="what" placeholder="What do you want?" required="" type="text"> 

            <p class="contact"><label for="username">Where</label></p> 
            <input id="where" name="where" placeholder="Country, City, Street..." required="" tabindex="2" type="text"> 

            <p class="contact"><label for="password">Contact</label></p> 
            <input type="text" id="contact" name="contact" placeholder="Phone number or email"required=""> 

                <br><br>

        <input class="buttom" name="submit" id="submit" tabindex="5" value="Submit" type="submit">   

这是 php post.php 代码:

<?php
    // Grab our POSTed form values
    // Note that whatever is enclosed by $_POST[""] matches the form input elements
    $who = $_POST["who"];
    $what = $_POST["what"];
    $where = $_POST["where"];
    $contact = $_POST["contact"];

    // Connect to our DB with mysql_connect(<server>, <username>, <password>)
    $sql_connection = mysql_connect("server_name", "admin", "password");

    mysql_select_db("database_name", $sql_connection);

    $sql = "INSERT INTO content (
                who,
                what,
                where,
                contact,
                date_created
            )
            VALUES (
                '$who',
                '$what',
                '$where',
                '$contact',
                NOW()
            )";

    mysql_query($sql, $sql_connection);

    mysql_close($sql_connection);
?>

当我尝试发布某些内容时,什么也没有发生。屏幕只是白色,数据库是空的,url是这样的:

http://my-website.com/post.php?who=Firstname+Secondname&what=Some+sentences+here-and&where=America&contact=some@website.com&submit=Submit%21

4

2 回答 2

2

你为什么不试试这个来得到一个错误或出错的线索,把你的代码放在 try 和 catch 块中:

    try {

         // your code


    } catch ( Exception $e ) {

         echo $e->getMessage();

    }
于 2013-03-03T15:50:31.100 回答
2

正如 HamZa DzCyber​​DeV 所说,您没有指定在<form>标签中使用哪种方法。

对于您在数据库中发布某些内容的情况,就像您现在一样 -method="post"在搜索某些内容时使用 和 对于表单,请使用method="get". 如果使用 post 方法,您的 URL 将仅更改为 my-website.com/post.php,如果使用 get 方法,您的 URL 将更改为 my-website.com/post.php?... (你得到的东西要去哪里) - 提交后你是如何获得 URL 的。

屏幕只是白色的,因为 post.php(单击提交按钮后您要去的地方)不包含任何要发送到输出的内容,您可以轻松地使用echo.

例如,您可以创建一个新的 html 页面,该页面将使用 echo 记录下来:

echo '
<html
<body>
This is my website!
</body>
</html>

';

此外,您可以使用include()已经形成 HTML 的 php 脚本,或者您可以在此处查看其他一些重定向方法: http: //php.about.com/od/learnphp/ht/phpredirection.htm

请记住,PHP 是服务器正在处理的语言,只有 HTML 标签(带有 CSS 和 JS)被发送到其他浏览器以供阅读。

有关 POST 和 GET 方法的更多信息,您可以在此处阅读:

http://php.net/manual/en/reserved.variables.post.php

http://php.net/manual/en/reserved.variables.get.php

于 2013-03-03T14:13:43.093 回答