在sql php中存储格式化文本

时间:2017-05-29 19:35:09

标签: php html sql database

我为我的网站创建了一个特定的表单,其中包含带有格式化文本选项的Textarea,以便用户可以使用粗体,下划线和斜体,还可以插入项目符号点和有序列表,甚至可以更改字体类型和大小。

问题是当用户选择插入有序列表然后单击提交按钮时,信息存储在服务器中,方括号括在[ol]中,这是不合适的,特别是当我想在网站上显示信息时我想也许如果信息可以存储在HTML标签中,那么无论何时调用这些信息,都可以更容易地在网站上显示信息。

我的问题是如何将信息存储在标签(<>)中而不是方括号[]中的信息?

这里是从我尝试使用htmlspecialchars函数的表单中获取数据的代码,但它没有用。

    <?php
    session_start();
    include 'connect.php';
    $servername = $_SERVER['PHP_SELF'];
    $username = 'root';
    $password = '';
    $dbname = 'members';
    $tablename = 'jobs';
    if (isset($_SESSION['username'])){ $sessionuser = 
    $_SESSION['username'];}
    else if (isset($_SESSION['company'])){$sessionuser = 
    $_SESSION['company'];}

    if(isset($_POST['company_name'])){
    $company_name = $_POST['company_name'];
    } 
    else if(isset($_SESSION['company'])){ $company_name = $_POST['company']; 
    }

    $company_website = $_POST['company_website'];
    $job_requirement = htmlspecialchars($_POST['job_requirement']);
    $location = $_POST['location'];
    $job_title = $_POST['job_title'];

    $application_email_url = $_POST['application_email_url'];
    $application_deadline = $_POST['application_deadline'];
    $category = $_POST['category'];
    $job_type = $_POST['job_type'];




    if($_SERVER['REQUEST_METHOD']){
    $sql = "INSERT INTO $tablename (`Company_name`, `Company_website`, 
    `Job_requirement`, `Location`, `Job_title`, `Application_deadline`, 
    `Category`, `Job_type`, `username`,`application_email_url`)
    VALUE('$company_name', '$company_website', '$job_requirement', 
    '$location', '$job_title', '$application_deadline', '$category', 
    '$job_type', '$sessionuser', '$application_email_url')";}
    if($conn->query($sql)===TRUE){ print "your job has been posted";}
    else{echo "error" .$conn->error;}
    ?>

1 个答案:

答案 0 :(得分:0)

尝试在字符串上使用htmlspecialchars()放入数据库,然后在将其拉回时,使用htmlspecialchars_decode()。可能会有所作为。