我正在重新启动朋友的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> </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, ",", ".")." €<br><br>\n";
else
$rMaterialkosten = "";
if($rArbeitskosten != "0")
$rArbeitskosten = "<u>Arbeitskosten:</u> ".number_format($rArbeitskosten,2, ",", ".")." €<br><br>\n";
else
$rArbeitskosten = "";
if($rGesamtkosten != "0")
$rGesamtkosten = "<u>Gesamtkosten:</u> ".number_format($rGesamtkosten,2, ",", ".")." €<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> ".$next["Status"]." </td> </tr>\n";
}
echo "</table>\n";
mysql_free_result($result);
mysql_close($cid);
}
?>
谢谢你的答案!
问候, 琳达
答案 0 :(得分:0)
您可以像在问题中提供的现有代码一样手动执行此操作。您只需为作业创建一个新的WordPress模板并粘贴您的代码。
但是 - 从我能看到的情况来看 - 你的代码看起来很糟糕。意大利面条代码,没有准备好的陈述和其他可能在15年前成为现有技术但今天不应该使用的东西。
您可以使用NinjaForms(http://docs.ninjaforms.com/category/25-actions)。它是一个免费的WordPress插件。使用操作可以挂钩表单提交的几乎每个方面,并检查输入的值是否有效。如果你想在此之外添加逻辑(有条件地显示或隐藏字段),你可以购买一个插件,或者只是在预算紧张的情况下使用jQuery。
如果钱不是问题,请选择GravityForms。与其他插件相比,它的成本相当高,但却提供了最多的功能。