PHP将textarea文本插入数据库

时间:2014-05-13 17:41:26

标签: php mysql sql textarea

所以我试图回应textarea所以我知道它是否有效,但是不起作用。 我创建了一个名为posts的表,在那里你可以输入Id Username和post。

但它并没有在表格中插入任何东西,而是我的代码:

<?php
session_start();
$session = $_SESSION['username'];

if(!$session){
header('Location: http://wirechat.net16.net/login.php'); /* Stuur de browser naar www.site.nl */
}

?>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>TWITTER RAMON</title>
<link rel='stylesheet' type='text/css' href='style.css'/>
</head>
<body>
<div id='banner'>
<table style='width:100%;'>
<tr>
<td>
<span style='font-size:24px;'><b>EGGY</b></span><?php echo $session ?>
</td>
<td width='100%' style='text-align:right;'>
<a href='index.php'>Home</a> // <a href='followers.php'>Followers Post</a> // <a href='stats.php'>Stats</a> // <a href='search.php'>Search User</a> // <a href='logout.php'>logout</a>
</td>
</tr>
</table>
</div><br/><br><br/>
<div class='div' id='post'>
<table width='100%'>
<tr>
<td width='40%'>
Post je bericht:
</td>
<td width='60%'>
Afbeeldingen&Smileys
</td>
</tr>
<form action="post.php" method="POST">
<tr>
<td><textarea cols='25' name='textarea' id='textarea' class='textarea'></textarea>
</td>
<td style='padding:20 40 10 40;'>
<div style='float:left;text-align:center;'>afbeelding</div>
<div style='float:right;text-align:center;'>smileys</div>
</td>
</tr>
</table>
<table class='submit'>
<tr>
<td>
<input type='submit' class='postbtn' name='post' value='Post je text!'/>
</td>
</tr>
</form>
</table>
</div>
<div class='post'>
<table>

</table>
</div>
</body>
</html>
<?php
$host = "------------";
$database = "------------";
$user = "-----------";
$dbpass = "---------";

if ($postbtn){
$postbtn = $_POST['post'];
$post = $_POST['textarea'];

echo htmlspecialchars($_POST['textarea']);

//$conn = mysql_connect($host, $user, $dbpass);
//mysql_select_db($database, $conn);
//mysql_query("INSERT INTO posts (Username, Post) VALUES ('".$_SESSION['username']."', '".$post."')", $conn);

echo "Posted successfuly!";
}
?>

2 个答案:

答案 0 :(得分:1)

您需要在 if($ postbtn)之前放置 $ postbtn = $ _POST [&#39; post&#39;]; 行,因为它始终是结果是假的。

$postbtn = isset($_POST['post']);
if ($postbtn){

但要小心:正如John指出的那样,您的代码很容易受到SQL注入攻击。你应该看看this post如何防止这些。

答案 1 :(得分:0)

这是真的:

  

$ postbtn = isset($ _ POST ['post']);

     

if($ postbtn){

所以:

if( !empty($_POST['post']) ) {