我正在创建一个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);
?>
当我尝试发布某些内容时,一切都没有发生。屏幕只是白色,数据库是空的,网址是这样的:
答案 0 :(得分:2)
正如HamZa DzCyberDeV所说,您没有在<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>
';
另外,你可以做的是使用已经形成HTML的include()
php脚本,或者你可以在这里查看其他一些重定向方法:
http://php.about.com/od/learnphp/ht/phpredirection.htm
请记住,PHP是服务器正在处理的语言,只有HTML标签(带有CSS和JS)被发送到其他浏览器才能被读取。
有关POST和GET方法的更多信息,请参阅此处:
答案 1 :(得分:2)
为什么不尝试这样做以获得错误或线索出现问题,将代码包含在try和catch块中:
try {
// your code
} catch ( Exception $e ) {
echo $e->getMessage();
}