Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向数据库中添加变量_Php - Fatal编程技术网

Php 向数据库中添加变量

Php 向数据库中添加变量,php,Php,我正在尝试使用引导编辑器向数据库添加一个变量。例如,我有这样一个例子: $templateName = $_POST["templateName"]; $emailFrom = $_POST["emailFrom"]; $emailSubject = $_POST["emailSubject"]; $emailContent = $_POST["emailContent"]; if(mysqli_query($kon, "INSERT INTO emailtexts VALUES

我正在尝试使用引导编辑器向数据库添加一个变量。例如,我有这样一个例子:

$templateName = $_POST["templateName"]; 
$emailFrom = $_POST["emailFrom"];   
$emailSubject = $_POST["emailSubject"]; 
$emailContent = $_POST["emailContent"]; 

if(mysqli_query($kon, "INSERT INTO emailtexts VALUES (NULL, '". $templateName ."', '". $emailFrom ."', '". $emailSubject ."', '". $emailContent ."')")){
    echo "Added";   
}
$var= "This is value of my variable";

$rez = mysqli_query($kon, "SELECT * FROM emailTexts WHERE id = 2");
$red = mysqli_fetch_assoc($rez);

echo "Test result : <br /><br />" . $red["content"];
其中$emailContent是这样的:这是我的内容,带有一个变量$var,然后在我要显示结果的文件中,我有如下内容:

$templateName = $_POST["templateName"]; 
$emailFrom = $_POST["emailFrom"];   
$emailSubject = $_POST["emailSubject"]; 
$emailContent = $_POST["emailContent"]; 

if(mysqli_query($kon, "INSERT INTO emailtexts VALUES (NULL, '". $templateName ."', '". $emailFrom ."', '". $emailSubject ."', '". $emailContent ."')")){
    echo "Added";   
}
$var= "This is value of my variable";

$rez = mysqli_query($kon, "SELECT * FROM emailTexts WHERE id = 2");
$red = mysqli_fetch_assoc($rez);

echo "Test result : <br /><br />" . $red["content"];
我想得到这样的东西:

测试结果:

这是我对变量的内容这是我变量的值

但是我越来越

测试结果:

这是我的内容,带有一个变量$var

有什么建议吗?谢谢

更新

我的php表单是:

<div class="box-body">
<p class="help-block" style="text-align:center;color:#f00;">Alle velden moeten ingevuld worden!.</p>
<div id="addedSuccess" class="alert alert-success col-lg-12 col-md-12 col-sm-12 col-xs-12" style="text-align:center;display:none;"></div>
<div id="addedError" class="alert alert-danger col-lg-12 col-md-12 col-sm-12 col-xs-12" style="text-align:center;display:none;"></div>
<form id="frmAddTemplate" role="form" action="" method="post">
    <div class="form-group col-lg-6" style="float:none;margin:10px auto;">
        <input type="text" class="form-control" id="txtTemplateName" name="txtTemplateName" placeholder="De naam van de email template">
    </div>
    <div style="clear:both;"></div>
    <div class="form-group col-lg-6" style="float:none;margin:10px auto;">
        <input type="text" class="form-control" id="txtEmailFrom" name="txtFromEmail" placeholder="Sender (from email)">
    </div>

    <div class="form-group col-lg-6" style="float:none;margin:10px auto;">
        <input type="text" class="form-control" id="txtEmailSubject" name="txtEmailSubject" placeholder="Subject">
    </div>

    <div class="form-group">
        <textarea class="bs-texteditor form-control" rows="12" placeholder="Email content" name="txtEmailContent" id="txtEmailContent"></textarea><br />
    </div>
    <div id="pleaseWait" style="float:right;margin:4px 0 0 3px;display:none;"><img src="../img/ajax-loader-small.gif" title="Please wait"/></div>
    <button type="submit" class="pull-right btn btn-success" name="btnAddTemplate" id="btnAddTemplate"><i class="fa fa-plus-circle"></i>  Save template</button>
</form>
<div style="clear:both;"></div>
我的jquery和ajax调用是:

<script type="text/javascript">
        $(document).ready(function(e) {
            $(document).on("click", "#btnAddTemplate", function(e){
                var templateName = $("#txtTemplateName").val();
                var emailFrom = $("#txtEmailFrom").val();
                var emailSubject = $("#txtEmailSubject").val();
                var emailContent = $("#txtEmailContent").val();
                $.ajax({
                    url : "adding-new-template.php",
                    type: "POST",
                    data: {templateName : templateName, emailFrom : emailFrom, emailSubject : emailSubject, emailContent : emailContent, status : "insert"},
                    beforeSend: function(){
                        $("#pleaseWait").show();
                    },
                    success: function(msg){
                        $("#pleaseWait").hide();
                        if(msg == "Added"){
                            $("#addedSuccess").html("De tamplate is succesvol toegevoegd.").fadeIn(300).fadeOut(10000);
                        }else{
                            $("#addedError").html("Er is iets misgelopen. De template is niet succesvol toegevoegd.").fadeIn(300).fadeOut(8000);
                        }
                    },

                    error: function(){
                        $("#pleaseWait").hide();
                        $("#addedError").html("Er is iets misgelopen. De template is niet succesvol toegevoegd.").fadeIn(300).fadeOut(8000);
                    }
                });
                e.preventDefault();
            });
        });

    </script>
最后,我的adding-new-template.php代码是:

<?php
        session_start();
        include("config.php");
        global $kon;

        $templateName = $_POST["templateName"]; 
        $emailFrom = $_POST["emailFrom"];   
        $emailSubject = $_POST["emailSubject"]; 
        $emailContent = $_POST["emailContent"]; 
        $status = $_POST["status"];

        if($status == "insert"){
            if(mysqli_query($kon, "INSERT INTO emailtexts VALUES (NULL, '". $templateName ."', '". $emailFrom ."', '". $emailSubject ."', '". $emailContent ."')")){
                echo "Added";   
            }
        }else{
            if($status == "update"){

            }
        }
    ?>
我想添加的电子邮件内容是:

亲爱的

您的密码已更改。您的证件是:

用户名:$Username值New password=$password值

致意


İ相信在$var变量前面有额外的$sign,最终会添加

变量接受变量的值并将其视为变量的名称。在上面的示例中,hello可以使用两个美元符号作为变量的名称。i、 e

你可以试试

$var= "This is value of my variable";

$rez = mysqli_query($kon, "SELECT * FROM emailTexts WHERE id = 2");
$red = mysqli_fetch_assoc($rez);

echo "Test result : <br /><br />" . str_replace("$var", $var, $red["content"]);
但它并不是很灵活,您应该解释为什么需要在数据库中放置一个var

如果您正在寻找模板,您可以举以下示例:

<?php

function parse($text, $data)
{
    // Loop to replace all the variables known as : {{[a-z_]+}}
    while (preg_match("/{{(\w+)}}/", $text, $matches) == 1)
    {
        // Keeping trace of the text you're going to replace
        $str_to_replace = $matches[0];
        // Retrieving only the name of the variable
        $var_to_seek = $matches[1];
        // Assigning the variable found
        $new_var = "";
        if (isset($data[$var_to_seek]))
            $new_var = $data[$var_to_seek];
        // Replacing the variable in the original string.
        $text = str_replace($str_to_replace, $new_var, $text);
    }
    return $text;
}

$str = "Hello {{firstname}} {{name}}.{{unsetvar}} {{sentence}}";

echo parse($str, array("firstname" => "John", "name" => "Doe", "sentence" => "Templates are cool."));
//Output is "Hello John Doe. Templates are cool."

另外,在插入数据库之前,不要忘记转义您的值。

这样做行不通。我正在尝试制作电子邮件模板。因此,如果用户更改了密码,我希望能够编辑发送给他的电子邮件。但是在那封电子邮件中,我需要一些动态变量,比如密码和用户名。你应该尝试一个模板,然后我会编辑我的答案@BokyMy template system非常适合你,只需将$var更改为{{var}},并通过我的函数@Boky传递字符串。那么我应该如何向数据库添加变量,比如{var}或者?有可能看到您正在制作的模板吗?也许你没有把引号放在正确的位置,所以你最终得到的是$var而不是它包含的变量?告诉我们你不是通过电子邮件发送的。告诉我们您存储的是散列密码而不是纯文本密码。告诉我们这不是一个现场直播的网站。这不是一个实时站点。我试图解释我想做什么。那么,为什么每个人都在徒劳地编写你的脚本呢?听起来像是家庭作业。我讨厌别人说我没走那么远。。。否则此网站将不会公开。。。或者只是为了学校,所以安全不重要。。。。如果老师和教授从一开始就不谈论安全问题,那他们就是做错了。他们正在教授草率而危险的编码实践,学生们以后将不得不放弃这些实践。我也讨厌人们说,我以后会增加安全性。。。。如果你第一次没有时间做正确的事情,你什么时候能抽出时间来添加呢?