Wordpress表格要求repirstatus

时间:2015-05-18 10:42:06

标签: php wordpress

我正在重新启动朋友的IT商店的网站。在旧网站上,他现在有一张表格,供客户询问他们破损的电脑/笔记本电脑/智能手机等的维修状态。

新网站将成为一个wordpress网站。现在我不知道如何在wordpress中实现该表单。我知道在wordpress中有几个插件可以做联系表单,但我需要一个插件来检查数据库中输入的值,然后在页面中返回。

我可以以某种方式使用旧代码添加新页面模板并将其用于此站点吗?我应该使用旧代码还是应该使用插件?你知道一个可以在这种情况下工作的插件吗?

旧表格的代码如下所示:

<?php

$rnr = $_POST["rnr"];
$passwd = $_POST["passwd"];
$fehler = "";
$select="";  
$gefunden = 0;

if(($rnr.$passwd) != "")
{
    if($rnr == "")
        $fehler = "Kein Reparaturnummer angegeben";
    if($passwd == "")
        $fehler = "Kein Kennwort angegeben";

    if($fehler == "")
    {
        $knr="";
        $name1buchstabe="";
        $cid = mysql_connect("***", "***", "***") or die("!mysql_connect");
        mysql_select_db("***", $cid) or die("!mysql_select_db");
        $select = "select count(ReNummer) as gefunden from reparatur where ReNummer='".$rnr."' and concat(ReNummer, left(KuName,1), KuNummer)='".$passwd."' "; //???
        $result = @mysql_query($select) or die("!mysql_query\n".$select);

        if($next = mysql_fetch_array($result, MYSQL_ASSOC))
        {
            $gefunden = $next["gefunden"];
        }
        if($gefunden == 0)
        {
            $fehler = "Reparaturnummer oder Kennwort falsch<br>\n";
        }
        mysql_free_result($result);
        mysql_close($cid);
    }

}

if($gefunden == 0)
{
    if($fehler != "")
    {
        echo "<font  color='#FF0000'>".$fehler."</font>";
    }
?>

    <br><br>
    <form action="status.php" method="post" >

    <table  !border="1" >


    <tr>
     <td align="right"> Reparaturnummer:</td>
     <td>
    <input type="Text" name="rnr" value="<?php echo $rnr; ?>" size="" maxlength="">
     </td>
    </tr>

    <tr>
     <td align="right"> Kennwort:</td>
     <td>
    <input type="Password" name="passwd" value="<?php echo $passwd; ?>" size="" maxlength="">
     </td>
     </tr>
     <tr>
     <td>&nbsp; </td>
     <td align="right"><input type="Submit" name="" value="Anmelden"> </td>
    </tr>
    </table>

    </form>
<?php
}
elseif($gefunden == 1)
{
    $cid = mysql_connect("***", "***", "***") or die("!mysql_connect");
    mysql_select_db("***", $cid) or die("!mysql_select_db");

    $select = "select k.Name, k.Vorname, r.Defektbeschreibung, r.Materialkosten, r.Arbeitskosten, r.Gesamtkosten from kunde k, reparatur r where r.ReNummer='".$rnr."' and k.KuNummer=r.KuNummer";

    $result = @mysql_query($select) or die("!mysql_query\n".$select);
    if($next = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $kVorname= $next["Vorname"];
        $kName = $next["Name"];
        $rDefektbeschreibung = $next["Defektbeschreibung"];
        $rMaterialkosten = $next["Materialkosten"];
        $rArbeitskosten = $next["Arbeitskosten"];
        $rGesamtkosten = $next["Gesamtkosten"];

        if($rDefektbeschreibung != "")
            $rDefektbeschreibung = "<u>Defektbeschreibung:</u> ".$rDefektbeschreibung."<br><br>\n";

        if($rMaterialkosten != "0")
            $rMaterialkosten = "<u>Materialkosten:</u> ".number_format($rMaterialkosten,2, ",", ".")." &euro;<br><br>\n";
        else
            $rMaterialkosten = "";

        if($rArbeitskosten != "0")
            $rArbeitskosten = "<u>Arbeitskosten:</u> &nbsp;&nbsp;".number_format($rArbeitskosten,2, ",", ".")." &euro;<br><br>\n";
        else
            $rArbeitskosten = "";


        if($rGesamtkosten != "0")
            $rGesamtkosten = "<u>Gesamtkosten:</u> ".number_format($rGesamtkosten,2, ",", ".")." &euro;<br><br>\n";
        else
            $rGesamtkosten = "";


    }
    mysql_free_result($result);

    $select = "select date_format(Datum, '%d.%m.%Y %H:%i') as DDatum, MA, Status, Bemerkung from rep_status where ReNummer='".$rnr."' order by Datum desc";

    $result = @mysql_query($select) or die("!mysql_query\n".$select);

    echo $kVorname." ".$kName."<br>\n";
    echo "Reparaturnummer: ".$rnr."<br><br>\n";
    echo $rDefektbeschreibung;
    echo $rMaterialkosten;
    echo $rArbeitskosten;
    echo $rGesamtkosten;

    echo "<hr noshade size='1'>\n";
    echo "<table  !border='1' >\n";

    while($next = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        echo "<tr><td> <b>".$next["DDatum"]."</b> </td><td> &nbsp;".$next["Status"]." </td> </tr>\n";
    }
    echo "</table>\n";
    mysql_free_result($result);
    mysql_close($cid);

}

?>

谢谢你的答案!

问候, 琳达

1 个答案:

答案 0 :(得分:0)

您可以像在问题中提供的现有代码一样手动执行此操作。您只需为作业创建一个新的WordPress模板并粘贴您的代码。

但是 - 从我能看到的情况来看 - 你的代码看起来很糟糕。意大利面条代码,没有准备好的陈述和其他可能在15年前成为现有技术但今天不应该使用的东西。

您可以使用NinjaForms(http://docs.ninjaforms.com/category/25-actions)。它是一个免费的WordPress插件。使用操作可以挂钩表单提交的几乎每个方面,并检查输入的值是否有效。如果你想在此之外添加逻辑(有条件地显示或隐藏字段),你可以购买一个插件,或者只是在预算紧张的情况下使用jQuery。

如果钱不是问题,请选择GravityForms。与其他插件相比,它的成本相当高,但却提供了最多的功能。