【问题标题】:PHP insert textarea text into databasePHP将textarea文本插入数据库
【发布时间】:2014-07-01 12:47:30
【问题描述】:

所以我试图呼应textarea的,所以我知道,如果它的工作原理,但,这并不工作。 我创建了一个名为表的帖子,并在那里你可以把标识的用户名和职务。 P>

但它不插入任何物件表继承人我的代码: P>

<?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!";
}
?>

【问题讨论】:

  • 你一定要明白你做的插入代码的注释了,对不对?但是,这是一件好事,因为你的代码是一个SQL注入攻击敞开的。 SPAN>
  • 另外,您的条件语句(这将永远不会火起来 I>)是基于$postbtn未设置也不定义的变量。我猜你想要使用的提交按钮的类名class='postbtn'if(isset($_POST['post'])){...}name='post')如果有的话。 SPAN>

标签: php mysql sql textarea


【解决方案1】:

您需要将 $postbtn = $_POST['post']; 行放在 if ($postbtn) 之前,因为它总是会导致错误。

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

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

【讨论】:

  • 我的天啊,我真傻。但是您如何保护它,或者这是一个“其他问题”?
  • 查看这篇文章,因为它回答了如何防止 SQL 注入:stackoverflow.com/questions/60174/…
【解决方案2】:

这是真的:

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

如果 ($postbtn){

等等:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 2011-05-05
    • 2012-11-10
    相关资源
    最近更新 更多